Stockage

Qu'est-ce que NVMe ?

Également connu sous le nom de: NVM Express
Définition

NVMe is a storage protocol that connects solid-state drives directly over PCIe, reaching roughly 500,000 random IOPS with sub-100-microsecond latency. Its deep parallel queue model is architecturally different from SATA, which inherits a single-queue design intended for mechanical disks.

Pourquoi NVMe est important

Son modèle de files d'attente profondes parallèles est architecturalement différent de SATA, qui hérite d'une conception à file unique destinée aux disques mécaniques. Pour les applications basées sur des bases de données, l'écart d'IOPS aléatoires est la différence réellement ressentie par les utilisateurs.

NVMe en pratique

Lorsque vous provisionnez une instance NVMe, la première chose à regarder est la profondeur de file d'attente de votre charge de stockage. Une machine basée sur du SATA plafonnera à quelques milliers d'IOPS sous charge ; le NVMe soutient environ 500 000 IOPS aléatoires avec une latence inférieure à 100 microsecondes. Modifiez vos tests sysbench et fio pour mesurer les lectures et écritures aléatoires (randread et randwrite), pas le débit séquentiel, et observez la différence dans les commits en base de données. Si vous optimisez pour la taille de bloc d'un disque SAS ou ignorez les paramètres du planificateur d'E/S, vous laissez la majeure partie des capacités du matériel inutilisée. Si vous vous trompez, votre latence grimpe d'un facteur cent sur des charges qui touchent réellement le disque.

Ce qu'on comprend mal à propos de NVMe

Les gens supposent que le NVMe est juste un SSD plus rapide, alors ils choisissent un plan en fonction de la taille en Go plutôt que des IOPS. Correction : la différence du NVMe réside dans le modèle de files d'attente parallèles, pas seulement dans la bande passante brute. Un gros disque SATA plafonnera toujours en E/S aléatoires à file unique ; un plus petit disque NVMe le battra pour les charges de base de données. La taille compte, mais pour les travaux sensibles à la latence, les IOPS sont la métrique qui vous coûte cher si vous l'ignorez.

NVMe — questions fréquentes

Quelles IOPS aléatoires le NVMe atteint-il ?

Environ 500 000 IOPS aléatoires, selon la définition publiée. C'est environ mille fois plus qu'un SSD SATA typique. La latence inférieure à 100 microsecondes signifie que pour les petites lectures et écritures aléatoires, vous n'attendez pas la mécanique du disque ou une file SATA unique — le contrôleur et le bus PCIe sont le seul chemin.

Ai-je besoin de NVMe pour un site web ?

Uniquement si votre charge de travail est intensive en entrées/sorties aléatoires, comme une base de données ou un cache. La diffusion de fichiers statiques ou un site à faible trafic ne verront pas la différence entre NVMe et SATA. L'écart apparaît sous des charges mixtes soutenues, où la file d'attente unique du SATA sature et où la latence explose. Si vous exécutez Postgres ou Redis, le NVMe maintiendra vos latences de queue à un niveau bas.

Plus de stockage

IOPS
Les IOPS mesurent le nombre d'opérations de lecture ou d'écriture individuelles qu'un dispositif de stockage effectue par seconde.
RAID 10
RAID 10 reflète les données sur des paires de disques et répartit les données sur ces miroirs, offrant à la fois redondance et hautes performances au prix de la moitié de la capacité brute.
Instantané
Un instantané est une copie ponctuelle d'un disque de machine virtuelle, prise instantanément et stockée sur la même infrastructure.