Risultati: prestazioni casuali 4 KB, scaling in RAID 0

Cosa succede se mettiamo insieme 24 SSD DC S3700 Intel, del valore di quasi 50mila euro, e creiamo un gigantesco volume RAID 0? L'apoteosi dell'archiviazione.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Numero thread vs. queue depth

Se stessimo provando un solo SSD, potremmo semplicemente passare tra queue depth crescenti. Un processo di sistema accoderebbe i comandi, creando varie QD. Tutto questo non va bene quando si testano SSD PCIe e configurazioni RAID. I generatori di carichi di lavoro iniziano ad andare fuori giri a QD più alte con solo un singolo thread. Si devono far girare più thread a QD multiple per avere la massima prestazione.

Il grafico qui sopra ci permette di offrire una rappresentazione visiva di questa dinamica in azione. Abbiamo iniziato con una queue depth di uno usando un thread, e siamo arrivati a 32 thread simultanei ognuno bombardando l'array con una QD di 32. Con un solo thread le scritture casuali 4 KB hanno superato di poco le 100.000 IOPS. Se diamo in pasto all'array 32 thread, possiamo superare il milione di IOPS. Questo è il motivo per cui bloccheremo il numero di thread a 32 e da qui in avanti varieremo le queue depth.

Prestazioni casuali in lettura 4 KB, scaling in RAID 0

Una cosa che si pretende in RAID è lo scaling, ovvero un aumento commisurato delle prestazioni in base al numero di drive. Poi, applicando un carico di lavoro più esigente, si desidera che le prestazioni crescano di pari passo all'intensità. Tutto questo non dovrebbe essere troppo difficile da ottenere in RAID 0, dopotutto non c'è molto overhead e nessun tolleranza a rallentarci.

Fin da subito possiamo identificare alcuni elementi curiosi in questa classifica. Anzitutto, avere 1.010.755 IOPS con 24 drive in RAID 0 è estremamente soddisfacente. Stiamo parlando di un throughput di quasi 4 GB/s. Secondariamente, il divario tra otto SSD DC S3700 e sedici è enorme. È quasi del 100% o 400.000 IOPS, la stessa percentuale d'incremento che si ottiene passando da quattro a otto drive. Il passaggio da 16 a 24 dovrebbe portare un incremento delle prestazioni del 50%, ma ci scontriamo chiaramente contro un collo di bottiglia, e raggiungiamo un "modesto" incremento del 25% rispetto al RAID con 16 drive.

Si tratta tuttavia di uno scaling eccellente ed è irragionevole aspettarsi qualcosa di diverso. Quando dividiamo il picco in lettura casuale con 24 drive per il numero di SSD, ogni unità contribuisce con 42.114 IOPS. Un solo S3700 da 800 GB è attestato per 76.000 IOPS con letture 4 KB. Quindi, a un primo sguardo, stiamo perdendo un sacco di prestazioni. Considerando lo scaling reale, siamo comunque contenti di avere metà delle prestazioni di picco. Avere 42.000 IOPS con 24 SSD e 50.000 con 16 o meno è uno "pseudo-miracolo". Non dimentichiamo comunque che il RAID 0 è pericoloso: se un solo SSD si rompe, perdete tutto.

Prestazioni casuali in scrittura 4 KB, scaling in RAID 0

Passando alle scritture abbiamo più o meno lo stesso quadro. Lo scaling fantastico c'è ancora.

È giusto però evidenziare che stiamo osservando punteggi da SSD "nuovo". Non abbiamo fatto abbastanza scritture sugli SSD per portarli in uno stato in cui è necessaria la garbage collection. I limiti di tempo imposti dalla recensione ci hanno impedito di farlo. Queste soluzioni da 800 GB, tuttavia, sono attestate a 36.000 IOPS in stato di equilibrio. Quindi, non ci aspetteremmo un calo marcato. Il RAID di 24 unità supera le 980.000 IOPS, dandoci circa 41.000 IOPS in scrittura per SSD. In teoria potremmo ottenere 860.000 IOPS con scritture 4 KB per anni con un RAID 0 di 24 unità. Non è fantastico?

Se queste fossero unità desktop tradizionali, vorremmo dell'over-provisioning. Senza TRIM, la prestazione potrebbero degradarsi in modo netto, e l'unica soluzione preventiva sarebbe sacrificare la capacità usabile per mantenere la velocità nel tempo. La gamma SSD DC S3700 di Intel, e la maggior parte delle altre unità SATA enterprise vengono sottoposte a over-provisioning per una ragione. Nel caso del modello da 800 GB, solo 745 GB di 1024 GB sono usabili. In cambio, però, avete prestazioni in stato di equilibrio costanti. Di conseguenza, questo si traduce in una write amplification inferiore, ovvero le 10 scritture casuali complete al giorno per 5 anni che Intel assicura per ogni S3700.