Surveillance de l'utilisation du disque

Microsoft SQL Server utilise les appels E/S (entrée/sortie) du système d'exploitation Microsoft Windows pour effectuer les opérations de lecture et d'écriture sur le disque. SQL Server gère le moment et la façon de réaliser les E/S sur le disque, mais le système d’exploitation Windows réalise les opérations d'E/S sous-jacentes. Le sous-système d'E/S comporte le bus système, les cartes contrôleurs de disque, les disques, les unités de sauvegarde sur bande, les unités de CD-Rom et de nombreux autres périphériques d'E/S. Les E/S sur le disque sont souvent responsables des problèmes de goulot d’étranglement d’un système.

La surveillance de l'activité du disque est double :

  • Surveillance des E/S du disque et détection des excès de pagination

  • Isolement de l'activité de disque créée par SQL Server

Surveillance des E/S du disque et détection des excès de pagination

Deux compteurs peuvent être analysés pour déterminer l'activité du disque :

  • Disque physique : % Temps du disque

  • Disque physique : Longueur moyenne de file d'attente du disque

Dans le Moniteur système, le compteur Disque physique :% Temps du disque supervise le pourcentage de temps pendant lequel le disque est occupé par des activités de lecture/écriture. Si le compteur Disque physique : % Temps du disque a une valeur élevée (plus de 90 pour cent), vérifiez le compteur Disque physique : Longueur actuelle de file d'attente du disque pour voir combien de requêtes système sont en attente d'un accès disque. Le nombre de requêtes d'E/S en attente doit être maintenu à une valeur inférieure à 1,5 ou 2 fois le nombre de sous-unités qui composent le disque physique. La plupart des disques ne disposent que d'une sous-unité, bien que les périphériques à base de disques RAID (Redundant Array of Independent Disk) en aient généralement davantage. Un périphérique matériel RAID apparaît comme un seul disque physique dans le Moniteur système. Les unités RAID créées par voie logicielle apparaissent comme plusieurs instances dans le Moniteur système.

Vous pouvez utiliser les valeurs des compteurs Longueur actuelle de file d'attente du disque et % Temps du disque pour détecter les goulots d'étranglement à l'intérieur du sous-système disque. Si les valeurs des compteurs Longueur actuelle de file d'attente du disque et % Temps du disque sont toujours élevées, envisagez les solutions suivantes :

  • Utilisez un lecteur de disque plus rapide.

  • Déplacez certains fichiers sur un disque ou un serveur supplémentaire.

  • Ajoutez des disques à un tableau RAID, si vous en utilisez un.

Si vous utilisez un périphérique RAID, le compteur % Temps du disque peut indiquer une valeur supérieure à 100 pour cent. Si c'est le cas, utilisez le compteur Disque physique : Longueur moyenne de file d'attente du disque afin de déterminer combien de requêtes système, en moyenne, sont en attente d'un accès disque.

Les applications et les systèmes qui sont limités par les E/S peuvent garder le disque constamment en activité.

Supervisez le compteur Mémoire : Défauts de page/s pour vérifier que l'activité du disque n'est pas due à la pagination. Dans Windows, la pagination est provoquée par :

  • des processus configurés de telle façon qu'ils utilisent trop de mémoire ;

  • l'activité du système de fichiers.

Si vous disposez de plusieurs partitions logiques sur un même disque dur, vous devez utiliser les compteurs Disque logique plutôt que les compteurs Disque physique. L'observation des compteurs des disques logiques vous aidera à déterminer quels sont les fichiers fréquemment utilisés. Une fois que vous aurez déterminé quels étaient les disques qui présentaient la plus forte activité en lecture/écriture, observez les compteurs spécifiques de lecture et d'écriture (par exemple, Disque logique : Octets d'écriture sur le disque/s).

Isolement de l'activité du disque générée par SQL Server

Deux compteurs peuvent être surveillés pour déterminer la quantité d'E/S générées par les composants SQL Server :

  • SQL Server:Buffer Manager:Lectures de pages/s

  • SQL Server:Buffer Manager:Écritures de pages/s

Dans le Moniteur système, ces compteurs surveillent la quantité d'E/S générées par les composants SQL Server en examinant les performances suivantes :

  • Écritures de pages sur le disque

  • Lectures de pages sur le disque

Si ces valeurs s'approchent de celles de la capacité du sous-système matériel d'E/S, essayez de les réduire soit en optimisant votre application ou votre base de données afin de réduire les opérations d'E/S (comme par le traitement complet des index, leur amélioration ou leur normalisation), soit en augmentant la capacité matérielle dans le domaine des E/S, soit en ajoutant de la mémoire. Par exemple, vous pouvez utiliser l'Assistant Paramétrage du moteur de base de données, qui analyse les charges de travail typiques de SQL Server et produit des recommandations pour les index, les vues indexées et le partitionnement, afin d'améliorer les performances du serveur. Pour plus d'informations sur l'Assistant Paramétrage du moteur de base de données, consultez Paramétrage du modèle physique de la base de données.