web-dev-qa-db-fra.com

SQL Server CPU Spikes - éventuellement sans interrogation - Indicateurs suggérés

Je cherche des suggestions d'indicateurs que je pourrais surveiller pour découvrir ce qui cause ces "pointes émoussées" de la CPU.
enter image description here Quelques informations connues:

  • sqlserver.exe est confirmé comme le processus consommant la CPU (édition standard R2 2008).
  • C'est de nature très intermittente. Ne peut pas l'épingler à une requête particulière. Les traces de profileur ne semblent montrer aucune corrélation. En fait, il semble que toutes les questions soient faites pour attendre pendant la pointe, mais il semble intéressant de constituer une corrélation avec une file d'attente de courtier de service avec un arriéré de messages en cours de traitement.
  • Le courtier de service est utilisé uniquement pour l'exécution de procédures stockées intra-bases de données asynchrones, avec une utilisation intensive des fonctions CLR.

Je soupçonne une sorte de fil de fond ou de processus "rattrapage", mais je n'ai pas encore été capable de l'épingler.

4
Andy Rowlings

La première chose que je vous suggère de vérifier est votre "degré de parallélisme maximal" via sp_configure. Par défaut, ceci est défini sur 0, une requête parallèle consommera toute la CPU sur la case (jusqu'à 64 threads) jusqu'à ce qu'il finit si ce réglage est inchangé. J'ai vu cela survenir sur plus de systèmes que je me soucie d'admettre que ma carrière et qu'il a tendance à être encore plus frustrant sur les plus grands serveurs (avec un plus grand nombre de processeurs). Si cela est défini sur la valeur par défaut de 0, la recommandation de la MS sur ce que cela devrait être trouvé ici: http://support.microsoft.com/kb/2806535

Si c'est un serveur plus petit avec très peu de processeurs (par exemple 1 ou 2), il pourrait s'agir de quelque chose d'aussi trivial que les statistiques de mise à jour automatiquement à la mise à jour, cependant que cela aurait été rare ... mais rare arrive toujours. Vous devriez vérifier si c'est le coupable via une trace du profileur à être certain.

2
John Eisbrener