Les performances de SQL Server sont essentielles à la stabilité des applications et à la rétention des utilisateurs. Les bases de données peuvent constituer un goulet d’étranglement dans n’importe quelle application, de sorte que l’analytique en temps réel et la surveillance des performances sont nécessaires pour un environnement de production. Grâce à la surveillance et à l’optimisation continue, vos applications restent compétitives en termes de performances, et votre base de données SQL Server fonctionnera plus efficacement.
Fonctionnement des performances de SQL Server
Les performances de SQL Server mesurent la vitesse à laquelle une base de données reçoit, traite et renvoie les données d’une requête. Les serveurs SQL hautes performances peuvent renvoyer de grands ensembles de données en quelques millisecondes. Il est essentiel que les administrateurs de bases de données surveillent les performances pour s’assurer que l’application front-end ne souffre pas de goulets d’étranglement en raison d’un matériel de serveur, de configurations ou d’une capacité de stockage médiocres.
En surface, les performances de SQL Server dépendent du matériel. Le matériel joue un rôle dans les performances, mais les mauvaises configurations ou le développement de requêtes peuvent également affecter la vitesse du serveur. La surveillance des performances matérielles permet de maintenir une base de données à un niveau de performance optimal. Les administrateurs doivent également examiner les requêtes pour s’assurer qu’elles sont optimisées pour des performances optimales.
Principaux facteurs affectant les performances de SQL Server
Les configurations de base de données sont souvent le principal problème de performances médiocres de SQL Server. Plus précisément, l’indexation est souvent mal configurée et entraîne une réduction des performances. Le tableau indexe les données de manière à permettre au moteur de base de données de trouver et de renvoyer plus rapidement les données en fonction de la requête. Les petites bases de données peuvent ne pas ressentir les effets d’une mauvaise indexation, mais les bases de données contenant des téraoctets de données et des millions d’enregistrements dans un seul ensemble de données rencontreront des problèmes de performance.
Le matériel, y compris les périphériques de stockage, est également un facteur clé. Le stockage doit être suffisamment rapide pour récupérer les données d’entrée et de sortie, et le processeur doit être suffisamment rapide pour traiter les demandes de données. La mise en cache et l’exécution des programmes sont effectuées en mémoire, les serveurs doivent donc disposer d’une mémoire suffisante pour prendre en charge la base de données. Les administrateurs peuvent également surveiller ces facteurs pour mettre à niveau le matériel lorsqu’il devient obsolète.
Choisir la bonne infrastructure pour les performances de SQL Server
Les performances maximales peuvent provenir d’une infrastructure on-premises ou cloud. Les environnements hybrides sont également courants avec les bases de données d’entreprise. Par exemple, vous pouvez stocker des archives et des sauvegardes chaudes dans le cloud, tandis qu’une base de données sur site avec une infrastructure haut de gamme prend en charge les requêtes de production. Un autre exemple est un environnement commercial dans lequel les requêtes publiques sont traitées dans le cloud et les requêtes internes sont traitées sur site.
Les besoins en stockage ont souvent explosé pour les entreprises en pleine croissance. Il est impératif qu’ils allouent suffisamment d’espace de stockage et de croissance future pour prendre en charge les applications. Les organisations peuvent exploiter FlashArray™, qui prend en charge les applications dépendantes des performances et de la latence, comme les bases de données. Pure Cloud Block Store™ est l’alternative cloud à linfrastructure sur site. Les entreprises porteuses de VMware ont la possibilité d’intégrer Portworx®.
Problèmes de performance courants
Le manque de ressources serveur est le premier problème de performance courant de SQL Server. Si un serveur est lent, les administrateurs doivent d’abord vérifier l’utilisation des ressources. Vérifier l’absence de pics d’utilisation du processeur, de saturation de l’utilisation de la RAM ou d’erreurs I/O sur le disque. Les systèmes d’exploitation cloud et locaux disposent d’outils d’utilisation pour identifier l’utilisation des ressources.
L’indexation est un autre problème courant. Toutes les tables doivent avoir des clés et des index primaires sur les colonnes de table couramment utilisées dans les clauses de requête WHERE. L’index droit sur une colonne de tableau couramment utilisée peut faire passer les temps de requête de quelques minutes à quelques millisecondes.
Techniques d’optimisation des performances de SQL Server
L’optimisation et les performances de chaque requête envoyée à une base de données SQL Server de production doivent être examinées. SQL Server dispose de ses propres outils pour identifier les requêtes lentes, mais les requêtes ne doivent renvoyer que les colonnes nécessaires à la fonctionnalité frontale, utiliser correctement les instructions JOIN et indexer les colonnes de tableau couramment utilisées dans les instructions JOIN et WHERE. Les requêtes CURSOR doivent être utilisées avec parcimonie et uniquement si nécessaire. Évitez les requêtes dynamiques et utilisez des procédures stockées écrites dans SQL plutôt que des chaînes.
Les administrateurs doivent surveiller les performances de SQL Server à l’aide des outils SQL Server de Microsoft ou de leurs outils préférés. Le matériel doit être surveillé pour s’assurer que le serveur dispose d’une mémoire et d’une puissance CPU suffisantes pour traiter les requêtes, et que l’espace de stockage est suffisant pour fournir des données supplémentaires afin de soutenir une entreprise en pleine croissance. Les fournisseurs de cloud disposent de leurs propres outils pour aider les administrateurs à surveiller l’infrastructure.
Outils de surveillance des performances et d’infrastructure
Microsoft livre SQL Server avec plusieurs outils de surveillance. Dans SQL Server Management Studio, les administrateurs peuvent voir un tableau de bord des performances. Database Engine Tuning Advisor aide les administrateurs à optimiser les procédures stockées. Le moniteur système peut être utilisé sur un serveur local ou un serveur distant pour surveiller l’utilisation et l’activité du matériel.
Les fournisseurs de cloud tiers disposent de leurs propres outils de surveillance. Par exemple, Pure Storage dispose de ses propres outils de surveillance et de la prise en charge de SQL Server. Les outils cloud que vous décidez d’utiliser dépendent des services avec lesquels vous travaillez. Les outils cloud envoient des alertes aux administrateurs lorsque les ressources de l’infrastructure sont faibles, mais les administrateurs peuvent choisir d’utiliser les outils de surveillance Microsoft SQL Server pour l’optimisation. La meilleure stratégie consiste à essayer des outils pour trouver ceux qui correspondent le mieux aux besoins de votre entreprise.
Conclusion
Pour maintenir vos applications à un niveau de performance optimal, la surveillance de la base de données à la recherche de goulets d’étranglement permettra aux administrateurs de prendre des mesures proactives pour l’optimisation. Non seulement les tables de base de données et les requêtes doivent être surveillées, mais le matériel doit également être surveillé pour éviter les pannes du système dues à une défaillance de l’infrastructure. Bien que Microsoft fournisse des outils de surveillance SQL Server, Pure Storage aide également les administrateurs à suivre leur pile technologique.