2008-09-18 26 views
0

J'ai quelques bases de données sur une instance de cluster SQL Server 2005 partagée, sur laquelle j'aimerais que les métriques de performance. J'ai des processus qui durent très longtemps et je soupçonne que l'inefficacité du code, plutôt qu'un matériel insuffisant, est à blâmer.Comment pouvez-vous obtenir des mesures de performance spécifiques à la base de données pour des choses comme CPU/mémoire/etc. dans SQL Server 2005?

Je voudrais trouver un moyen d'obtenir ces métriques de performance afin que je puisse exclure le matériel de base de données en tant que coupable.

Répondre

1

C'est difficile ... vous pouvez utiliser le moniteur de performance pour suivre le matériel et les facteurs du système d'exploitation - comme l'utilisation du processeur, la mémoire; et aussi divers compteurs SQL Server comme les requêtes par seconde. Évidemment, l'utilisation de la mémoire vous dira si vous avez besoin de plus de RAM, mais ce n'est pas si facile de dire si (par exemple) l'utilisation élevée du processeur est due au code inefficace, ou simplement au code intensif. Certains des compteurs sont plus utiles pour résoudre les problèmes de performance - des choses comme les verrous dans la base de données peuvent être comptés, le problème est que vous ne pouvez pas dire combien il y en a trop parce que tout le code fonctionne différemment. Vous pouvez dire si vous en connaissez beaucoup trop ou si les périodes de lenteur correspondent à de grands nombres. Ceci s'applique également à d'autres compteurs - allez voir ce qu'il y a à voir.

L'autre chose à faire est d'exécuter une trace (outils serveur sql) pour obtenir une liste des requêtes qui sont exécutées. Prenez quelques-unes des plus lentes/plus grandes et voyez quels plans d'exécutions sortent quand vous les exécutez - ceci suggérerait que vous puissiez optimiser les requêtes, bien qu'il soit à vous de décider si le code est inefficace ou juste intensif comme avant. Enfin, procurez-vous un outil tel que Spotlight qui affiche de nombreuses statistiques de base de données et vous les affiche en détail.