Scopriamo il valore degli IOPS

In un post precedente abbiamo parlato del valore dei GHZ del processore e con quale metrica si definiscono le performance di calcolo della CPU. Sempre in termini di performance oggi parliamo di IOPS ovvero di Input/Output Operations Per Second. Ne parleremo in termini semplificati e non rigorosi per permettere a tutti di capirne i concetti di base.
In un mondo perfetto e in un cloud perfetto questo valore potrebbe interessarvi relativamente ma se tra le vostre VM in produzione ce n’è una in cui il disco è costantemente impegnato a scrivere o leggere dati, beh, è il caso di continuare la lettura.

Nel momento in cui la VM comincia a trasferire dati dalla RAM al disco, il dato passa alla SAN (Storage Area Network – l’area in cui risiedono i cassetti con tutti gli hard disk) per essere scritto. La quantità di operazioni che vengono eseguite nell’intervallo di tempo di un secondo determina il valore degli IOPS in scrittura. Il risultato con il percorso inverso, dalla SAN alla VM, determina invece il valore degli IOPS in lettura. Gli IOPS in lettura e scrittura, nella stessa infrastruttura, non sono uguali e la criticità, nella grande maggioranza dei casi, si manifesta durante la fase di scrittura.

Il numero degli IOPS disponibili non dipendono solo dalla tipologia dei dischi che vengono configurati nella SAN ma anche da vari fattori come la tipologia del RAID (Redundant Array of Independent Disks) utilizzato e da quante VM stanno scrivendo (o leggendo) in quel preciso momento nello storage.

Per darvi qualche proporzione: hard disk meccanici da 10K (10.000 giri) garantiscono 120-150 IOPS mentre hard disk meccanici da 15K all’incirca 170-210 IOPS.
Hard disk solid state (SSD) possono raggiungere oltre 60.000 IOPS.

Già, ma cosa succede al proprio server se molte VM scrivono nella stessa SAN e gli IOPS a disposizione si riducono drasticamente?
Nella migliore delle ipotesi il vostro sistema risulterà molto più lento del normale mentre nella peggiore delle ipotesi potrebbe addirittura bloccarsi.

A tal proposito, in MWMCED Private Cloud, abbiamo introdotto dei livelli di servizio che, a seconda del tipo di disco acquistato dal cliente (7.5K, 10K, 15K, SSD), garantiscono degli IOPS minimi. Ad esempio, sui nostri Hard Disk da 10K, garantiamo da contratto un minimo di 550 IOPS. Questo preciso accordo permette ai clienti che scelgono la nostra infrastruttura di avere delle garanzie di performance su determinati servizi particolarmente esigenti di IOPS (MS SQL Server, MS Exchange Server, Oracle DB Server, ecc.)

Oltre a garantire gli IOPS, sottoscrivendoli nei nostri contratti di SLA (Service Level Agreement), abbiamo negli ultimi anni lavorato al progetto Zero Latency.
La latenza, a differenza degli IOPS, viene definita come “il tempo che intercorre nel passaggio del dato tra la ram della VM e la relativa scrittura sul disco”.
Il risultato viene espresso in millisecondi.
In MWMCED abbiamo inserito una cache SSD tra RAM e SAN che ci ha permesso di raggiungere latenze prossime allo zero.
Il dato in questo caso viene salvato in modalità temporanea in cache e poi, con la dovuta accortezza, riportato nello storage.

Quando qualche anno fa abbiamo presentato questa tecnologia qualcuno ci ha chiesto: “ma se un SSD raggiunge oltre 60.000 IOPS perché non avete scritto il dato direttamente lì?
In primis perché un’infrastruttura in HA scalabile non scrive sul disco presente all’interno del server dove è installato il sistema di virtualizzazione ma di fatto utilizza una SAN. Nella SAN sono presenti i cassetti con centinaia e centinaia di dischi che assieme formano prima degli Array e poi delle LUN. Il tipo di RAID configurato garantisce sia le performance ma soprattutto la sicurezza che il dato, in caso di guasto di un HD, sia mantenuto intatto.
Oggi (04/2016) l’utilizzo degli SSD inciderebbe moltissimo sul costo dello spazio disco del cliente e risulterebbe fuori mercato (ndr: tenete pero’ presente che ogni mese il rapporto capienza/prezzo tende ad aumentare). Con il progetto Zero Latency siamo riusciti a mantenere un costo competitivo con performance pari agli SSD nonostante dischi meccanici.
Ad oggi questa soluzione risulta essere la migliore, lo dimostra anche il fatto che la stessa VMware, nell’ultima versione di vSphere ha aggiunto una nuova tipologia di datastore (Virtual SAN) che utilizza un’analoga architettura.

Se volete fare qualche benchmark IOPS sulle vostre VM potete utilizzare questi software:

www.iozone.org

labs.vmware.com/flings/io-analyzer

www.iometer.org

freecode.com/projects/fio

A noi è appena venuto in mente un bel contest IOPS tra Public Cloud 🙂

Zero latenza a tutti.

Lascia un commento