Quantcast
Viewing all articles
Browse latest Browse all 10

Benchmark: SSD-Raid vs. SAS-Raid

Hier noch ein kleiner Benchmark, der schon einige Zeit zurückliegt. Um die Performance eines unserer Datenbankserver zu erhöhen, wurde eine Raid 10 aus 4 SAS-Festplatten durch ein Raid 10 aus SSDs ersetzt. Das die SSDs schneller sein würden, war uns klar. Wir waren nur gespannt, um welchen Faktor sich der Datendurchsatz erhöhen würde. Hier die weiteren Einzelheiten:

Die Ausgangssituation:
Hardware:
SunFire X4150 Server
2 x Quad-Core Intel Xeon X5460 (2x6MB L2, 3.16 GHz)
32 GB DDR2 ECC registered RAM

4 x HDD 73 GB SAS 10000rpm (RAID 10)
vs.
4 x HDD 32 GB SSD (RAID 10)

Software:
RedHat Enterprise Linux 5.3

Der Test:
Als Benchmark-Werkzeug kam der FileIO-Test von sysbench zum Einsatz. Dieser wurde sowohl für das RAID10 aus SAS-Platten, als auch für das RAID10 aus SSDs ausgeführt. Bevor der Test jedoch gestartet wurde, wurden die entsprechenden Rohdaten erzeugt. Dies geschah wie folgt:

#> sysbench --test=fileio --file-total-size=50G prepare
sysbench 0.4.12:  multi-threaded system evaluation benchmark
128 files, 409600Kb each, 51200Mb total
Creating files for the test...

Anschließend wurde der Test mit folgenden Parametern gestartet:

#> sysbench --test=fileio --file-total-size=50G 
   --file-test-mode=rndrw --max-time=300 run

Das Testergebnis:
Nach dem der Benchmark beendet war, erhielt ich folgende Zusammenfassung:

SAS-RAID 10:

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
128 files, 400Mb each
50Gb total file size
Block size 16Kb
Number of random requests for random IO: 10000
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() 
each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Threads started!
Done.

Operations performed:  6000 Read, 4000 Write,
12800 Other = 22800 Total
Read 93.75Mb  Written 62.5Mb 
Total transferred 156.25Mb  (2.5413Mb/sec)
162.65 Requests/sec executed

Test execution summary:
    total time:                          61.4835s
    total number of events:              10000
    total time taken by event execution: 57.6007
    per-request statistics:
         min:                                  0.01ms
         avg:                                  5.76ms
         max:                                120.20ms
         approx.  95 percentile:              15.25ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   57.6007/0.00

SSD-RAID 10:

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
128 files, 400Mb each
50Gb total file size
Block size 16Kb
Number of random requests for random IO: 10000
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() 
each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Threads started!
Done.

Operations performed:  6000 Read, 4000 Write, 
12800 Other = 22800 Total
Read 93.75Mb  Written 62.5Mb 
Total transferred 156.25Mb  (24.499Mb/sec)
1567.93 Requests/sec executed

Test execution summary:
    total time:                          6.3778s
    total number of events:              10000
    total time taken by event execution: 5.7828
    per-request statistics:
         min:                                  0.01ms
         avg:                                  0.58ms
         max:                                 23.38ms
         approx.  95 percentile:               0.83ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   5.7828/0.00

Das das SSD-RAID schneller sein würde, war ja klar. Aber das es mit 1567 Request/Sec fast 10mal soviel IO durchsetzt, wie das SAS-RAID, hätte ich nicht erwartet.


Somit braucht das SSD-RAID auch nur 5,78 Sekunden, während das SAS-RAID 57,6 Sekunden für den Benchmark-Lauf braucht.

Fazit:
Mit dem SSD-RAID 10 lässt sich der IO-Durchsatz selbst im Vergleich zu dem recht performanten SAS-RAID 10 noch enorm steigern (hier fast 10facher IO-Durchsatz). Damit lässt sich auch bei Datenbanken, insbesondere IO-lastigen, noch einiges an Performance herausholen.


Viewing all articles
Browse latest Browse all 10