Avanti Indietro Indice

7. Prestazioni

Questa parte contiene un certo numero di benchmark di un sistema reale che usa il software RAID.

I benchmark sono stati fatti con il programma Bonnie e ogni volta con file grandi due o più volte la dimensione della RAM fisica presente sulla macchina.

I benchmark misurano solo la larghezza di banda (bandwidth) in ingresso e in uscita su un solo grande file. Questa è una cosa interessante da conoscere, se siamo interessati al massimo indice di trasferimento (throughput) per scritture/letture di grandi quantità di dati. In ogni caso, questi numeri ci dicono poco delle prestazioni dell'array se esso fosse usato come un "news spool", un web-server, ecc. Teniamo sempre in mente, che i numeri dei benchmark sono il risultato dell'esecuzione di un programma ``sintetico''. Pochi dei programmi che appartengono alla vita reale fanno quello che fa Bonnie e, sebbene questi numeri di I/O siano interessanti da guardare, non sono indicativi delle prestazioni dei programmi reali. Non troppo almeno.

Per ora ho solo i risultati ottenuti sulla mia macchina. Il sistema è:

I tre dischi U2W pianterebbero il controller U2W, and il disco UW ingolferebbe il controller UW.

Sembra impossibile instradare più di 30 MB/s di dati attraverso i bus SCSI del sistema usando o meno il RAID. Quello che credo è che, siccome il sistema è piuttosto vecchio, sia la banda passante della memoria a mancare, e questo limita quello che può essere inviato attraverso un controller SCSI.

7.1 RAID-0

La lettura è un "Sequential block input", e la scrittura è un "Sequential block output". La dimensione del file è stata di 1 GB per tutti i test. I test sono stati fatti in modalità singolo utente (single user). Il driver SCSI è stato configurato per non usare il "tagged command queuing".


Chunk size
Block size Read KB/s Write KB/s
4k 1k 19712 18035
4k 4k 34048 27061
8k 1k 19301 18091
8k 4k 33920 27118
16k 1k 19330 18179
16k 2k 28161 23682
16k 4k 33990 27229
32k 1k 19251 18194
32k 4k 34071 26976

a questo, sembra che la dimensione del chunk non faccia molta differenza. Comunque, la dimensione del blocco dell'ext2fs dovrebbe essere più grande possibile, quindi 4 KB (ovvero la dimensione della pagina) sui sistemi IA-32.

7.2 RAID-0 con TCQ

Questa volta il driver SCSI è stato configurato per utilizzare il "tagged command queuing", con una profondità della coda di 8. Per il resto tutto come prima.


Chunk size
Block size Read KB/s Write KB/s
32k 4k 33617 27215

Nessun altro test è stato fatto. TCQ sembra incrementare un poco le prestazioni in scrittura, ma in realtà non è che ci sia poi tutta questa differenza.

7.3 RAID-5

L'array è stato configurato per lavorare in modalità RAID-5, dei test simili ai precedenti sono stati fatti.


Chunk size
Block size Read KB/s Write KB/s
8k 1k 11090 6874
8k 4k 13474 12229
32k 1k 11442 8291
32k 2k 16089 10926
32k 4k 18724 12627

Ora, sia la dimensione del chunk che quella del blocco del filesystem sembrano effettivamente fare la differenza.

7.4 RAID-10

Un array RAID-10 è composto da ``mirrored stripes'', ovvero, un array RAID-1 di due array RAID-0. La chunk-size è la dimensione del chunk sia dell'array RAID-1 che di quello RAID-0. Non ho compiuto dei test nel caso in cui le due dimensioni del chunk differiscano, per quanto sia perfettamente lecito.


Chunk size
Block size Read KB/s Write KB/s
32k 1k 13753 11580
32k 4k 23432 22249

Nessun altro test è stato fatto. La dimensione del file era 900MB, perché le quattro partizioni coinvolte erano da 500 MB ognuna, il che non permetteva di avere spazio per un file da 1 GB in questa configurazione (RAID-1 su due array da 1000MB).


Avanti Indietro Indice