> Data > Dossier SQL Server : Dans le secret des performances de SQL Server (2/3)

Dossier SQL Server : Dans le secret des performances de SQL Server (2/3)

Data - Par Joshua Jones et Don Bergal - Publié le 04 novembre 2010
email

L’analyse des temps d’attente peut contribuer à améliorer les performances en mettant l’accent sur la durée que mettent les applications pour répondre aux requêtes.

Avez-vous déjà eu l’impression que votre application était ralentie par SQL Server, mais que vous ne saviez pas comment y remédier ?

Le fait de connaître l’existence des types d’attente SQL Server constitue la première étape dans la compréhension de la méthode. A chaque instruction qui s’exécute est associé un délai d’attente. Celui-ci correspond au temps nécessaire à SQL Server pour accéder aux ressources utilisées pour l’exécution de l’instruction. Une requête doit attendre la récupération des données et leur écriture sur le disque ou l’écriture d’une entrée dans le journal. Si vous surveillez attentivement une instance, vous noterez qu’elle fait l’objet d’un certain nombre d’attentes tout au long d’une période donnée. Lorsque les attentes deviennent chroniques ou excessives, un problème de performances peut commencer à apparaître.

Types d’attente courants

SQL Server consigne des informations sur le type et la durée des attentes liées à un processus. Même s’il existe plus de 100 types d’attente différents dans SQL Server, il est probable qu’une poignée seulement d’entre eux poseront problème.

Tout type d’attente commençant par « LCK_ » signifie qu’une tâche était en attente d’acquisition d’un verrou. Par exemple, un type d’attente LCK_M_IX signifie que le processus attendait d’acquérir un verrou Intent exclusif. Plus de 20 de ces types correspondent à des attentes de verrou, ce qui est normal puisque la majorité des opérations effectuées dans SQL Server requièrent une forme ou une autre de verrouillage. Viennent ensuite les types de verrous les plus courants ASYNC_IO_COMPLETION et ASYNC_ NETWORK_IO. Le premier signifie un processus qui attendait la fin d’une opération d’E/S et le deuxième, une tâche attendant la fin d’une opération d’E/S sur le réseau.

Enfin, ayez un œil sur l’état d’attente CXPACKET. Celui-ci se produit lorsqu’un processus essaie de synchroniser l’itérateur d’échange du processeur de requêtes. Cela peut indiquer un problème lié au paramètre de parallélisme du serveur. Le temps consacré à identifier les états d’attente potentiels peut être long. En moyenne, près de 20 pour cent des états d’attente potentiels apparaissent dans 80 pour cent des problèmes.
Après avoir effectué des analyses des temps d’attente pendant un certain temps, vous serez habitué à voir certains types, notamment ceux présentés ici.

Téléchargez gratuitement cette ressource

Sécuriser les environnements d’apprentissage numériques

Sécuriser les environnements d’apprentissage numériques

Comment assurer la sécurité des réseaux, des terminaux et des environnements physiques au sein des établissements d’enseignement ? Structurez votre démarche de protection en 3 étapes avec ce nouveau Guide Thématique

Data - Par Joshua Jones et Don Bergal - Publié le 04 novembre 2010