1 votes

Utilisation de SQL Profiler sur une base de données en production

En tant que développeur, j'utilise SQL Profiler assez souvent. C'est un bon outil de débogage, à la fois pour suivre ce que fait mon code et pour analyser les problèmes de performance.

Mais je l'ai toujours utilisé sur mon environnement de développement, et de manière très contrôlée.

  • Démarrer mon application, et la mettre dans un état spécifique
  • Démarrer le profileur
  • Effectuer une séquence spécifique d'actions sur mon application
  • Arrêtez le profileur et examinez les résultats.

Le SQL Profiler peut-il être utilisé de manière pratique dans un environnement de production ?

Ma première crainte est que cela ne dégrade les performances.

Ma deuxième préoccupation est que, parce que c'est en production, vous ne déclenchez pas les actions intéressantes elles-mêmes. Il faudrait laisser le profileur fonctionner pendant une longue période puis analyser les résultats. L'ensemble des résultats ne deviendrait-il pas trop lourd (il prendrait trop d'espace disque et serait trop difficile à interroger) ?

Est-ce que quelqu'un utilise le SQL Profiler en production ?


Divulgation complète : j'ai posté la même question sur le site bêta des administrateurs de bases de données . Les membres de Serverfault qui veulent soutenir le site DBA stackexchange ont la possibilité de répondre à la question là plutôt qu'ici.

0 votes

Duplicata possible de serverfault.com/questions/176501/

3voto

gbn Points 5979
  1. Oui, l'acte de surveillance nécessitera certaines ressources. L'exécuter sur un serveur surchargé pourrait le tuer.

  2. Vous surveillerez réellement la charge de la vie réelle : vos actions pourraient se perdre dans le bruit de cette charge.

Nous l'utilisons parfois en production. Principalement avec un filtre texte pour un code spécifique, ou avec des filtres CPU/durée pour piéger les exécutions prolongées. Et nous n'essayons pas de capturer des plans d'exécution XML ou d'autres absurdités de ce genre.

L'essentiel est de savoir ce que l'on recherche : on n'a pas tendance à laisser tourner le moteur et à tout piéger.

Dans ce cas, si vous voulez voir les résultats de certaines actions, pouvez-vous le faire en dehors des heures de travail ?

1 votes

Je suis d'accord avec gbn, il nécessite définitivement des ressources, donc vous devrez être prudent lors de son exécution. Nous l'utilisons généralement avec un filtre sur le login pour déboguer l'action ou les actions d'un utilisateur particulier pour un problème spécifique. Nous exécutons aussi périodiquement une trace pour toute la journée afin de recueillir des informations. Ce genre d'opération doit absolument être programmé les jours où la charge est plus faible et doit être surveillé de très près. Il est également utile d'enregistrer la charge dans des fichiers locaux sur un autre ordinateur, puis de traiter les données par la suite.

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