Getty Images/iStockphoto
Stockage : comprendre ce que veulent dire les performances des SSD
IOPS, latence, débits… Les fournisseurs multiplient les chiffres élogieux quand ils lancent de nouveaux SSD. Cet article aide à comprendre ce qu’ils veulent vraiment dire et quelle est leur véritable valeur.
Il est devenu courant qu’un fournisseur lance une baie de SSD dépassant le million d’IOPS. Pourtant, il peut être difficile pour un utilisateur final de comprendre ce que ce type de chiffres signifie réellement et comment les situer par rapport aux exigences d’un stockage en entreprise. Cet article propose d’avoir une meilleure compréhension des performances des SSD et des baies de stockage qui les utilisent, afin de mieux orienter les choix quand il s’agit d’optimiser les applications.
Côté face, les fournisseurs de baies de stockage se plaisent à présenter des solutions à base de SSD qui tiennent dans un format rack aussi petit que 1U ou 2U et qui surpassent en performances un grand système de stockage équipé de milliers de disques durs mécaniques. La densité n’apporterait pas qu’une économie de surface au sol, elle serait surtout censée coûter moins cher globalement. Si on ne s’intéresse qu’au coût/performance.
Côté pile, une comparaison sérieuse doit aller au-delà de ces simples caractéristiques. Par exemple, les baies de SSD denses ont rarement les fonctions de protection et de gestion des données des grandes baies. De plus, les chiffres annoncés par les constructeurs concernent des performances brutes, mesurées lors de benchmarks qui ne reproduisent pas nécessairement les conditions réelles d’une exploitation quotidienne dans un datacenter. Ainsi, dès lors que l’on parle de performances réelles pour un système qui centralise du stockage de données, il faudrait tenir compte des machines qui s’y connectent et des liens réseau qui assurent les communications.
Concernant le contexte d’utilisation, les fournisseurs qui proposent des baies de stockage basées sur des contrôleurs – généralement des cartes mères x86, comme dans les serveurs – se félicitent d’avoir adapté leur électronique aux caractéristiques des SSD. Ils parlent généralement de tiering automatique, pour accélérer les données les plus actives en les stockant sur les unités les plus rapides. Cette fonction augmente considérablement les performances d’une application… lorsqu’elle est configurée et réglée correctement. Mais cette fonction prend surtout tout son intérêt lorsque les données les moins fréquemment consultées peuvent être stockées sur des disques durs mécaniques, ce que l’on cherche à faire pour minimiser le coût global du stockage.
Benchmarks ou générateurs de charge ?
Pour comprendre les chiffres de performance des disques SSD, il est important de différencier un benchmark d’un générateur de charge. Souvent, les deux sont confondus, car les administrateurs peuvent utiliser des générateurs de charge pour effectuer un benchmark. Il existe cependant des différences.
Un benchmark est une charge de travail fixe, avec une méthodologie fixe pour les mesures, de sorte qu’on ne peut pas modifier ses caractéristiques. Les benchmarks qui servent de tests officiels ont des contraintes supplémentaires, notamment le fait d’être validés par un tiers indépendant qui garantit la conformité des résultats. Cela permet aux utilisateurs d’obtenir une comparaison directe entre des produits similaires. Il existe actuellement deux organismes de normalisation qui proposent des critères de référence standardisés pour le stockage : le Storage Performance Council (SPC) et la Standard Performance Evaluation Corporation (SPEC). SPC mesure les performances du stockage en mode bloc, et SPEC celles du stockage en mode fichier.
Un générateur de charge simule une charge souhaitée pour la caractérisation des performances et contribue à mettre en lumière les problèmes de performance d’un système ou d’un produit. Ces générateurs sont dotés de « boutons » permettant de régler les caractéristiques de la charge de travail à tester. Les professionnels de la performance et les entreprises de tests les utilisent pour vérifier les spécifications annoncées d’un produit. Souvent, les résultats ne peuvent pas être comparés à ceux d’autres fournisseurs, car il n’y a aucune garantie que les conditions de test étaient identiques lors de la mesure du système testé.
Il est important d’être conscient de ces différences, car les fournisseurs mesurent probablement leurs résultats IOPS dans des conditions différentes.
Les types de benchmarks pour les SSD
Les benchmarks courants en matière de solutions de stockage sur SSD mesurent les éléments suivants :
- Les IOPS. Acronyme signifiant opérations d’entrée/sortie par seconde. Cette métrique mesure le nombre de lectures et d’écritures qu’un SSD peut gérer par seconde. Plus le nombre d’IOPS est élevé, mieux c’est.
- Le débit. La vitesse de transfert des données d’un SSD, mesurée en octets par seconde. Plus le débit est élevé, mieux c’est, bien que le débit soit affecté par des éléments comme la taille du fichier et le caractère aléatoire ou séquentiel des lectures et des écritures.
- La Latence. Indique le temps nécessaire pour traiter une opération d’entrée/sortie. Ce processus se traduit par le temps de réponse du SSD et se mesure en microsecondes ou en millisecondes. Plus la latence est faible, mieux c’est.
Le prix peut également être un facteur lors de l’achat de disques SSD. Les considérations de coût comprennent la valeur en dollars/en euros par IOPS, par watt ou par unité de rack. Les résultats publiés par SPC incluent des chiffres sur le prix par performance.
Les facteurs qui influent sur le temps de réponse des SSD
Un SSD présente des caractéristiques différentes des disques durs. Ainsi, les SSD n’ont pas de pièces mobiles, ce qui signifie que des mesures comme la latence induite par la mise en rotation ou le déplacement de la tête vers une piste, propres aux disques durs mécaniques, ne s’appliquent pas. Par conséquent, les temps de réponse des SSD sont généralement mesurés en microsecondes, contre des millisecondes pour les disques durs. Il est important pour les utilisateurs de comprendre comment ces mesures sont effectuées afin de s’assurer que les résultats rapportés représentent un niveau de performance vérifiable et durable. En moyenne, les temps de réponse des SSD sont dix fois plus rapides que ceux des disques durs pour les écritures aléatoires.
Les SSD ont des temps d’accès un peu plus longs au fur et à mesure que leurs cellules NAND sont capacitives : SLC (un bit par cellule), MLC (deux bits), TLC (trois bits) et QLC (quatre bits). En moyenne, ces cellules s’accèdent en plus ou moins 100 microsecondes. Cependant, des SSD descendent jusqu’à des temps d’accès de 10 microsecondes, car ils intègrent un cache de DRAM, dix fois plus rapide que la NAND. Le véritable point à prendre en compte avec la nature des cellules NAND est moins dans leur rapidité que dans le fait que les plus capacitives sont celles qui durent le moins longtemps (elles s’usent plus rapidement à chaque écriture).
Deux disques SSD présentant des NAND similaires n’auront pas toujours les mêmes performances dans le centre de données. Entre également en compte la connectique, le logiciel et le protocole de stockage.
Concernant la connectique, l’interface NVMe est la plus rapide pour les disques SSD, car elle utilise le bus PCIe au lieu du bus d’interface SATA, plus lent. Un bus PCIe 4 offre généralement 2 ou 4 canaux pour atteindre respectivement les débits de 2,5 et 5 Go/s, contre 450 Mo/s pour un bus SATA6. Cela dit, la vitesse des bus ne suffit pas à expliquer cette différence de vitesse. En NVMe, un SSD est considéré comme une mémoire – c’en est une, la NAND – avec ses accès parallèles à des adresses. En SATA, un SSD est considéré comme un disque dur, avec des blocs formatés accédés par requêtes SCSI, qui n’ont de sens que sur une surface magnétique et qui pénalisent les accès vers une NAND.
Au-delà des SSD eux-mêmes, un tiroir de SSD – ou même une baie SAN – est tributaire de la liaison vers le contrôleur ou le serveur qui pilote ses accès. Dans ce contexte, il existe plusieurs variantes. Dans l’Ancien Monde, les baies de disques étaient accédées via des requêtes SCSI qui étaient transférées soit sur un réseau Fibre Channel (FC), très rapide, car dédié à cela, soit sur un réseau iSCSI, c’est-à-dire un réseau TCP/IP sur Ethernet dans lequel sont empaquetés les ordres SCSI. La seconde option est plus lente, mais aussi plus économique. À présent que le NVMe remplace le SCSI, on trouve des déclinaisons des versions précédentes : NVMe/FC, plus rapide, et NVMe/TCP plus économique. Le point à retenir est que les configurations qui utilisent la version économique, sur un réseau Ethernet classique, n’atteignent généralement pas le 1 million d’IOPS.
On retiendra que l’éloignement physique des SSD entre en jeu. Même s’ils sont accédés en NVMe, des SSD dans une baie externe seront moins rapides que des SSD dans un serveur, d’autant plus si ces SSD n’ont aucune nappe et s’enfichent directement dans un slot du bus PCIe. C’est l’un des arguments des infrastructures hyperconvergées, dans lesquelles il n’y a pas de baie de disques physique à proprement parler ; la baie de stockage est simulée à parti des SSD ou des disques qui sont directement intégrés aux serveurs.
Mesure des performances
Voici les quatre étapes principales pour évaluer la performance au long court de différents SSD :
- Créer un point de départ commun. Le SSD doit être dans un état connu et reproductible. Le point de départ commun le plus populaire est un nouveau SSD qui n’a jamais été utilisé ou l’exécution d’un formatage de bas niveau sur un SSD pour le restaurer à son état d’origine.
- La mise en condition. Le SSD doit être mis dans un état « utilisé ». Lors des mesures initiales, le SSD affiche des performances artificiellement élevées qui ne sont que temporaires. Ces chiffres ne doivent pas être considérés comme une démonstration des performances durables réelles. En effet, lors des premières minutes, un SSD va remplir son cache de DRAM, dix fois plus performant que sa NAND. Par conséquent, si des écritures aléatoires de 4 Ko doivent être exécutées, le mieux est de faire durer le test pendant environ 90 minutes. Selon le fabricant, la taille du transfert ou le temps nécessaire au conditionnement peuvent changer.
- Attendre un état stable. C’est lorsque les niveaux de performance se stabilisent que les chiffres peuvent commencer à être pris en compte.
- Faire un rapport adéquat. Le niveau de déclaration des résultats varie selon les exigences du cadre dans lequel sont effectués les tests. Les constructeurs passent généralement sous silence plusieurs critères. Ils omettent d’indiquer le type d’entrées-sorties. Ils n’indiquent que les résultats des lectures aléatoires, omettant les écritures aléatoires plus lentes. En réalité, sur SSD, la plupart des écritures aléatoires ne sont pas plus performantes que celles effectuées sur des disques durs. Un rapport consciencieux pourrait aller jusqu’à indiquer le nombre d’entrées-sorties en attente, une information utile si elle est associée à un temps de réponse moyen.
Pour en savoir plus sur ces quatre étapes, consultez le site Solid State Storage Initiative de la Storage Networking Industry Association.
Les disques SSD face aux autres types de stockage
Les disques SSD sont considérablement plus rapides et plus chers que les supports de stockage tels que les bandes et les disques durs. Si les disques SSD ont remplacé les disques durs pour la plupart des besoins de performance des entreprises, il existe encore des technologies de stockage plus rapides. La mémoire vive dynamique (DRAM) offre les meilleures performances et est également la plus chère. La mémoire de classe stockage (SCM) – dont les produits Optane d’Intel – se situe entre les SSD NVMe et la DRAM en termes de performances et de prix.
La SCM peut être trois à cinq fois plus rapide que les SSD NVMe et ne présente pas les mêmes problèmes d’usure que la NAND. Cependant, un disque SCM peut coûter cinq fois plus cher qu’un disque NVMe comparable. Ce prix relègue le SCM principalement aux processus gourmands en mémoire, comme l’IA et le Machine Learning. Ainsi, si les SSD NVMe sont considérés comme une transition vers le SCM, ils restent aujourd’hui beaucoup plus courants dans les entreprises.