Uno sguardo approfondito agli IOPS

Nelle schede tecniche dei dispositivi di memorizzazione, sia per SSDPer quanto riguarda gli array di storage aziendali o le specifiche dei dischi dei servizi cloud, la parola "IOPS" viene quasi sempre citata più volte. Le promozioni dei prodotti spesso evidenziano "milioni di IOPS" o "prestazioni casuali elevatissime" come punti di forza. Tuttavia, per molti utenti, IOPS rimane un termine tecnico che sembra importante ma che non viene compreso appieno. Tra le numerose metriche per la misurazione delle prestazioni dello storage, IOPS è un concetto cruciale ma spesso frainteso. Agisce come un giudice invisibile, determinando in modo silenzioso la fluidità con cui un sistema gestisce il multi-tasking e l'accesso casuale ai dati. La comprensione dello IOPS ci aiuta a vedere oltre le dichiarazioni di marketing e a comprendere veramente la natura delle prestazioni dei dispositivi di storage.
oscoo sguardo approfondito su iops article header img Uno sguardo approfondito su IOPS

Che cos'è lo IOPS?

IOPS è l'acronimo di Input/Output Operations Per Second. Si tratta di una metrica di base delle prestazioni che misura il numero di operazioni di ingresso/uscita al secondo. lettura/scrittura comandi che un dispositivo di archiviazione può elaborare al secondo. Un'analogia semplice: immaginate che un dispositivo di archiviazione sia uno sportello bancario. Lo IOPS non misura la quantità di denaro che passa attraverso lo sportello in un minuto, ma quante transazioni vengono elaborate in quel minuto: che si tratti di depositi, prelievi o trasferimenti, ognuna conta come un'operazione. Pertanto, lo IOPS misura principalmente la capacità di elaborazione o l'efficienza di risposta di un sistema di archiviazione, concentrandosi sulla frequenza delle operazioni e non sulla quantità di dati spostati per operazione. Sia che si tratti di leggere un piccolo documento di pochi KB da un'unità SSD veloce o di scrivere un file di grandi dimensioni da diversi GB su un'unità disco tradizionale, ogni richiesta indipendente di lettura/scrittura può essere conteggiata come IOPS. Capire che lo IOPS si concentra sul numero di operazioni, non sul volume di dati, è il primo passo per comprenderne correttamente il significato.

Perché è importante lo IOPS?

L'importanza dello IOPS deriva da un cambiamento fondamentale nel funzionamento degli ambienti informatici moderni. L'uso dei primi computer era relativamente semplice e spesso comportava un'attività importante alla volta, come la lettura o la scrittura di un file sequenziale di grandi dimensioni. In questi casi, il collo di bottiglia delle prestazioni era spesso la velocità di trasferimento dei dati, cioè il throughput. Tuttavia, i sistemi operativi e le applicazioni di oggi eseguono costantemente operazioni multi-tasking altamente simultanee. Quando si aprono contemporaneamente un browser, un software per ufficio, strumenti di comunicazione e persino la riproduzione di musica in background, il sistema operativo deve gestire un gran numero di richieste di lettura/scrittura sparse da programmi diversi.
oscoo 2b banner 1400x475 1 Uno sguardo approfondito agli IOPS
La maggior parte di queste richieste è distribuita in modo casuale in varie posizioni del dispositivo di archiviazione, non sequenziale e ordinato. È come un incrocio trafficato: ciò che conta di più non è il limite massimo di velocità su una singola corsia, ma la capacità dell'incrocio di gestire il flusso di traffico da tutte le direzioni, ovvero il numero di veicoli che possono attraversare l'incrocio al secondo senza congestionarlo. Un'elevata capacità IOPS garantisce che, di fronte a un accesso massiccio, casuale e simultaneo ai dati, il dispositivo di archiviazione possa rispondere rapidamente a ogni richiesta. In questo modo, più programmi sembrano funzionare simultaneamente senza problemi, senza ritardi di sistema causati dal sovraccarico dell'unità di archiviazione. Pertanto, nelle applicazioni quotidiane dominate da operazioni di lettura/scrittura casuali, un'elevata IOPS determina direttamente la reattività del sistema e la fluidità dell'esperienza dell'utente.

Che cosa misura in particolare lo IOPS?

Per comprendere con precisione lo IOPS, è fondamentale distinguerlo da un'altra metrica comune, il throughput, spesso chiamato velocità di trasferimento (MB/s). Lo IOPS si concentra sul numero di operazioni indipendenti di lettura/scrittura che il dispositivo di archiviazione è in grado di eseguire al secondo, misurando la sua capacità di gestire attività discrete. Il throughput si concentra sulla quantità totale di dati trasferiti con successo per unità di tempo, misurando la larghezza di banda del flusso di dati. La relazione tra questi due parametri è influenzata da un fattore chiave: la dimensione del blocco di dati richiesto per ogni operazione di lettura/scrittura. La conversione è semplice:
Velocità di trasferimento (MB/s) ≈ IOPS × Dimensione del blocco (tipicamente in KB) / 1024
Ciò significa che per un IOPS fisso, la dimensione del blocco dati determina direttamente la velocità di trasferimento. Ad esempio, un dispositivo di archiviazione capace di 10.000 IOPS. Quando gestisce blocchi di dati tipici di 4KB, la sua velocità di trasferimento è di circa 10.000 × 4KB / 1024 ≈ 39 MB/s. Questa velocità non sembra elevata. Tuttavia, quando lo stesso dispositivo gestisce blocchi di grandi dimensioni da 1MB, la velocità diventa 10.000 × 1MB / 1024 ≈ 9,8 GB/s, una velocità davvero impressionante. Questo esempio mostra chiaramente che un elevato IOPS non significa necessariamente una velocità di trasferimento elevata per i file di grandi dimensioni. Al contrario, un dispositivo che vanta velocità di lettura/scrittura sequenziali molto elevate potrebbe avere un basso IOPS quando gestisce file di piccole dimensioni, con conseguenti scarse prestazioni. Pertanto, discutere di IOPS o velocità di trasferimento in modo isolato, senza considerare le dimensioni dei blocchi e i modelli di accesso, è incompleto.

Come viene testato lo IOPS?

Il valore IOPS non è un numero fisso assoluto; dipende fortemente dalle condizioni di test. Per ottenere dati IOPS significativi o per comprendere correttamente le specifiche pubblicate dai fornitori, è necessario conoscere i parametri chiave dei test. (PS: i test richiedono strumenti di benchmark specializzati, come CrystalDiskMark per gli utenti generici, o strumenti a riga di comando più potenti e flessibili come FIO).
I parametri principali da impostare sono il tipo di lettura/scrittura e la dimensione del blocco.
  • Tipi di lettura/scrittura. Esistono due tipi principali: Sequenziale e Casuale. La lettura/scrittura sequenziale simula la lettura/scrittura di un singolo file di grandi dimensioni, come la copia di un film. La lettura/scrittura casuale simula l'esecuzione di un sistema operativo o di un database, che deve leggere/scrivere frequentemente molti piccoli file sparsi sul disco: un test importante per le prestazioni dello storage.
  • Dimensione del blocco. 4KB è quasi lo standard predefinito per i benchmark del settore. Questo perché le strutture dei file system dei moderni sistemi operativi e la maggior parte delle richieste di I/O generate dalle applicazioni ruotano attorno alla dimensione della pagina di 4KB. L'uso di una dimensione standard consente un facile confronto tra i dispositivi. Pertanto, la metrica "Random Read/Write IOPS", se non diversamente specificato, si riferisce di solito al valore misurato con una dimensione di blocco di 4KB.
Un altro parametro chiave è la profondità della coda (QD), che può essere considerata come il numero di comandi che il sistema invia contemporaneamente al dispositivo di archiviazione. Una profondità di coda più elevata sfrutta meglio il potenziale di elaborazione parallela del controller di archiviazione. Ad esempio, una recensione di un'unità SSD NVMe aziendale ad alte prestazioni potrebbe indicare: "La velocità massima di lettura casuale IOPS (4KB, QD=32) raggiunge 1 milione". Questo numero può essere decine di volte superiore alle IOPS misurate con QD=1, mostrando le prestazioni di picco del dispositivo in condizioni di forte carico simultaneo.
Infine, un concetto cruciale è la distinzione tra prestazioni di picco e prestazioni costanti. Molti test mostrano le prestazioni di picco in condizioni di stress elevato e breve, in cui la cache SLC dell'unità SSD non è esaurita, ottenendo risultati impressionanti. Ma un parametro più importante sono le prestazioni allo stato stazionario: il livello in cui le prestazioni si stabilizzano dopo un'intensa e prolungata attività di lettura/scrittura. Questo dato riflette meglio le prestazioni reali del dispositivo in condizioni di carico estremo e la stabilità a lungo termine.

Fattori principali che influenzano gli IOPS

Le prestazioni IOPS di un dispositivo di archiviazione non sono determinate da un singolo fattore, ma dall'effetto combinato dell'hardware e del software sottostanti. I principali fattori che influiscono sono:
  1. Tipo di supporto di memorizzazione. Questo è il fattore più importante. Le IOPS delle unità disco sono limitate dal tempo di ricerca della testina di lettura/scrittura, che in genere si aggira intorno alle 200 unità. Le unità SSD utilizzano la segnalazione elettronica, eliminando il ritardo meccanico e raggiungendo così decine di migliaia o milioni di IOPS.
  2. Interfaccia e protocollo. L'interfaccia è il percorso dei dati; il protocollo è la regola di comunicazione. L'interfaccia SATA e il protocollo AHCI sono stati progettati per l'era delle unità disco; la loro larghezza di banda e l'efficienza dei comandi limitano le prestazioni delle unità SSD. Il protocollo NVMe con interfaccia PCIe offre un'elevata larghezza di banda e una bassa latenza, ed è stato progettato specificamente per le unità SSD ad alto numero di IOPS.
  3. Algoritmi del controller e del firmware. Il controllore è il cervello del dispositivo di memorizzazione. Un potente chip controller è in grado di gestire in modo efficiente le richieste simultanee in presenza di elevate profondità di coda. Gli algoritmi avanzati del firmware ottimizzano i processi di lettura/scrittura, la garbage collection e il livellamento dell'usura, determinando direttamente i picchi di IOPS e la stabilità.
  4. Tipo di lettura/scrittura. Di solito, le IOPS di lettura sono superiori a quelle di scrittura. Soprattutto sulle unità SSD, le scritture possono richiedere prima una fase di cancellazione, rendendo le IOPS di scrittura casuale spesso il collo di bottiglia delle prestazioni e un indicatore chiave della qualità complessiva del design dell'unità.
  5. Profondità della coda. Come si è detto nei test, una maggiore profondità delle code sfrutta meglio il potenziale di elaborazione concorrente dell'hardware. Pertanto, il supporto di elevate profondità di coda è un requisito fondamentale per l'hardware per ottenere un elevato IOPS.

Rapporto tra IOPS e altre metriche di prestazione

Per valutare appieno le prestazioni dello storage, non bisogna considerare gli IOPS in modo isolato, ma combinarli con altre metriche come la latenza e il throughput. Esse formano un quadro interconnesso delle prestazioni.
  • IOPS vs. latenza. Questa è la relazione principale. La latenza misura il tempo necessario per completare un'operazione di I/O. L'ideale è un elevato IOPS con una bassa latenza. L'ideale è un elevato IOPS con una bassa latenza. Tuttavia, quando il carico aumenta e le IOPS si avvicinano al limite del dispositivo, le richieste si accodano e la latenza aumenta in modo significativo. Pertanto, un elevato IOPS ha un valore pratico solo se accompagnato da una bassa latenza; altrimenti, è come un casello autostradale congestionato: il totale dei veicoli che passano può essere elevato, ma il tempo di attesa di ciascun veicolo è lungo.
  • IOPS vs. Throughput:Sono collegati dalla "dimensione del blocco" mediante la formula: Throughput ≈ IOPS × Block Size. I loro obiettivi differiscono: Un elevato IOPS è fondamentale per le applicazioni che prevedono la lettura/scrittura casuale di file di piccole dimensioni, mentre un elevato throughput è vantaggioso per la lettura/scrittura sequenziale di file di grandi dimensioni. Un buon dispositivo di archiviazione dovrebbe funzionare bene in entrambe le modalità.
  • IOPS e QoS (Qualità del servizio):Negli scenari avanzati, la media degli IOPS non è sufficiente; la QoS è importante. La QoS si concentra sulla stabilità di IOPS e latenza, garantendo tempi di risposta prevedibili per la maggior parte delle richieste. Una metrica chiave è la latenza di coda, che garantisce che il 99,9% o addirittura il 99,99% delle richieste di I/O abbiano una latenza inferiore a una certa soglia. In questo modo si evita che poche richieste molto lente abbiano un impatto sull'esperienza complessiva, il che è fondamentale per i database, la virtualizzazione e altre attività critiche.

Significato pratico di IOPS in diversi scenari

L'importanza degli IOPS varia a seconda dello scenario applicativo. La comprensione delle diverse esigenze aiuta a scegliere meglio lo storage.
  • Informatica personale/di consumo:In questo caso, l'esperienza dell'utente dipende in larga misura dagli IOPS in lettura casuale del dispositivo di archiviazione. Un elevato IOPS in lettura casuale riduce significativamente i tempi di avvio del sistema operativo, accelera il caricamento delle applicazioni (browser, suite per ufficio) e riduce lo stutter durante il caricamento dei livelli di gioco. Per la maggior parte degli utenti, un'unità SSD SATA o un'unità SSD NVMe entry-level con buone prestazioni in lettura casuale offre un miglioramento trasformativo.
  • Server e database aziendali. Si tratta di uno degli scenari più esigenti in termini di IOPS, che richiede in particolare un elevato IOPS di lettura/scrittura casuale e una latenza molto bassa. I sistemi di gestione di database (ad esempio, Oracle, MySQL) che elaborano transazioni online devono leggere/scrivere istantaneamente numerosi blocchi di dati sparsi. Le piattaforme di virtualizzazione (ad esempio, VMware) che eseguono più macchine virtuali contemporaneamente generano carichi di I/O densi e casuali. In questo caso, la stabilità e la coerenza IOPS (QoS) sono spesso più importanti delle prestazioni di picco, poiché qualsiasi fluttuazione può causare direttamente un'interruzione dell'attività.
  • IA e Big Data Analytics:Questi scenari hanno esigenze complesse, che spesso richiedono una combinazione di throughput e IOPS elevati. Durante la fase di preparazione dei dati per l'addestramento dei modelli di intelligenza artificiale, la lettura rapida di un numero massiccio di file campione di addestramento (spesso molti file di piccole dimensioni) richiede un elevato IOPS. Durante il processo di addestramento vero e proprio, si tende a leggere sequenzialmente grandi lotti di dati, dove l'elevata velocità di lettura sequenziale diventa fondamentale. Le unità SSD NVMe ad alte prestazioni, persino le architetture NVMe-oF, sono quindi preferite in questi campi.

Limitazioni di IOPS

Sebbene l'IOPS sia una metrica fondamentale per le prestazioni dello storage, il fatto di basarsi eccessivamente su di essa o di considerarla in modo isolato può essere fuorviante. Dobbiamo riconoscere i suoi limiti per evitare la trappola dei "soli numeri".
  • Picco e mondo reale:Un singolo numero di IOPS elevato non sempre equivale a un'ottima esperienza utente nel mondo reale. I numeri IOPS dei fornitori sono spesso prestazioni di picco misurate in condizioni di laboratorio ideali (ad esempio, profondità di coda elevata, test brevi). Questo è difficile da replicare nell'uso quotidiano, dove le operazioni degli utenti assomigliano a basse profondità di coda e le IOPS possono essere molto più basse. Un'unità che offre IOPS stabili e a bassa latenza con basse profondità di coda è spesso migliore di un'unità che offre numeri elevati solo con alte profondità di coda.
  • Nasconde la variazione di latenza. Lo IOPS, in quanto media, non può rivelare la distribuzione della latenza per le singole richieste di I/O. Conta le operazioni totali al secondo, ma non mostra se ci sono alcune richieste estremamente lente mescolate tra loro. Conta le operazioni totali al secondo, ma non mostra se ci sono alcune richieste estremamente lente. Queste richieste ad alta latenza, la "latenza di coda", anche se sono poche, possono causare blocchi dell'applicazione o timeout del database. Per le applicazioni che richiedono una coerenza omogenea, garantire che il 99,9% delle richieste sia al di sotto di una certa soglia di latenza è molto più importante che inseguire un numero medio di IOPS elevato.
  • Sostenibilità delle prestazioni. I test IOPS standard spesso non riflettono la stabilità delle prestazioni in condizioni di carico elevato e prolungato. Molte unità SSD utilizzano una cache SLC per mantenere inizialmente velocità molto elevate; una volta esaurita la cache, la velocità di scrittura può diminuire notevolmente. Pertanto, le "prestazioni stabili" dell'unità dopo una scrittura sostenuta per decine di minuti o ore sono più significative delle "prestazioni di picco" dei primi secondi. Inoltre, l'indice IOPS di per sé non dice nulla sulla sicurezza dei dati o sulla resistenza dell'unità; un'unità ad alto indice IOPS potrebbe presentare bug nel firmware o avere una durata di vita breve.

Come visualizzare correttamente gli IOPS?

  1. Primo scenario. Prima di valutare qualsiasi metrica, definite il vostro caso d'uso principale. Per le attività di tipo consumer (lavoro d'ufficio, navigazione web, giochi), un SSD SATA o un'unità SSD NVMe entry-level con IOPS nell'ordine delle decine o centinaia di migliaia (ad esempio, 100k-500k IOPS in lettura casuale) offre già un'esperienza molto fluida. La ricerca cieca di milioni di IOPS offre miglioramenti minimi e percepibili. Al contrario, per gli scenari aziendali (database, virtualizzazione, HPC), scegliere SSD aziendali con IOPS stabili di centinaia di migliaia o milioni di unità, con particolare attenzione alla bassa latenza.
  2. Considerazioni generali. Non considerate mai il solo numero di IOPS, ma combinatelo con altre metriche e fattori.
    • IOPS con latenza: un'unità che dichiara 800.000 IOPS in lettura casuale con una latenza media inferiore a 0,1 ms sarà decisamente migliore di un'unità con 1 milione di IOPS ma una latenza di 1 ms.
    • Concentrarsi sullo stato stazionario: nelle recensioni professionali, le prestazioni di un'unità potrebbero scendere da un picco di 500k IOPS a un valore stabile di 150k IOPS dopo 30 minuti a pieno carico. Questo "valore stabile" è più importante del picco.
    • Considerate la durata e la garanzia: controllate sempre il periodo di garanzia e il valore TBW (Total Bytes Written). Ad esempio, la garanzia di un'unità SSD da 1 TB può essere di 5 anni o di 600 TBW, il che indica un'affidabilità a lungo termine maggiore del semplice numero di IOPS.
  1. Siate razionali sui parametri di riferimento. I punteggi dei benchmark sono importanti strumenti di riferimento, non standard assoluti. Aiutano a restringere rapidamente le scelte, ad esempio confrontando gli IOPS di diversi modelli di SSD dello stesso prezzo con parametri di test identici. Tuttavia, la decisione finale dovrebbe tenere conto anche delle recensioni degli utenti relative alle prestazioni reali nel tempo, dei rapporti sulla percentuale di guasti e della reputazione del marchio, in quanto riflettono il comportamento complessivo del prodotto nel mondo reale.
Nel mondo delle prestazioni dello storage, lo IOPS è una metrica fondamentale che rivela la capacità di base di un dispositivo di gestire richieste simultanee. Tuttavia, come abbiamo visto, è solo un pezzo del puzzle. La vera valutazione delle prestazioni richiede di guardare al di là di un singolo numero per avere un quadro più ampio. L'essenza dello storage ad alte prestazioni risiede in un sottile equilibrio tra più dimensioni. Oltre agli IOPS, la latenza determina la reattività, il throughput influisce sull'efficienza del trasferimento di dati di grandi dimensioni e la stabilità a lungo termine è fondamentale per la continuità aziendale. Queste metriche sono interconnesse; una debolezza in una di esse può diventare un collo di bottiglia nell'esperienza reale. Per gli utenti, considerare razionalmente gli IOPS e concentrarsi sulle prestazioni complessive sotto carichi reali è la chiave per selezionare e valutare i dispositivi di storage.
Scorri in alto

Contattaci

Compilate il modulo sottostante e vi contatteremo al più presto.

Modulo di contatto Prodotto