Archiviazione

Cos'è NVMe?

Conosciuto anche come: NVM Express
Definizione

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.

Perché NVMe è importante

Il suo modello di coda parallela profonda è architettonicamente diverso da SATA, che eredita un design a coda singola pensato per dischi meccanici. Per le applicazioni basate su database, il divario di IOPS casuali è la differenza che gli utenti sentono davvero.

NVMe in pratica

Quando configuri un'istanza NVMe, la prima cosa che guardi è la profondità della coda del tuo carico di storage. Un server basato su SATA arriverà al massimo a qualche migliaio di IOPS sotto carico; NVMe sostiene circa 500.000 IOPS casuali con latenza sotto i 100 microsecondi. Cambia i tuoi test sysbench e fio per misurare randread e randwrite, non il throughput sequenziale, e osserva la differenza nei commit del database. Se ottimizzi per la dimensione del blocco di un disco SAS o ignori le impostazioni dello scheduler I/O, stai lasciando inutilizzata la maggior parte della capacità hardware. Se sbagli, la tua latenza sale di cento volte su carichi di lavoro che toccano realmente il disco.

Errori comuni su NVMe

La gente presume che NVMe sia solo un SSD più veloce, quindi sceglie un piano basato sulla dimensione in GB piuttosto che sugli IOPS. Correzione: la differenza di NVMe è il modello a code parallele, non solo la larghezza di banda grezza. Un grande drive SATA farà comunque da collo di bottiglia nell'I/O casuale a coda singola; un drive NVMe più piccolo lo batterà per carichi di lavoro di database. La dimensione conta, ma per lavori sensibili alla latenza, gli IOPS sono la metrica che ti costa se la ignori.

NVMe — domande frequenti

Quali IOPS casuali raggiunge NVMe?

Circa 500.000 IOPS casuali, secondo la definizione pubblicata. È circa mille volte in più rispetto a un tipico SSD SATA. La latenza sotto i 100 microsecondi significa che, per piccole letture e scritture casuali, non stai aspettando la meccanica del disco o una singola coda SATA: il controller e il bus PCIe sono l'unico percorso.

Ho bisogno di NVMe per un sito web?

Solo se il tuo carico di lavoro è intenso in I/O casuale, come un database o una cache. La distribuzione di file statici o un sito a basso traffico non noteranno la differenza tra NVMe e SATA. Il divario emerge sotto carichi misti sostenuti, dove la coda singola di SATA si satura e la latenza aumenta. Se esegui Postgres o Redis, NVMe manterrà basse le tue latenze di coda.

Altro da archiviazione

IOPS
IOPS misura quante operazioni individuali di lettura o scrittura un dispositivo di storage completa al secondo.
RAID 10
Il RAID 10 rispecchia i dati su coppie di unità e li distribuisce in stripe attraverso i mirror, dando sia ridondanza che alte prestazioni al costo di metà della capacità lorda.
Snapshot
Uno snapshot è una copia point-in-time del disco di una macchina virtuale, presa istantaneamente e memorizzata sulla stessa infrastruttura.