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

Astuces pour l'amélioration continue de la surveillance de la base de données

Les problèmes de performances de la base de données ne sont pas rares. Heureusement, il existe généralement une solution assez intuitive à la plupart des problèmes. La chose la plus importante qu'un administrateur de base de données puisse faire pour résoudre rapidement les problèmes et améliorer les performances de SQL Server est de s'assurer que votre stratégie de surveillance des performances est à jour et alignée sur vos besoins de surveillance de base de données. Si ce n'est pas le cas, il est temps d'agir.

La première étape pour améliorer la surveillance de votre base de données consiste à évaluer votre situation actuelle. Vous ne saurez pas où votre surveillance fait défaut ou si la surveillance améliore l'un de vos problèmes de performances si vous ne prenez pas une mesure de base de votre point de départ.

Pour définir vos performances de base, vous devrez évaluer la santé de vos bases de données SQL Server en vous posant quelques questions :

Les requêtes sont-elles optimisées ? Les requêtes peu performantes sont un moyen sûr de ralentir les performances. Il existe de nombreuses astuces que vous pouvez essayer pour nettoyer vos requêtes, mais votre meilleure option consiste à implémenter un optimiseur de requêtes qui analysera et réécrira vos requêtes jusqu'à ce qu'il en trouve une plus rapide.

Les index sont-ils en bon état ? Une indexation effectuée correctement est censée accélérer la récupération des données. Cependant, certains problèmes courants peuvent ralentir les performances, notamment des paramètres de facteur de remplissage inefficaces et des fractionnements de page. Le meilleur moyen d'éviter ces problèmes de performances est de ne pas définir de valeur de facteur de remplissage à l'échelle du système et d'examiner les besoins de chaque index individuellement.

Est-ce que beaucoup de données sont fragmentées ? Les données fragmentées affectent les performances en mettant trop d'espace vide sur une page ou en provoquant l'ajout de pages. Le serveur doit analyser et rechercher les données fragmentées, ce qui ralentit l'exécution de la base de données. L'exécution de Rebuild ou Reorganize peut nettoyer la fragmentation.

Est-ce que quelque chose consomme du CPU ? Les bases de données ralentissent lorsque le processeur est sollicité par plusieurs ressources. Évaluez la charge du processeur et déterminez si le problème est que vous devez ajouter plus de processeur ou s'il existe des ressources inefficaces utilisant plus de processeur qu'elles ne le devraient.

Une fois que vous aurez un aperçu de la ligne de départ, vous aurez une meilleure idée des types d'améliorations de surveillance sur lesquelles vous devez vous concentrer. Voici cinq façons d'améliorer la surveillance de votre base de données SQL Server.

1. Évaluez vos intervalles de surveillance et purgez les données aussi fréquemment que possible

Les outils de surveillance des performances offrent une infinité de choix pour les métriques à surveiller, quand extraire les données et combien de temps conserver les données. Si vous surveillez plusieurs instances, la quantité de données que vous collectez est potentiellement stupéfiante (et coûteuse à stocker).

Pour conserver vos données à un niveau gérable, ne collectez pas les données plus souvent que nécessaire et ne conservez les données que le temps nécessaire pour repérer les tendances. Une fois que vous avez enregistré quelque chose d'intéressant, archivez ou supprimez les données.

2. Vérifiez que vos requêtes fonctionnent efficacement

Il existe de nombreux endroits où les problèmes de performances peuvent se cacher dans SQL Server. Étant donné que les applications de base de données exécutent fréquemment des requêtes SQL, l'évaluation de l'état de vos requêtes est un excellent point de départ pour éliminer les problèmes.

Par exemple, la surveillance des performances des requêtes au fil du temps vous aidera à isoler celles qui utilisent plus de ressources que la normale. Une fois que vous avez identifié les requêtes problématiques, vous pouvez exécuter chaque requête pour déterminer la source spécifique du problème et la corriger.

3. Examiner les compteurs et les paramètres Perfmon

SQL Server Performance Monitor (Perfmon) est un outil précieux qui aide les DBA à isoler les points faibles de leurs bases de données SQL Server. Perfmon vous permet de configurer des compteurs de performances pour chacun de vos serveurs afin d'identifier les goulots d'étranglement du processeur, les performances des disques, les problèmes de mémoire et bien plus encore.

Cet article de Brent Ozar explique comment commencer à utiliser Perfmon et décrit quelques bonnes pratiques.

4. Configurez vos alertes en fonction de la gravité

Bien qu'il existe de nombreuses configurations d'alertes disponibles, il est préférable d'être sélectif lors de la configuration des alertes afin de ne pas succomber à la fatigue des alertes. Une bonne règle empirique consiste à configurer des alertes pour les problèmes de gravité 17 ou plus et pour les messages d'erreur 823, 824 et 825, en d'autres termes, les problèmes qui peuvent entraîner la mise hors ligne de vos serveurs, une grave corruption des données ou une perte de données.

5. Profitez de toutes les fonctionnalités de gestion des alarmes offertes par votre outil de surveillance des performances SQL Server

Les solutions de surveillance SQL Server offrent un large éventail de fonctionnalités de gestion. Prenez le temps de vous familiariser avec les fonctionnalités de votre outil et assurez-vous de tirer le meilleur parti de votre investissement.

Certaines fonctionnalités à rechercher qui vous aideront à améliorer votre processus de surveillance des performances sont :

Règles : Vous permet de personnaliser quelles alarmes sont déclenchées et quand

Diagnostic : Vous indique qu'il y a un problème, puis propose des solutions possibles

Priorité des problèmes : Concentre d'abord votre attention sur les problèmes les plus graves

Alertes mobiles : Vous permet d'accéder, d'évaluer et de commencer à trier les alarmes de n'importe où et à tout moment

Réduction du bruit : Vous aide à éviter la lassitude des alarmes en ne recevant que les notifications dont vous avez besoin