7 votes

Triage des performances de SQL Server ?

Si vous recevez un appel/une page concernant un problème de performance du serveur SQL, que faites-vous en premier ?

Commencer une trace ? Afficher Perfmon ? Ouvrir le moniteur d'activité ?

Chacun de ces outils est utile, mais quelle est votre "séquence" de dépannage ?

1voto

doekman Points 5187

Isoler le problème

  1. Vérifiez que le réseau est correct
  2. Vérifiez que la machine serveur n'est pas malmenée.
  3. Vérifiez le journal des événements
  4. Vérifier si les ressources du serveur sql sont verrouillées ( sp_lock o sys.dm_tran_locks )

Avoir isolé une proc ou une vue stockée

  1. Vérifiez les problèmes évidents dans le code, par ex. @tables devrait être #tables
  2. Vérifiez le plan d'exécution de scans qui devrait être seeks
  3. Isoler le SQL qui s'exécute le plus lentement
  4. Activez les statistiques IO et CPU ( SET STATISTICS IO ON etc.) pour obtenir des chiffres de performance de base
  5. Frigger autour avec le SQL, les index, etc.
  6. Mesurez à nouveau les performances IO et CPU
  7. Si l'amélioration n'est pas suffisante, passez à l'étape 5, sinon passez à l'étape de la publication.

1voto

Bernie Perez Points 5091

Pour ajouter à la liste :

Cherchez dans le journal des erreurs :

  • indices de corruption (823s, 824s, 825s)
  • indications de problèmes de perforation d'E/S (E/S prenant plus de X erreurs)
  • problèmes de contention des verrous im tempdb
  • L'ensemble de travail du serveur SQL est mis en page sur une machine 64 bits.

Vérifier la fragmentation de l'index. Vérifiez que la croissance automatique est correctement configurée et que l'initialisation instantanée est activée. Vérifiez que l'auto-réduction n'est pas activée.

J'ai beaucoup d'informations à ce sujet sur mon blog. Je peux vous fournir des liens si vous le souhaitez.

0voto

Joe Ludwig Points 1941

Cela dépend du problème, mais la première chose que je fais normalement est de regarder le code pour voir s'il est la cause de l'inefficacité. Je vérifie ensuite les tables concernées et m'assure qu'elles ont tous les index appropriés, etc.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X