SAS, SSD e XIV A Confronto

Transcript

SAS, SSD e XIV A Confronto
Seeweb S.r.l.
Corso Lazio 9a
Frosinone
Tel. 800 112825
www.seeweb.com
SAS, SSD E XIV
A CONFRONTO
GIUGNO 2014
Benchmark comparativi dei sistemi di storage più diffusi nell’infrastruttura Cloud.
Test di scrittura, lettura e latenza effettuati in ambito enterprise su lame IBM
BladeCenter HS23
SOMMARIO
Sommario
Scenario ________________________________________________________________________________________________ 1
Il test____________________________________________________________________________________________________ 5
Risultati ________________________________________________________________________________________________ 8
Conclusioni____________________________________________________________________________________________ 15
Riferimenti: ___________________________________________________________________________________________ 17
Informazioni di contatto _____________________________________________________________________________ 18
Informazioni sulla societa ___________________________________________________________________________ 18
SCENARIO
Scenario
AMBIENTE DI TEST
I test sono stati effettuati su tre differenti server dello stesso IBM Blade Center HS23,
dotati ciascuno di 2 processori da 6 core e 48 GB di RAM. Su ogni server e stato installato
o configurato uno dei sistemi di storage da testare.
Le CPU sono Intel(R) Xeon(R) CPU E5-2620 da 2.00GHz, con un valore di cache size di
15360 KB.
Sui server e stata installata la medesima versione del sistema operativo Linux CentOS
6.5 (Final) con kernel 2.6.32-431.17.1.el6.x86_64; sul sistema sono stati installati
esclusivamente i software utilizzati per i benchmark in modo che i risultati non fossero
influenzati da altri fattori.
IBM BladeCenter HS23 con dischi SAS
GLI STORAGE TESTATI
Di seguito i tre sistemi di storage testati. Tutti i dischi erano nuovi e sono stati utilizzati
per la prima volta per l’esecuzione delle nostre prove.
Pagina 1
SCENARIO
DISCHI SAS
I dischi SAS testati sono IBM / SEAGATE 900GB 10K RPM SAS 2.5 SFF SYSTEM X HARD
DRIVE HDD ST9900805SS-IBM.
Driver: Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2004 PCI-Express
Fusion-MPT SAS-2 [Spitfire] (rev 03).
I dischi sono stati montati in RAID 1.
DISCHI SSD
I dischi SSD su cui sono stati effettuati i test sono dei Samsung SSD 840 BB6Q.
Driver: Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2004 PCI-Express
Fusion-MPT SAS-2 [Spitfire] (rev 03).
I dischi sono stati montati in RAID 1.
Pagina 2
SCENARIO
STORAGE XIV
Infine ulteriori benchmark sono stati eseguiti sul sistema di Storage Area Network IBM
XIV Storage Gen3.
Driver: Fibre Channel: Emulex Corporation OneConnect 10Gb FCoE Initiator (be3) (rev
03).
Pagina 3
SCENARIO
I TOOL UTILIZZATI
I software utilizzati per i test sono stati installati dai repository del sistema operativo o
compilati direttamente sul server seguendo le specifiche degli sviluppatori.
HDPARM
Hdparm fornisce una interfaccia a riga di comando per i vari sistemi di storage ioctls
supportati dai driver Linux ATA / IDE. In particolate per questi test, questo tool, e stato
ricompilato per supportare l’ultima release del kernel.
DD
Dd copia un file, formattandolo e convertendolo a seconda degli operandi passati in
input.
IOPING
Questo strumento consente di monitorare la latenza di I/O in tempo reale.
DBENCH
Questo tool e una emulazione della funzione di caricamento file system del benchmark
NetBench. Questo benchmark e una buona simulazione di una configurazione server
vera e propria in cui una grande quantita di file con dimensioni e posizioni diverse
devono essere creati, scritti, letti, ed eliminati. Permette di eseguire dei test con processi
in concorrenza.
Pagina 4
IL TEST
Il test
Lo scopo dei test era quello di verificare le reali prestazioni in scrittura e lettura, sia per
singoli processi che con processi paralleli, dei tre sistemi di storage esaminati.
I test sono stati eseguiti molteplici volte, e i risultati ottenuti dalle diverse esecuzioni
sono sempre stati sufficientemente simili da renderli attendibili.
I benchmark sono stati eseguiti utilizzando le medesime impostazioni e opzioni per
ciascun programma utilizzato.
Di seguito, i test eseguiti nel dettaglio. In tutti gli script, con la variabile $DEV indichiamo
il device.
HDPARM
Come primo test, e stato eseguito il software hdparm, e eseguito con le seguenti
opzioni:
hdparm -tT $DEV
Dove le opzioni riportate indicano rispettivamente:
-T
Esegue un test per avere i tempi di cache ai fini di un confronto di benchmark. Questa
opzione visualizza la velocita di lettura direttamente dalla cache buffer Linux senza
accesso al disco. Misura essenzialmente un'indicazione della velocita del processore,
cache, e la memoria del sistema in esame.
-t
Esegue un test di lettura di un dispositivo ai fini di un confronto di benchmark. Visualizza
la velocita di lettura attraverso la cache del disco senza alcun caching preventivo dei dati.
Da un'indicazione di quanto velocemente il disco puo sostenere letture di dati
sequenziali sotto Linux, senza alcun sovraccarico filesystem.
Pagina 5
IL TEST
DD
Il secondo test e stato eseguito usando il comando dd. Il test e composto da 2 fasi, la
prima scrive un file di 100GB, mentre la seconda lo legge.
dd if=/dev/zero of=tempfile bs=1M count=102400 conv=fdatasync
L’ opzione fdatasync passata a dd serve a richiedere un "sync " completo una volta,
proprio prima di uscire. Così impegna l'interamente i 100 GB di dati creati
(count=102400), indicando al sistema operativo di assicurarsi di copiarlo
completamente su disco. Solo allora misura il tempo totale impiegato per fare tutto
questo e calcola il risultato benchmark.
Dopo la scrittura viene eseguito il seguente comando per svuotare la cache in modo da
non alterare eventuali test successivi.
echo 3 > /proc/sys/vm/drop_caches
La seconda fase del test legge il file precedentemente creato.
dd if=tempfile of=/dev/null bs=1M
Tutti test sono stati eseguiti senza nessun dato nella cache del disco.
IOPING
Il terzo benchmark e stato eseguito utilizzando il tool ioping, un progetto sviluppato da
Google per misurare la latenza sul disco:
ioping -R $DEV
ioping -RL $DEV
Con tali opzioni, il test ha come risultato la latenza minima, massima, media della
ricerca all’interno del disco. L’opzione –L fa un test con operazioni sequenziali
piuttosto che random.
Pagina 6
IL TEST
DBENCH
L’ultimo test, e stato eseguito con dbench, sia in maniera sincrona che asincrona, con
differenti numeri di processi concorrenti:
###### dbench ####
dbench -D $DIR -t 120 1
dbench -D $DIR -t 120 2
dbench -D $DIR -t 120 4
dbench -D $DIR -t 120 8
dbench -D $DIR -t 120 16
dbench -D $DIR -t 120 32
dbench -D $DIR -t 120 64
dbench -D $DIR -t 120 128
###### dbench Sync ####
dbench -D $DIR -s -t 120 1
dbench -D $DIR -s -t 120 2
dbench -D $DIR -s -t 120 4
dbench -D $DIR -s -t 120 8
dbench -D $DIR -s -t 120 16
dbench -D $DIR -s -t 120 32
dbench -D $DIR -s -t 120 64
dbench -D $DIR -s -t 120 128
Il carico di lavoro per ogni processo dbench e specificato da un file di configurazione
client.txt nella directory (testing) di lavoro. Si compone di una miscela di operazioni di
file system eseguiti da ogni processo dbench. Esegue dei processi paralleli e fornisce
un solo valore di conseguenza. Il valore risultante e un erogato medio delle operazioni
di file system descritte in client.txt e misurata in megabyte al secondo.
Con una grande quantita di memoria come nel nostro caso, le misurazioni dbench
possono essere utilizzati per rilevare gli effetti di scalabilita della memoria.
Per il carico di lavoro dbench utilizzato per le nostre misurazioni il numero di clienti e
stato scalato come mostrato nella seguente sequenza: 1, 4, 8, 16, 32, 64, 128, sempre
con una durata di 120 secondi (-t 120).
Pagina 7
RISULTATI
Risultati
Di seguito l’esito dei risultati di ciascun test:
HDPARM
SAS
SSD
XIV
HDPARM -t
8728 MB/sec
8915 MB/sec
8935 MB/sec
HDPARM -T
150.32 MB/sec
364.36 MB/sec
344.20 MB/sec
10000
9000
8000
8728
8915
8935
7000
MB/sec
6000
SAS
5000
SSD
XIV
4000
3000
2000
1000
150
0
HDPARM -t
Pagina 8
364
HDPARM -T
344
RISULTATI
DD
SAS
SSD
XIV
DD SCRITTURA 100GB
143 MB/s
157 MB/s
880 MB/s
DD LETTURA 100GB
155 MB/s
439 MB/s
384 MB/s
TEST SCRITTURA E LETTURA
DD SCRITTURA 100GB
DD LETTURA 100GB
1000
880
900
800
MB/sec
700
600
500
439
384
400
300
200
155
143
157
100
0
SAS
Pagina 9
SSD
XIV
RISULTATI
IOPING
IOPING -R
IOPING - RL
SAS
SSD
XIV
145 iops, 580.6 KiB/s
8.0 k iops, 31.3 MiB/s
3.4 k iops, 13.2 MiB/s
min/avg/max/mdev (ms)
1.75 ms / 6.89 ms / 12.8 ms / 2.24 ms
min/avg/max/mdev
62 us / 124 us / 7.6 ms / 88 us
min/avg/max/mdev
162 us / 295 us / 17.0 ms / 557 us
657 iops, 164.4 MiB/s
1.3 k iops, 316.0 MiB/s
987 iops, 247.0 MiB/s
min/avg/max/mdev
1.30 ms / 1.52 ms / 13.5 ms / 405 us
min/avg/max/mdev
740 us / 791 us / 2.9 ms / 108 us
min/avg/max/mdev
818 us / 1.0 ms / 4.7 ms / 254 us
LATENZA MEDIA
IOPING -R
8
IOPING - RL
6,89
7
6
ms
5
4
3
1,52
2
0,791
1
0,124
1
0,295
0
SAS
SSD
XIV
SCRITTURA CALCOLATA
IOPING -R
IOPING - RL
350
316
300
247
MB/sec
250
200
164
150
100
50
0
31
SAS
Pagina 10
13
0,56
SSD
XIV
RISULTATI
DBENCH SINCRONO
SAS
3.47987 MB/sec
latency 36.325 ms
4.59014 MB/sec
latency 61.770 ms
6.43253 MB/sec
latency 91.437 ms
10.2296 MB/sec
latency 143.847 ms
13.6704 MB/sec
latency 209.320 ms
17.5596 MB/sec
latency 291.777 ms
20.3587 MB/sec
latency 380.990 ms
23.3151 MB/sec
latency 411.056 ms
DBENCH 1 PROC
DBENCH 2 PROC
DBENCH 4 PROC
DBENCH 8 PROC
DBENCH 16 PROC
DBENCH 32 PROC
DBENCH 64 PROC
DBENCH 128 PROC
SSD
6.28501 MB/sec
latency 28.933 ms
10.2345 MB/sec
latency 55.078 ms
14.9811 MB/sec
latency 30.819 ms
21.9186 MB/sec
latency 53.665 ms
28.5849 MB/sec
latency 74.942 ms
36.8647 MB/sec
latency 113.413 ms
45.7354 MB/sec
latency 185.764 ms
55.6715 MB/sec
latency 266.860 ms
XIV
68.0084 MB/sec
latency 5.771 ms
121.057 MB/sec
latency 8.155 ms
207.732 MB/sec
latency 7.579 ms
330.555 MB/sec
latency 8.419 ms
487.267 MB/sec
latency 10.269 ms
653.597 MB/sec
latency 12.052 ms
815.146 MB/sec
latency 22.757 ms
922.71 MB/sec
latency 41.857 ms
T E S T S C R I T T U RA S I N C RO N O
SAS
SSD
XIV
1000
922,7
815,1
MB/SEC
800
663,5
600
487,2
400
330,5
200
0
68
6,2
0
1
121
10,2
4,5
2
207,7
14,9
6,4
4
21,9
10,2
8
36,8
17,5
32
28,5
13,6
16
45,7
20,3
64
55,6
23,3
128
PROCESSI
TEST SCRITTURA SINCRONO NORMALIZZATO
MB/SEC
SAS
1024
512
256
128
64
32
16
8
4
2
1
68
6,2
3,4
1
121
10,2
4,5
2
207,7
14,9
6,4
4
SSD
XIV
635,6
815,1
922,7
487,3
21,9
10,2
36,6
17,5
45,7
20,3
55,6
28,5
13,6
8
16
32
64
128
330,6
PROCESSI
Pagina 11
23,3
RISULTATI
T E S T L AT E N ZA AS I N C RO N O
ms
SAS
450
400
350
300
250
200
150
100
50
0
SSD
XIV
380
291
209
36
28
5
1
91
30
7
4
113
74
53
8
8
266
185
143
61
55
8
2
411
10
12
22
16
32
64
41
128
PROCESSI
TEST LATENZA ASINCRONO NORMALIZZATO
SAS
SSD
XIV
512
256
128
ms
64
32
36,3
29,9
61,8
55,1
91,4
143,8
53,7
4
5,8
74,9
113,4
381
185,8
411
266,9
41,9
30,8
22,7
16
8
209,3
291,8
8,2
7,5
8,4
10,3
12
2
4
8
16
32
2
1
1
PROCESSI
Pagina 12
64
128
RISULTATI
DBENCH ASINCRONO
SAS
17.7284 MB/sec
latency 35.618 ms
30.1915 MB/sec
latency 44.229 ms
46.2279 MB/sec
latency 69.034 ms
72.1488 MB/sec
latency 76.873 ms
93.9349 MB/sec
latency 93.267 ms
112.19 MB/sec
latency 215.464 ms
116.683 MB/sec
latency 360.578 ms
103.067 MB/sec
latency 587,912 ms
DBENCH 1 PROC
DBENCH 2 PROC
DBENCH 4 PROC
DBENCH 8 PROC
DBENCH 16 PROC
DBENCH 32 PROC
DBENCH 64 PROC
DBENCH 128 PROC
SSD
40.4829 MB/sec
latency 25.218 ms
72.488 MB/sec
latency 28.764 ms
110.394 MB/sec
latency 36.497 ms
128.743 MB/sec
latency 52.582 ms
159.246 MB/sec
latency 80.103 ms
187.384 MB/sec
latency 108.374 ms
255.488 MB/sec
latency 152.761ms
333.975 MB/sec
latency 240.033 ms
XIV
223.688 MB/sec
latency 5.030 ms
410.228 MB/sec
latency 7.182 ms
627.514 MB/sec
latency 7.522 ms
977.844 MB/sec
latency 9.558 ms
1454.52 MB/sec
latency 9.786 ms
1946.36 MB/sec
latency 14.247 ms
2568.89 MB/sec
latency 24.176 ms
2749.69 MB/sec
latency 45.548 ms
T E S T S C R I T T U RA AS I N C RO N O
SAS
SSD
XIV
3000
2568
MB/SEC
2500
2000
1946
1500
1454
1000
500
0
2749
40
22
17
1
410
72
30
2
627
110
46
4
977
128
72
8
159
93
187
112
255
116
333
103
16
32
64
128
PROCESSI
T E S T S C R I T T U RA N O R M A L I ZZ ATO
SAS
SSD
4096
MB/SEC
1024
256
64
16
223,7
40,5
17,7
410,2
72,5
30,2
627,5
110,4
46,2
977,8
128,7
72,1
XIV
2568,9 2749,7
1454,5 1946,3
159,2
93,9
187,4
112,2
255,5
116,7
334
32
64
128
103
4
1
1
Pagina 13
2
4
PROCESSI
8
16
RISULTATI
T E S T L AT E N ZA AS I N C RO N O
SAS
SSD
XIV
700
587
600
ms
500
360
400
300
215
200
100
35
25
5
44
28
7
69
36
7
1
2
4
240
152
76
52
9
93
52
9
108
14
24
45
8
16
32
64
128
0
PROCESSI
T E ST L AT E N ZA N O R M A L I Z ZATO
ms
SAS
1024
512
256
128
64
32
16
8
4
2
1
35,6
25,2
5
1
SSD
XIV
93,3
80,1
44,2
28,8
69
36,5
76,8
52,6
7,1
7,5
9,6
9,8
2
4
8
16
PROCESSI
Pagina 14
215,5
108,4
360,6
152,8
587,9
240
45,5
14,2
32
24,1
64
128
CONCLUSIONI
Conclusioni
Dall’analisi dei vari risultati dei test, possiamo fare alcune osservazioni interessanti sul
comportamento dei dispositivi in esame, sia nei singoli test e iterazioni, che
nell’andamento delle loro performance. Ecco alcune delle considerazioni sull’esito dei
nostri test:
LETTURA
Il sistema piu performante in lettura risulta essere il disco SSD con 439 Mb/sec, subito
dopo troviamo XIV con 384 MB/s, pessime performance invece per il disco SAS con solo
155 MB/s MB/sec.
SCRITTURA
Si evidenzia una grandissima differenza di performance in scrittura tra gli storage. In
particolare, l’XIV dimostra una capacita di scrittura quasi 6 volte superiore agli altri due
dischi con una media di 880 MB/s. Il disco SAS e quello SSD in scrittura nel test eseguito
con dd rimangono attestati su valori simili tra loro (circa 150 MB/sec ciascuno).
TEST PARALLELI
Nei test paralleli, si riesce ad evidenziare in che modo questi storage scalano
all’aumentare dei processi paralleli. Il grafico mostra chiaramente come la crescita di
velocita in scrittura per l’XIV sia quasi lineare all’aumentare dei processi concorrenti nei
processi asincroni, e ancora di piu in quelli sincroni.
La scalabilita invece dello storage SSD e ancora di piu di quello SAS ha un andamento
sub-lineare.
LATENZA
I test sulla latenza mettono in evidenza come, all’aumentare dei processi paralleli, lo
storage SAS vada in difficolta, con valori quasi proporzionali all’aumentare dei processi.
Discorso analogo per i dischi SSD, ma con meno criticita all’aumentare dei processi.
Sorprendente invece il risultato per il test di latenza sia sincrono che asincrono dell’XIV,
dove la latenza rimane quasi invariata e sempre in un range di valori trascurabili.
I valori medi della latenza nei test di Dbench sono stati calcolati facendo la media dei
processi di scrittura per ogni iterazione, scartando il 5% dei valori massimi e minimi di
ciascuna ripetizione.
Pagina 15
CONCLUSIONI
DRIVER
Dai risultati ottenuti, si evidenzia anche la differenza dei driver utilizzati dai tre
dispositivi. In particolare, dalle nostre osservazioni, il driver Emulex utilizzato da XIV
risulta essere piu performante del driver LSI LOGIC utilizzati sia dai dischi SAS che SSD.
CONSIDERAZIONI
I test eseguiti mettono in evidenza come la scrittura sullo storage XIV sia notevolmente
superiore rispetto agli altri due sistemi di storage esaminati, con valori superiori di
quasi 6 volte rispetto all’SSD sulla singola scrittura, e piu di 8 volte superiore con 128
processi paralleli, raggiungendo picchi di scrittura di 2800 MB/sec nel caso del test
asincrono.
I risultati dei test riportano chiaramente che l’IBM XIV essendo uno dei sistemi piu
evoluti e complessi presenti sul mercato e decisamente piu performante in scrittura
rispetto a sistemi piu semplici come i dischi SSD e i dischi SAS.
Pagina 16
RIFERIMENTI:
Riferimenti:
1. IBM XIV Gen 3: http://www-03.ibm.com/systems/it/storage/disk/xiv/
2. SAN: http://it.wikipedia.org/wiki/Storage_Area_Network
3. IBM BladeCenter HS23:
http://www-03.ibm.com/systems/it/bladecenter/hardware/servers/hs23/
4. CentOS: http://www.centos.org/
5. Hdparm: http://linux.die.net/man/8/hdparm
6. Dd: http://linux.die.net/man/1/dd
7. Ioping: https://code.google.com/p/ioping/wiki/man
8. Dbench: http://linux.die.net/man/1/dbench
Pagina 17
INFORMAZIONI DI CONTATTO
Informazioni di contatto
Tutti i test sono stati eseguiti nel datacenter di Frosinone 2 di Seeweb. Benchmark e
articolo sono stati realizzati dai tecnici di Seeweb:
MARCO
CRISTOFANILLI
STEFANO
DI PEDE
[email protected]
@m4oc
[email protected]
@stefanodipede
Informazioni sulla societa
Seeweb S.r.l.
Corso Lazio 9a
Frosinone
Tel. 800 112825
www.seeweb.com
Pagina 18