Archiviazione

Cos'è IOPS?

Conosciuto anche come: input/output operations per second
Definizione

IOPS measures how many individual read or write operations a storage device completes per second. Random 4K IOPS at a queue depth of one is the number that predicts database behaviour; sequential throughput is the number that appears in marketing.

Perché IOPS è importante

IOPS casuale 4K a profondità di coda uno è il numero che predice il comportamento del database; il throughput sequenziale è il numero che appare nel marketing.

IOPS in pratica

Quando gestisci davvero un server, gli IOPS sono ciò che osservi quando le query rallentano. Guardi la latenza di lettura casuale 4K del tuo database e vedi se il disco è il collo di bottiglia. Se lo è, passi a NVMe o aggiungi più dischi. Se lo ignori, la tua applicazione striscia sotto carico, e ogni query lenta ti costa utenti. Puoi cambiare la tua configurazione di archiviazione, ma non è immediato: spostare un livello verso il basso richiede una ricostruzione, e NVMe extra si aggiunge come secondo dispositivo a blocchi. Sbagliare significa che il tuo server sembra veloce nei test ma crolla in produzione.

Errori comuni su IOPS

L'equivoco è che gli IOPS siano un numero fisso. Non lo sono; dipendono dalla profondità della coda e dalla dimensione del blocco. Un drive può dichiarare IOPS elevati a profondità di coda alte, ma ciò che conta per i database è il 4K casuale a profondità di coda di uno. La correzione: se confronti lo storage basandoti sui numeri di marketing, sceglierai il dispositivo sbagliato. Guarda il valore a profondità di coda uno.

IOPS — domande frequenti

Quale profondità di coda dovrei usare per testare gli IOPS?

Per i carichi di lavoro dei database, usa una profondità di coda di uno. È quel numero che prevede il comportamento reale, perché la maggior parte delle query OLTP emette letture singole e indipendenti. Profondità di coda più alte possono gonfiare i numeri degli IOPS, ma non riflettono come il tuo database colpisce realmente il disco.

In che modo gli IOPS differiscono dal throughput?

Gli IOPS contano le singole operazioni al secondo; il throughput misura i byte al secondo. Un trasferimento sequenziale come un backup può raggiungere un throughput elevato ma IOPS bassi, mentre un database esegue molte piccole letture casuali, quindi gli IOPS contano di più. Il marketing spesso cita il numero sequenziale.

Altro da archiviazione

NVMe
NVMe è un protocollo di storage che collega unità a stato solido direttamente tramite PCIe, raggiungendo circa 500.000 IOPS casuali con latenza sotto i 100 microsecondi.
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.