Les bases de données hautes performances et haute disponibilité sont l'objectif de chaque administrateur de base de données SQL Server, mais la réalité est que les performances des bases de données ne sont pas toujours optimales. Les temps de réponse lents, les délais d'attente et les processeurs embourbés arrivent aux meilleurs d'entre nous, ce qui fait de la configuration stratégique des diagnostics SQL Server une étape cruciale pour maintenir un système efficace et qui fonctionne bien.
Les diagnostics SQL Server découvriront les problèmes de performances liés à l'utilisation de la mémoire, à la vitesse et à l'efficacité des requêtes, ainsi qu'à l'utilisation du processeur, ce qui vous aidera à identifier et à résoudre rapidement les problèmes avec un effet minimal sur les performances. Pour minimiser davantage les impacts sur les performances, vous pouvez créer une stratégie de surveillance des performances qui inclut le suivi des données de diagnostic au fil du temps pour découvrir les problèmes difficiles à localiser et prévoir les futurs problèmes de performances avant qu'ils ne surviennent.
Pour obtenir les informations les plus précieuses de vos diagnostics SQL Server, il est important d'identifier d'abord ce que vous espérez apprendre des données afin de surveiller les mesures de performances les plus pertinentes. Voici quatre conseils pour vous aider à démarrer.
Objectif de diagnostic :surveiller les performances de la base de données pour les environnements sur site, virtuels et cloud
Que vos bases de données soient hébergées sur site, dans le cloud ou dans un environnement hybride, la surveillance des performances des bases de données dans ces cinq domaines vous alertera sur certains des problèmes de performances les plus courants :
- Disponibilité :le maintien d'une haute disponibilité est l'une des principales priorités du DBA. Le suivi des données du journal du cluster de basculement et de l'état actuel du serveur est essentiel pour détecter et corriger rapidement les problèmes.
- Utilisation de TempDB :gardez un œil sur la quantité de TempDB que vous utilisez et sur la manière dont elle est utilisée. Il est également conseillé de créer une ligne de base TempDB et d'extraire les données de performances avant et après les modifications.
- E/S :les diagnostics de SQL Server découvriront les opérations d'E/S bloquées susceptibles de provoquer des blocages et d'autres problèmes de performances.
- Utilisation du processeur :une utilisation élevée du processeur peut être causée par plusieurs facteurs. Utilisez les diagnostics SQL Server pour isoler la cause première. Cette liste de contrôle peut vous orienter dans la bonne direction.
- Utilisation de la mémoire :si vous n'optimisez pas l'utilisation de la mémoire, vous rencontrerez des problèmes de performances à un moment donné. Exécutez des diagnostics pour déterminer quels processus utilisent plus que leur part de mémoire et optimisez-les ou réécrivez-les si nécessaire.
Objectif du diagnostic :trouver les causes des blocages et des blocages
Les blocages et les interblocages sont les principaux tueurs de performances. Il est donc essentiel de diagnostiquer la cause des blocages et de résoudre rapidement le problème pour maintenir des performances élevées. Plusieurs sources courantes de blocages et de blocages peuvent être éradiquées grâce à ces trois pratiques :
- Examinez les requêtes et les plans de requête :les requêtes longues et les plans de requête inefficaces contribuent aux blocages et aux interblocages. Les diagnostics peuvent identifier les requêtes qui peuvent être décomposées en plusieurs transactions courtes et quels plans de requête ne sont pas optimisés en raison de statistiques obsolètes.
- Analyser la charge de travail :une augmentation de la charge de travail peut entraîner des blocages, car davantage de processus se disputent les mêmes ressources. Les diagnostics peuvent identifier l'utilisateur, la base de données, l'hôte ou l'instruction SQL Server à l'origine du blocage ou de l'interblocage afin que vous puissiez redistribuer la charge de travail selon vos besoins.
- Vérifier les index :une bonne indexation peut empêcher les blocages en supprimant la nécessité d'effectuer des analyses complètes de la table. En permettant à SQL Server de rechercher plutôt que d'analyser, l'indexation maintient les ressources non verrouillées accessibles.
Objectif du diagnostic :traiter les fausses alertes
Les fausses alertes sont plus qu'ennuyeuses; ils contribuent à des problèmes de performances non détectés via la fatigue des alarmes. La fatigue des alarmes se produit lorsque de fréquentes fausses alarmes amènent un administrateur de base de données à ignorer les alertes, manquant potentiellement une notification indiquant qu'une défaillance critique s'est produite.
Le meilleur moyen d'arrêter les fausses alertes consiste à diagnostiquer les sources des fausses alertes récurrentes et à supprimer les alertes non critiques ou à définir des seuils qui spécifient étroitement les conditions qui déclenchent une alerte.
Objectif du diagnostic :optimiser les requêtes SQL
L'exécution de diagnostics SQL Server réguliers sur les requêtes permet de réduire ou d'éliminer une multitude de problèmes de performances potentiels. Vous pouvez améliorer les requêtes basées sur les diagnostics SQL Server de deux manières :
- Optimisation des requêtes :si votre outil de surveillance des performances de SQL Server indique qu'un rapport prend du temps à être généré, qu'il y a eu un énorme pic d'attente d'E/S récemment ou que certaines tâches prennent trois fois plus de temps à s'exécuter que ils l'ont fait il y a un an, les diagnostics peuvent indiquer que le réglage de la requête est en ordre. L'optimisation des requêtes améliore les performances en analysant les requêtes, puis en les réécrivant si nécessaire jusqu'à ce qu'elles s'exécutent à leur niveau d'efficacité maximal.
- Mise à jour des statistiques :comme mentionné ci-dessus, les statistiques obsolètes contribuent aux problèmes de performances en déclenchant des plans de requête inefficaces. Planifiez des mises à jour automatisées dans la mesure du possible. Lorsque l'automatisation n'est pas possible, ajoutez des mises à jour manuelles à votre liste de contrôle de maintenance régulière pour vous assurer que les statistiques restent à jour.
Les diagnostics SQL Server sont un outil essentiel dans la boîte à outils du DBA. Comprendre comment les diagnostics contribuent à maintenir un environnement de base de données SQL Server fiable et à haute disponibilité vous aidera à trouver et à résoudre rapidement les problèmes de performances avec un impact minimal sur vos utilisateurs.