Y a-t-il une raison de NE PAS utiliser l'approche que vous avez définie? Absolument.
Imaginez que vous ayez acheté une voiture - une voiture qui, lorsque vous atteignez 50 mi / h, le moteur commence à surchauffer. Souhaitez-vous réagir à cette situation pour limiter artificiellement la voiture à 49 MPH, ou pour découvrir quel est le problème avec le moteur?
Pourquoi devriez-vous limiter votre voiture à 49MPH? Le fabricant a déclaré qu'il pouvait rouler aussi vite que 80 MPH - vous aimez conduire votre voiture rapidement, donc vous voulez l'amener à cette vitesse - sans ce putain de problème de surchauffe.
La voiture que vous avez achetée était aussi vraiment, vraiment chère. Chaque cylindre du moteur doit être utilisé au maximum pour ne pas gaspiller cet argent!
En limitant artificiellement l'accès des serveurs SQL au processeur, vous manquez les performances. Vous pouvez avoir résolu temporairement les problèmes de performances en vous assurant que le processeur est disponible pour le système d'exploitation, mais vous n'avez pas répondu à la vraie question - POURQUOI SQL Server utilise-t-il 100% du processeur?
Mon conseil est le suivant:
Découvrez quel est le vrai problème et corrigez-le. Ne couvrez pas le problème avec ce qui est effectivement un coup de coude. La question FERA réapparaît et vous gifler face à la ligne lorsque la charge de travail du serveur augmente naturellement avec la croissance.
En tant que correctif temporaire , le gouverneur de ressources peut être utilisé pour réduire le processeur utilisé, JUSQU'À CE QUE VOUS TROUVEZ LE VRAI PROBLÈME.