Articles

Réglage des performances des bases de données SQL Server

Posted on

Vous êtes un développeur, un DBA ou un sysadmin coincé avec des requêtes qui s’exécutent longtemps dans SQL Server, et vous devez faire du réglage des performances de SQL Server. Nous allons vous apprendre le réglage de SQL dans une série de tutoriels faciles et gratuits :

  1. Mesurer la vitesse actuelle du serveur.
  2. Régler les performances des requêtes.
  3. Régler les performances des index.
  4. Régler les performances des paramètres de SQL Server.
  5. Régler les performances du matériel.
  6. Enfin, si vous devez acheter de nouveaux serveurs, obtenez une liste de contrôle de configuration des meilleures pratiques, et effectuez des tests de charge avant la mise en service.

Entrez dans les détails de chaque étape.

Mesurer les performances de SQL Server

Lorsque les utilisateurs viennent vous dire que leurs requêtes sont lentes, vous ne voulez pas les croire sur parole : vous voulez savoir exactement quelles requêtes sont lentes, et pourquoi. Commençons par

  • sp_BlitzFirst® – cet outil gratuit est comme le compteur de vitesse de SQL Server. Il vous montre à quelle vitesse SQL Server va, et quels types d’attente vous empêchent d’aller plus vite.
  • Tutoriel Perfmon SQL Server – comment configurer Perfmon, quels compteurs Perfmon SQL Server suivre, et ce que signifient les indicateurs.
  • Regardez Brent régler les serveurs – lors du Microsoft Ignite 2015, il a pris plusieurs charges de travail SQL Server, a trouvé le goulot d’étranglement, puis a modifié divers paramètres pour des corrections rapides.

Ensuite, avant de commencer à modifier les choses, demandez quelles parties du serveur vous êtes autorisé à modifier. Le Manager’s Guide to Tuning SQL Server vous donne une liste de contrôle simple des parties que vous pouvez fignoler, modifier ou remplacer complètement.

Comment optimiser les requêtes SQL

Si vous avez une application interne, et que vous êtes autorisé à faire de l’optimisation de requêtes, voici quelques façons de trouver les requêtes les plus longues dans SQL Server, puis comment augmenter leurs performances. Tout d’abord, nous devons trouver les requêtes à optimiser, et voici les outils d’optimisation des performances des requêtes que j’utilise :

  • Pour trouver vos requêtes à long fonctionnement global, utilisez le script gratuit sp_BlitzCache. Vous n’avez pas besoin d’installer quoi que ce soit à l’avance, et il fonctionne sur toutes les versions prises en charge de SQL Server à partir de 2008. (Il fonctionne même dans le cloud.)
  • Pour connaître les requêtes en cours d’exécution les plus longues en ce moment, exécutez sp_BlitzWho. Il affiche les requêtes de la plus longue à la plus courte, et vous donne leurs plans d’exécution.

Vous remarquerez que je n’ai pas dit d’attraper les requêtes à exécution lente avec SQL Profiler. Profiler n’est pas un bon moniteur de performances de SQL Server : il provoque en fait une exécution plus lente de toutes les requêtes. Vous êtes tellement mieux d’utiliser le cache de plan comme indiqué ci-dessus.

Une fois que vous avez trouvé les requêtes SQL coûteuses que vous devez régler, voici mes conseils préférés pour le réglage des performances :

  • Voir Brent régler des requêtes – vous vous êtes déjà demandé comment quelqu’un d’autre le fait ? Regardez par-dessus l’épaule de Brent dans ce tutoriel SQL Server gratuit.
  • 7 choses que les développeurs devraient savoir sur SQL – notamment pourquoi les fonctions sont rarement performantes, pourquoi WITH NOLOCK ne signifie pas qu’il n’y a pas de verrouillage, et plus encore.
  • Comment mesurer les améliorations de performances – Kendra explique comment utiliser les statistiques de SSMS.
  • Comment lire les plans d’exécution des requêtes et les régler pour qu’elles aillent plus vite.

Comment faire le réglage des performances des index

Si vous n’êtes pas autorisé à optimiser les requêtes SQL, mais que vous devez quand même les accélérer, alors vous devrez peut-être concevoir des index non groupés et des index de recouvrement. Cela peut augmenter les performances d’une requête SQL sans

vouloir rendre les structures de la base de données plus efficaces pour que SQL Server travaille moins, voici nos ressources :

  • sp_BlitzIndex® – exécutez ceci dans votre base de données pour un contrôle de sanité gratuit. Il montre les index manquants, les index inutilisés, les doublons, les tas et plus encore, et explique pourquoi ils tuent vos performances.
  • Ressources d’indexation – nos articles de blog et vidéos préférés sur le réglage des index.
  • Recommandations de livres SQL Server – d’accord, les livres ne sont pas gratuits, mais nos recommandations le sont. Nous sélectionnons les meilleurs livres pour débutants, avancés et d’optimisation des performances.
  • Partitionnement de table – cette fonctionnalité semble être un excellent moyen de diviser de grandes tables, mais elle s’accompagne de gros gotchas.
  • Comment optimiser les index – et rendre les requêtes SQL Server plus rapides.

Mise au point des performances des paramètres de SQL Server

Surprenamment, de nombreux paramètres par défaut de SQL Server peuvent entraîner de mauvaises performances. Voyons ensemble ce que vous devez faire :

  1. Exécuter sp_Blitz® sur le serveur. C’est un bilan de santé gratuit qui permet de repérer de nombreux goulets d’étranglement courants en matière de performances.
  2. Vérifier notre liste de contrôle de la configuration de SQL Server – certaines modifications simples de la configuration peuvent vous permettre d’augmenter les performances de 20 à 30 % dès le départ sans dépenser d’argent supplémentaire.
  3. Revoir la liste de contrôle des mauvaises performances – les 5 choses de Jeremiah qui réparent les mauvaises performances de SQL Server.
  4. Guide de l’administrateur système sur la mémoire de SQL Server – pourquoi sqlserver.exe n’utilise-t-il pas beaucoup de mémoire ? Comment savoir s’il en a besoin de plus ?

Régler les performances du matériel

Hé, parfois, jeter du matériel dessus est la solution la plus rapide, la plus facile et la moins chère.

  • Quel est le plus petit serveur SQL que vous devriez construire ? – Brent explique pourquoi 96 Go de RAM ne représentent vraiment pas grand-chose – surtout si vous le comparez aux coûts de licence de SQL Server.
  • Résultats des tests de charge SSD RAID – Quelle est exactement la vitesse des SSD grand public, surtout lorsque vous les placez derrière un contrôleur RAID ?
  • Stockage partagé pour SQL Server – nous faisons beaucoup de tuning SAN, et nous avons rassemblé nos ressources préférées.
  • Bonnes pratiques de virtualisation – licences, récupérabilité et configurations de performance.
  • Virtualisation, SAN et matériel pour SQL Server – un cours en ligne de 7 heures enseignant comment configurer les choses et les régler.

Construction et test de charge de nouveaux serveurs SQL

Lorsque vous planifiez la taille d’un serveur à construire, commencez par la vidéo de Brent de Microsoft TechEd 2012, Building the Fastest SQL Servers. Il explique les deux modèles d’accès courants pour les bases de données (OLTP et entrepôt de données) et vous donne des ressources sur le matériel à choisir pour chacun d’eux.

Pour les entrepôts de données, rendez-vous sur la page d’atterrissage Microsoft Fast Track, mais AVANT DE CLIQUER, cette page comporte beaucoup de choses de marketing, et vous devez savoir ce que vous recherchez. Concentrez-vous sur les configurations de référence et les guides de configuration. Il y a des guides neutres de Microsoft, puis des guides spécifiques de Dell, HP, IBM, etc. Vous devrez peut-être faire défiler jusqu’en bas pour voir les trucs spécifiques aux fournisseurs.

Une fois le serveur construit, voici nos ressources préférées pour les tests de charge et la configuration :

  • Quelle est la rapidité de votre stockage ? – Je vous montre comment utiliser l’outil gratuit CrystalDiskMark pour effectuer un test de charge rapide sur les disques durs solides et les SAN.
  • Comment tester les performances d’un SAN avec SQLIO – SQLIO est probablement l’outil le plus mal nommé de l’histoire : il n’a rien à voir avec les bases de données. Il reste cependant très utile pour tester les goulots d’étranglement.

Vous avez besoin de conseils sur SQL Server ? Nous sommes des consultants en optimisation des performances.

Nous sommes spécialisés pour rendre Microsoft SQL Server rapide et fiable.

Nos clients sont divers : sites point-com, fonds spéculatifs, hôpitaux, éditeurs de logiciels, et jusqu’à de petites boutiques de 1 à 2 personnes. Ils ont tous une chose en commun : ils sont frustrés par leurs serveurs SQL, et ils ont besoin de réponses rapides et rentables.

Vous nous avez probablement vus présenter lors de conférences dans le monde entier, et vous avez peut-être même appris quelque chose. Vous adorerez nos cours de formation en personne et nos vidéos de formation.

Vous voulez une aide plus rapide et personnalisée ? Nous proposons un bilan de santé et de performances de SQL Server qui permet d’identifier rapidement la cause profonde des problèmes et vous montre comment les résoudre. Contactez-nous dès maintenant pour en savoir plus.

Il est temps de nous contacter.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *