Performance du stockage informatique

Les différents délais d'accès à une information d'un disque dur

La performance du stockage informatique recouvre plusieurs aspects : la performance du média de stockage en tant que matériel (disque dur, disque optique, disque SSDetc.), l'organisation des disques (type de RAID, baies de disquesetc.), et les solutions logicielles permettant d'accéder aux données proprement dites (compression de données, déduplication, hiérarchisation, allocation fine et dynamiqueetc.). Il faut distinguer les problématiques du stockage des serveurs d'entreprise par rapport à celles du stockage des ordinateurs personnels, mais dans les deux cas le défi est d'obtenir les meilleures performances possibles tout en optimisant les coûts associés.

Performance des types de médiaModifier

Bandes magnétiquesModifier

 
Cartouche LTO-2

Les performances des bandes magnétiques (de l'ordre de 160 Mo/s pour les LTO par exemple) et les contraintes d'accès essentiellement séquentiel en font un média de stockage plutôt destiné à la sauvegarde ou à l'archivage, le temps d'accès - lié au déroulement physique de la bande - pouvant aller jusqu'à une dizaine de secondes[1], sans compter le temps de montage dans le dérouleur.

Médias magnéto-optiquesModifier

 
Comparaison de différents types de média

Les performances des différents types de média magnéto-optiques sont nettement inférieures à celles de disques magnétiques[2].

Type Capacité Débit en lecture
(Mo/s)
Débit en écriture
(Mo/s)
Temps d'accès
(ms)
Coût
($/Mo)
12/14 pouces > 15 Go 2,7 1,3 <100 0,05
5 pouces MO 2,6 Go 3 1,7 40 0,05
CD-ROM 650 Mo 0,71 0,35 <400 0,02
CD-RW 650 Mo 0,9 0,3 0,04
DVD-ROM 4,7 Go 1,4 100 0,005

Les performances des entrées/sorties sont aussi fortement liées aux types de contrôleur (SAS/SATA/SCSI).

Clé USBModifier

 
Clé USB

Les clés USB 2.0 les plus rapides peuvent atteindre 33 Mo/s en lecture et 26 Mo/s en écriture[3], mais en pratique les débits sont inférieurs à 10 Mo/s. L'USB 3 permet des débits jusqu'à 180 Mo/s en lecture et 60 Mo/s en écriture[4].

À noter qu'une fonctionnalité comme ReadyBoost permet d'utiliser une clé USB pour accélérer les performances d'un système windows, en utilisant la clé comme une mémoire cache.

Disques dursModifier

 
Intérieur d'un disque dur

Le média le plus répandu pour le stockage de données informatique est le disque dur, qui a énormément évolué dans l'histoire de l'informatique, ses capacités passant en quelques années de quelques Mo à plusieurs To. Dans le même temps les performances intrinsèques n'ont pas augmenté dans la même proportion.

Le calcul des performances d'un disque dur dépend de plusieurs facteurs. Dans le cas d'un disque traditionnel, le temps de service moyen d'un disque dur est :
Temps de service = Temps de recherche + latence rotationnelle + temps de transfert.

Le temps de latence moyen est :
Latence rotationnelle = 60 / (vitesse de rotation en tours par minute) / 2.

Valeurs typiques
Vitesse
de rotation
(tr/min)
Latence
rotationnelle
moyenne (ms)
4 200 7,14
5 400 5,56
7 200 4,17
10 000 3,00
15 000 2,00

La limite des 10 000 tr/min a été franchie en 1999 par Hitachi, ce qui a permis de descendre en dessous des 2,5 ms de latence[5]. Les disques mécaniques les plus rapides plafonnent à 15 000 tr/min, la limitation provenant de la difficulté de maitrise de l'échauffement et des vibrations.

Disques SSDModifier

 
Comparaison de performance entre HDD et SSD

De plus en plus de systèmes de stockage proposent des disques SSD afin d'améliorer les performances[6]. L'utilisation des technologies à base de mémoire flash bouleverse le monde du stockage[7]. En effet, dans le cas d'un disque SSD, il n'y a pas de seek time ni de latence rotationnelle ; par contre en fonction du type de SSD (MLC ou SLC), le temps de lecture et le temps d'écriture peuvent être très différents : dans un comparatif multi-constructeur mesurant 17 disques SDD[8], le temps d'accès en lecture varie entre 70 μs (microseconde, soit 0,07 ms) et 300 μs (soit 0,3 ms) ; le temps d'accès en écriture varie entre 50 μs et 740 μs, soit de 10 à 100 fois plus rapide qu'un disque dur traditionnel.

Le débit des SSD est généralement au-dessus de 200 Mo/s, et de l'ordre de 500 Mo/s pour les disques les plus performants, à comparer aux valeurs de l'ordre de 50 à 120 Mo/s atteintes par les disques durs traditionnels[9].

Organisation des disquesModifier

Sur les systèmes informatiques disposant de plusieurs disques, l'organisation et la configuration de ceux-ci est au moins aussi importante que la performance unitaire de chaque élément. L'impact du choix des différents types de RAID sur les performances est important. Une grappe de disques en RAID1 est plus performante en écriture qu'une grappe de disques en RAID5. Les grosses baies de stockage sont conçues pour obtenir des hautes performances, dépendant en général du nombre de disques, mais aussi de la cache et de l'architecture de la baie.

Impact des aspects logiciels sur la performance du stockageModifier

 
La fragmentation d'un disque dur affecte les performances en lecture séquentielle
  • Impact du type d'accès (accès séquentiel/accès aléatoire) : la lecture séquentielle est plus performante sur un disque classique, mais il n'y a pas de différence pour un disque SSD.
  • Impact des différents types de cache : l'augmentation de taille de cache augmente la probabilité de trouver un bloc sans avoir besoin de faire une entrée-sortie.
  • Impact des différents types de données (fichiers, bases, non structuré, etc.).
  • Impact des tailles de bloc.
  • Impact de la compression, qui réduit la quantité d'information à lire ou écrire sur le support, mais augmente le temps de traitement.
  • Impact du chiffrement des données, qui augmente le temps de traitement.
  • Impact de l'alignement des données : si les entrées-sorties du système d'exploitation ne sont pas alignées sur les blocs physiques du système de stockage, cela peut entraîner des I/O supplémentaires.
  • Impact de la fragmentation : un disque fragmenté a moins de données contigües et bénéficie moins de lectures séquentielles[10].
  • Impact de la hiérarchisation.
  • Impact du Dynamic provisioning, aussi appelé « Thin Provisioning ».
  • Impact de la déduplication.

Outils de mesure de performanceModifier

  • diskperf[11] sur systèmes Windows
  • iostat[12] sur systèmes Linux
  • sar[13] sur systèmes AIX

Outils de calcul de performanceModifier

Intel fournit un outil qui permet de calculer la performance théorique d'une grappe de disque en fonction du type de RAID, du nombre et du type de disques, ainsi que du taux de lecture/écritures[14]. Une version spécifique existe pour les disques SSD[15].

BibliographieModifier

  • René J. Chevance, Méthodologie en matière de performance des systèmes, Éditions techniques de l'ingénieur,
  • Jacques Peping, Architecture de systèmes de stockage, Éditions techniques de l'ingénieur,

Notes et référencesModifier

Liens externesModifier