Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Mesurez-vous les performances de SQL Server avec ces métriques ?

Les performances des applications et du système jouent un rôle énorme dans la façon dont un utilisateur perçoit la valeur de votre produit et la compétence de votre entreprise. Si la même page expire constamment ou si l'accès à un rapport critique prend une éternité, les performances de votre système de base de données créeront un problème de confiance pour votre organisation.

Une haute disponibilité et des performances fiables sont essentielles pour satisfaire les clients et les utilisateurs du système interne, et elles peuvent même affecter votre résultat net. Avec ces objectifs à l'esprit, la mise en œuvre d'une stratégie complète de surveillance des performances de SQL Server est indispensable.

Avantages de la surveillance des performances de SQL Server

L'avantage le plus souvent vanté de la surveillance des performances est la facilité de dépannage et de résolution des problèmes. Un outil de surveillance SQL Server bien configuré est le moyen le plus efficace pour détecter et résoudre rapidement les problèmes de serveur et de base de données avant qu'ils n'affectent les utilisateurs finaux ou ne deviennent des problèmes importants et coûteux.

En plus de maintenir l'intégrité du système, la mise en œuvre de la surveillance des performances de SQL Server peut vous aider à réduire vos coûts d'infrastructure. Un exemple est les dépenses de stockage inutiles. Lorsque les performances de SQL Server sont optimisées, la croissance de la taille des fichiers est surveillée en permanence. Une augmentation excessive de la taille du fichier déclenche une alerte afin que le problème puisse être résolu avant que l'espace disque ne soit épuisé et que des ressources supplémentaires ne soient affectées au problème.

Et si vous optez pour une solution de surveillance basée sur le cloud, vous pouvez encore augmenter le retour sur investissement en disant adieu aux dépenses d'hébergement et de maintenance des serveurs physiques.

Suivre ces métriques pour améliorer les performances de votre serveur SQL

Nous savons que la surveillance des performances de SQL Server est une excellente stratégie pour résoudre les problèmes et économiser de l'argent, mais vous ne tirerez pas pleinement parti de votre outil de surveillance SQL Server si vous ne suivez pas les bonnes métriques. Pour obtenir des performances optimales de SQL Server, voici cinq domaines que vous voudrez surveiller et les métriques les plus importantes à suivre pour chacun.

1. Cache tampon

Le cache tampon stocke des copies des pages de base de données récemment utilisées. SQL Server regarde d'abord dans le cache, mais s'il n'y trouve pas ce qu'il cherche, il va sur le disque. La lecture à partir du disque est lente, ce qui peut affecter négativement les performances.

Taux d'accès au cache

Le taux d'accès au cache indique la fréquence à laquelle SQL Server accède aux pages du cache. Des valeurs plus élevées indiquent que les pages ont été accédées depuis la mémoire et non depuis le disque. Si vous constatez constamment un faible taux d'accès au cache, recherchez un goulot d'étranglement dans la mémoire système.

Espérance de vie des pages

La surveillance de l'espérance de vie des pages montre combien de temps une page reste en mémoire au lieu d'aller sur le disque. Plus la durée de vie de la page est longue, meilleur est le taux d'accès au cache.

Pages de point de contrôle/seconde

SQL Server configure des points de contrôle pour libérer de l'espace dans le cache du tampon en vidant périodiquement les pages modifiées du tampon vers le disque. Le nombre de pages vidées dépend des paramètres de configuration et de l'utilisation du serveur, il est donc important de définir une base de comparaison. Si vous remarquez une augmentation du nombre de pages vidées, il se peut que vous ayez un problème d'E/S.

2. Index

Les index de base de données permettent d'accélérer les opérations dans les tables contenant de nombreux enregistrements. Bien que les index soient un outil utile pour améliorer certaines fonctions de base de données, il existe des problèmes inhérents aux index qui peuvent dégrader les performances s'ils ne sont pas détectés rapidement.

Fragmentation

La fragmentation d'index se produit lorsque des enregistrements sont ajoutés et supprimés. Au fil du temps, ces modifications entraînent des problèmes de performances en laissant trop d'espace vide sur trop de pages et en ajoutant de nouvelles pages dans le désordre. Cela peut ralentir les analyses et utiliser une mémoire excessive.

La surveillance de la fragmentation de l'index vous indiquera quand vous devez exécuter Rebuild ou Reorganize sur un index pour corriger la fragmentation et améliorer les performances.

Facteur de remplissage et divisions de page

Le paramètre de facteur de remplissage permet à vos index de connaître le niveau de remplissage de chaque page. Si une page est trop pleine, des fractionnements de page se produisent; si une page n'est pas assez complète, vous gaspillez des ressources.

Le suivi des fractionnements de page peut aider à identifier quand un ajustement du facteur de remplissage est nécessaire. Pour des performances optimales, ne définissez pas de valeur de facteur de remplissage à l'échelle du système. Évaluez les index individuels et définissez le facteur de remplissage à un niveau approprié pour chacun.

3. T-SQL

Pour optimiser les performances, SQL Server regroupe les instructions SQL, puis les compile dans des plans d'exécution et les met en cache pour les réutiliser. Si SQL Server ne peut pas réutiliser le plan d'exécution, le plan est recompilé, ce qui utilise beaucoup de CPU et dégrade les performances. Par conséquent, il est préférable de limiter autant que possible le nombre de recompilations d'instructions SQL.

La surveillance des taux de compilation et de recompilation SQL indiquera si vous devez reconfigurer certaines zones, telles que les procédures stockées et les paramètres de requête.

4. Blocage

Le blocage de SQL Server est causé par plusieurs clients et processus demandant l'accès aux mêmes ressources en même temps. Si une ressource est déjà utilisée, l'accès est verrouillé et la ressource n'est pas disponible pour les demandes ultérieures. Cela met le processus en attente jusqu'à ce que la ressource soit libérée et disponible à nouveau.

Le verrouillage attend

Les requêtes n'ont normalement pas à attendre sur les verrous, donc cette métrique doit rester autour de zéro. Une augmentation des attentes de verrouillage indique un problème de temps de chargement, vous devrez donc rechercher la cause première du problème.

Processus bloqués

Le suivi des processus bloqués est un bon moyen d'éviter de nombreux e-mails vous informant d'un processus bloqué. Utilisez SQL Server Profiler pour capturer des données sur les processus bloqués et examinez régulièrement le rapport.

5. Utilisation des ressources

Le suivi des métriques d'utilisation des ressources est un moyen efficace non seulement d'identifier les problèmes de performances, mais également d'aider à la planification des capacités.

Nombre de lignes

La surveillance du nombre de lignes fournit un aperçu direct et facilement traçable du volume de données associé à une certaine table au fil du temps. Une augmentation ou une diminution inattendue du nombre de lignes doit inciter à rechercher la cause.

E/S de fichier de base de données

En mesurant les métriques d'E/S par rapport aux fichiers de base de données, vous pouvez suivre la quantité de données écrites et lues par un fichier de données donné. Si vous observez un problème potentiel, cette métrique peut aider à affiner la cause première. Le suivi des E/S des fichiers de base de données facilite également la planification de l'infrastructure, car il peut vous aider à prévoir le débit futur des données et à ajuster les ressources en conséquence.

Taille de sauvegarde du journal des transactions

Lorsqu'un serveur tombe en panne en raison d'une surcharge, SQL Server utilise les enregistrements du journal de la base de données stockés dans les fichiers journaux virtuels (VLF) pour effectuer la récupération. Il est important de surveiller le nombre de VLF dans le journal des transactions, car un trop grand nombre peut ralentir les processus de récupération lors de la restauration après une panne.

La surveillance des performances de SQL Server est un élément crucial de la stratégie de contrôle qualité d'une organisation. Le suivi de quelques métriques de performance clés peut vous donner la réputation de fournir à vos utilisateurs un système sur lequel ils peuvent avoir confiance et compter ; ne pas le faire peut faire de votre système une autre application boguée que les utilisateurs redoutent.