Dix conseils pour optimiser les performances de SQL Server Par Patrick O’Keefe
Dix conseils pour optimiser les performances de SQL Server Par Patrick O’Keefe et Richard Douglas Avant-propos L’optimisation des performances sur SQL Server est une opération qui peut s’avérer difficile. En effet, il existe énormément d’informations sur la manière de traiter les problèmes de performances de façon générale. Cela étant, il y a peu d’informations détaillées sur les problèmes spécifiques, et encore moins sur la façon d’appliquer ces connaissances à votre environnement. Ce document propose dix conseils permettant d’optimiser les performances de SQL Server, principalement SQL Server 2008 et 2012. Il n’existe aucune liste de référence regroupant les conseils les plus importants, mais en vous appuyant sur ce document, vous ne pouvez pas vous tromper. En tant qu’administrateur de base de données, vous avez très certainement votre façon de voir les choses ainsi que des conseils, astuces et scripts bien à vous. Alors, pourquoi ne pas vous joindre à la discussion sur SQLServerPedia ? Introduction Tenez compte de vos objectifs lors du réglage du système. Tout le monde veut optimiser ses déploiements SQL Server. Augmenter l’efficacité de vos serveurs de base de données libère des ressources système pour d’autres tâches, telles que les rapports métiers ou les requêtes ad hoc. Pour tirer le maximum des investissements en matériel de votre entreprise, vous devez vous assurer que la charge de travail SQL ou des applications fonctionnant sur les serveurs de la base de données s’exécute aussi rapidement et efficacement que possible. Toutefois, la façon dont vous effectuez vos réglages dépend de vos objectifs. Votre principale préoccupation est peut-être l’optimisation de l’efficacité de votre déploiement SQL Server, tandis que d’autres se préoccuperont davantage de la capacité d’évolution de leurs applications… Voici les principales façons de régler un système : • Réglage pour respecter les objectifs en termes de contrats de niveau de service (SLA) ou d’indicateurs clés de performance • Réglage afin d’améliorer l’efficacité et de libérer des ressources pour d’autres tâches • Réglage pour assurer une évolutivité, afin de conserver les contrats de niveau de service (SLA) ou les indicateurs clés de performance dans le futur Définir l’objectif Identifier les améliorations potentielles Classer les améliorations potentielles par ordre de priorité Identifier les mesures à suivre Créer ou mettre à jour la référence Vérifier une amélioration potentielle Modifier un composant (non production) Exécuter la charge de travail Effectuer un test des performances Y a-t-il une amélioration ? Déployer en production Réinitialiser l’état de départ Non Oui Optimisez l’extensibilité et l’efficacité de tous les serveurs de base de données, même si vos besoins professionnels actuels sont satisfaits. 2 N’oubliez pas que le réglage est un processus qui n’a rien de définitif. L’optimisation des performances est un processus continu. En effet, si les réglages de vos cibles en termes de contrat SLA peuvent être définitifs, ceux visant à améliorer l’efficacité ou à assurer une extensibilité ne le sont jamais vraiment. Ce type de réglages doit se poursuivre jusqu’à ce que les performances soient « suffisamment bonnes ». Quand, par la suite, les performances de l’application deviennent insuffisantes, il est nécessaire de reprendre ces réglages. Le sens du terme « suffisamment bonnes » dépend généralement des impératifs métiers, tels que les exigences en termes de contrats SLA ou de débit système. Au-delà de ces exigences, il est largement recommandé d’optimiser l’extensibilité et l’efficacité de tous les serveurs de base de données, même si tous vos besoins professionnels actuels sont satisfaits. À propos de ce document L’optimisation des performances sur SQL Server est une opération ardue. S’il existe quantité d’informations généralisées sur divers points de données (compteurs de performances et objets DMO (Dynamic Management Object), par exemple), on trouve en revanche très peu d’informations concernant l’utilisation de ces données et la façon de les interpréter. Ce document propose dix conseils importants qui vous seront utiles sur le terrain et qui vous permettront de transformer certaines de vos données en informations utilisables immédiatement. Conseil n° 10 : La méthodologie d’établissement d’une base de référence et de test des performances vous aide à détecter les problèmes Présentation du processus d’établissement d’une base de référence et de test des performances La figure 1 illustre les étapes du processus d’établissement d’une base de référence. Les sections suivantes expliquent les principales étapes de ce processus. Figure 1. Processus d’établissement d’une base de référence Les tests de performances vous aident à distinguer les comportements normaux de ceux qui ne le sont pas. Avant de commencer à apporter des modifications, analysez les performances actuelles de votre système. En matière de réglage et d’optimisation, nombreux sont ceux qui sont tentés de tout chambouler trop vite. Vous est-il déjà arrivé d’aller récupérer votre voiture au garage et de vous demander si elle ne marche pas moins bien qu’avant ? Vous aimeriez bien vous plaindre, mais vous n’en êtes pas vraiment sûr… Vous pouvez aussi vous demander si le problème que vous croyez avoir est de la faute du mécanicien ou s’il est survenu après la réparation. Cette situation peut malheureusement s’appliquer aux performances d’une base de données. La lecture de ce document va vous donner de nombreuses idées, et vous aurez envie d’implémenter votre stratégie d’établissement d’une base de référence et de test des performances au plus vite. La première étape (qui n’est pas la plus captivante, mais clairement l’une des plus importantes) consiste à mesurer les performances de votre environnement par rapport aux critères que vous souhaitez modifier. Déterminez vos objectifs. Avant de modifier quoi que ce soit dans votre système, déterminez vos objectifs. Y a-t-il dans votre contrat SLA des aspects à prendre en compte en matière de performances, de capacités ou de consommation des ressources ? Répondez-vous à un besoin actuel lié à la production ? Avez-vous reçu des plaintes concernant le temps d’accès aux ressources ? Définissez des objectifs clairs. Beaucoup d’entre nous ont de nombreuses instances et bases de données à gérer. Afin d’optimiser nos efforts, nous devons soigneusement prévoir ce dont un système donné a besoin pour qu’il fonctionne correctement et réponde aux attentes des utilisateurs. Si vous vous investissez trop dans l’analyse et le réglage, vous risquez de consacrer beaucoup trop de temps aux systèmes à faible priorité, au détriment de vos systèmes de production principaux. Ayez des objectifs clairs et précis en termes de réglage et de mesures. Faites de ces points votre priorité. Dans l’idéal, faites-vous aider par un commanditaire professionnel. 3 Établissez les standards Une fois que vous avez ciblé vos objectifs, vous devez déterminer comment vous mesurerez s’ils ont ou non été atteints. Quels sont les compteurs de système d’exploitation, compteurs SQL Server, mesures de ressources et autres points de données qui vous donnent les informations nécessaires ? Une fois cette liste établie, vous devez définir votre base de référence ou les performances habituelles de votre système par rapport aux critères que vous avez choisis. Vous devez collecter suffisamment de données sur une longue période pour obtenir un échantillon représentatif des performances du système. Une fois ces données collectées, faites une moyenne des valeurs sur l’ensemble de la période pour établir votre première base de référence. Après toute modification apportée à votre système, vous effectuerez un nouveau test des performances et comparerez les résultats au test d’origine afin de vous rendre compte objectivement des effets de vos modifications. Ne vous concentrez pas uniquement sur les valeurs moyennes, tentez aussi de déceler tout écart par rapport aux standards. Cela étant, il est important de bien analyser les valeurs moyennes. Calculez au moins l’écart type de chaque compteur pour avoir une indication de la variation dans le temps. Prenons l’exemple d’un alpiniste à qui l’on dit que le diamètre moyen de sa corde de rappel est d’un centimètre. C’est en toute confiance qu’il se laisse tomber. Il oscille quelques centaines de mètres au-dessus de gros rochers escarpés et sourit béatement. Puis on lui dit que la section la plus épaisse de sa corde est de deux centimètres, et que la plus fine est d’un millimètre. Oups… Si vous ne maîtrisez pas bien la notion d’écart type, plongez-vous dans un manuel de statistiques pour débutant. Inutile de faire des recherches approfondies, mais cela vous aidera à comprendre les bases. Pour résumer, ne vous concentrez pas uniquement sur les moyennes, examinez également les écarts moyens par rapport aux standards. Décidez quels doivent être ces standards (c’est généralement dans votre contrat SLA que vous trouverez la réponse). Votre but n’est pas d’obtenir les performances les plus élevées possible : il faut les adapter à vos objectifs et limiter les écarts par la suite. Tout le reste n’est Votre but n’est pas d’obtenir les performances les plus élevées possible : il faut les adapter à vos objectifs et limiter les écarts par la suite. 4 que du temps de perdu et pourrait même contribuer à la sous-utilisation des ressources de votre infrastructure. Quelle quantité de données faut-il pour établir une base de référence ? La quantité de données nécessaires à l’établissement d’une base de référence dépend du degré de variation de votre charge dans le temps. Consultez vos uploads/Management/ optimisation-sql-server.pdf
Documents similaires










-
36
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 14, 2021
- Catégorie Management
- Langue French
- Taille du fichier 1.8552MB