> Tech > Un autre indice : la fragmentation des fichiers de base de données

Un autre indice : la fragmentation des fichiers de base de données

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Que se passe-t-il lorsque l’Analyseur de performances indique des E/S excessives, mais que FileMon signale au minimum 65 536 octets par E/S ? Cela signifie que le fichier de base de données proprement dit est fragmenté sur le disque. L’Analyseur de performances rapporte les statistiques de disque physique alors que

Un autre indice : la fragmentation des fichiers de base de données

FileMon signale les E/S au niveau système de fichiers.

Pour charger une page de données, Windows doit convertir le décalage de page dans le fichier en emplacement physique de cet ensemble d’octets sur le disque physique. NTFS essaie de diminuer la fragmentation du disque en allouant de l’espace à un fichier à partir du plus grand segment d’espace libre sur le disque, mais n’essaie pas d’optimiser ces allocations. (L’ouvrage Inside the Windows NT File System, écrit par Helen Custer et publié aux éditions Microsoft Press en 1994, fournit une bonne explication du fonctionnement de NTFS.)

Si votre base de données a été étendue puis réduite (à savoir, en utilisant la commande DBCC SHRINKDB) régulièrement, il est probable que des parties de vos fichiers de base de données sont dispersées sur l’ensemble du disque, et il est très peu vraisemblable que ces parties sont ordonnées afin de permettre au classement par numéro de pages employé par le gestionnaire de stockage d’être d’une quelconque utilité. Une solution partielle consiste à utiliser une application de défragmentation du disque afin d’ordonner les parties de telle sorte que la lecture du premier octet jusqu’au dernier octet d’un fichier permette au contrôleur d’effectuer la lecture sur le disque dans un seul sens.

Mais il s’agit uniquement d’une solution partielle car les applications de défragmentation ne déplacent généralement pas les parties afin qu’elles soient contiguës. Comme même un petit espace entre les allocations sur le disque impose un délai d’attente lié au positionnement du disque sous la tête de lecture/écriture, plus d’espaces entraîneront systématiquement des performances en deçà du maximum théorique. Une solution pour les nouvelles bases de données consiste, lors de leur création, à allouer suffisamment d’espace afin de permettre la croissance. Si le disque vient d’être formaté, NTFS allouera tout l’espace au niveau d’une zone contiguë du disque. Après cela, vous pouvez employer les commandes DBCC et la reconstruction d’index afin de limiter la fragmentation. Une solution plus efficace pour les bases de données existantes consiste à effectuer une sauvegarde complète de la base de données, à supprimer cette dernière (ce qui supprime les fichiers), à défragmenter le disque, puis à restaurer la base de données.

Le processus de restauration fera en sorte que Windows alloue de l’espace disque à partir des segments les plus grands disponibles. Par conséquent, il est probable que les pages seront physiquement contiguës sur le disque. Au final, l’ordonnancement des demandes de pages par le gestionnaire de stockage sera plus efficace car le contrôleur pourra accéder à des segments de données plus importants en une seule E/S.

Téléchargez cette ressource

Comment sécuriser une PME avec l’approche par les risques ?

Comment sécuriser une PME avec l’approche par les risques ?

Disposant de moyens financiers et humains contraints, les PME éprouvent des difficultés à mettre en place une véritable stratégie de cybersécurité. Opérateur de services et d’infrastructures, Naitways leur propose une approche pragmatique de sécurité « by design » en priorisant les risques auxquelles elles sont confrontées.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010