I/O Performance Vergleich von Festplatten mit SSDs und Fusion-io ioDrive

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche

In diesen I/O-Performance Tests mit fio vergleichen wir die I/O Performance von Festplatten mit SSDs und einem Fusion-io ioDrive. Dabei testen wir auch jeweils ein RAID5 von 4 Festplatten bzw. 4 SSDs. Weitere Informationen zum Durchführen von I/O-Tests finden Sie im Artikel Messen von I/O Performance.

Fazit

In unseren Tests kamen wir zu folgenden Ergebnissen:

  • Einzelne Festplatten sowie RAID-Systeme mit Festplatten haben am Anfang des Devices eine höhere IOPS und Durchsatz-Performance als am Ende. Da Festplatten von außen nach innen beschrieben werden, liegt der Anfang der Festplatte auf den äußeren Spuren. Gründe für die höhere Performance am Anfang sind die kürzeren notwendige Wege des Schreib/Lese-Kopfs (IOPS Performance) sowie die höhere Bahngeschwindigkeit auf den äußeren Spuren bei konstanter Drehzahl der Festplatte (Durchsatz-Performance).
  • Flash-Speicher (SSDs, Fusion-io ioDrive) ermöglichen im Vergleich zu Festplatten weitaus höhere Input/Outputs pro Sekunde. Vor allem bei zufällig verteilten Zugriffen schlagen Flash-Speicher Festplatten deutlich, da hier keine mechanischen Bewegungen wie bei Festplatten (Bewegung des Schreib/Lese-Kopfs) notwendig sind.
  • Zwischen den einzelnen Tests haben wir in unserem Testskript jeweils eine 30 Sekunden Pause eingebaut. Die Pause dient dazu, Durchsatz-Messwerte von Schreibtests bei Flash-basierten Speicher nicht zu verfälschen. Bei ununterbrochenen Dauer-Schreibtests hätte der SSD Controller nicht ausreichend Zeit um per Garbage Collection wieder freie Blöcke zu schaffen (siehe auch Spare Area). Ununterbrochene Dauer-Schreibtests entsprächen auch kaum einem realistischen Lastverhalten.
  • Die Kosten pro GByte sind bei Flash-Speicher nach wie vor deutlich höher als bei herkömmlichen Festplatten.
  • Je nach Anforderung haben also weiterhin sowohl Festplatten als auch Flash-Speicher ihre Daseinsberechtigung.

Testsystem

Wir haben alle Tests mit dem folgendem Serversystem durchgeführt:

Testsystem
Chassis SC846 SAS2 (Backplane mit Expander-Chip)
Mainboard Supermicro X8DT3-F, BIOS-Version 1.1b
CPU 2 x Intel Xeon X5680
RAM 12x4 GByte
RAID-Controller 3ware 9750 SAS2, Firmware Version: FH9X 5.08.00.008, ohne BBU

Tests

WDC WD5002ABYS Festplatte

Write Cache off

Testfall
Maximale Laufzeit pro Test: 60 Sekunden
Pause zwischen Tests: 30 Sekunden
Lesen Schreiben Testnr.
1 Job 4 Jobs 64 Jobs 1 Job 4 Jobs 64 Jobs
IOPS Sequential Gesamt 10.443 7.316 n/a 119 235 n/a 1
10% Anfang 10.380 7.350 n/a 119 235 n/a 2
Random Gesamt 82 82 n/a 77 77 n/a 3
10% Anfang 130 130 n/a 113 115 n/a 4
Durchsatz Sequential 5 GByte Anfang 109 MB/s 123 MB/s n/a 38,9 MB/s 39,7 MB/s n/a 5
5 GByte Ende 60,2 MB/s 116 MB/s n/a 29,4 MB/s 31,6 MB/s n/a 6
Ganzes Device[1] 109 MB/s 124 MB/s n/a 38,9 MB/s 39,6 MB/s n/a 7
Random 5 GByte Anfang 60,7 MB/s 60,7 MB/s n/a 40,0 MB/s 40,3 MB/s n/a 8
5 GByte Ende 41,2 MB/s 41,1 MB/s n/a 30,5 MB/s 30,6 MB/s n/a 9
Ganzes Device 42,3 MB/s 42,6 MB/s n/a 30,4 MB/s 30,5 MB/s n/a 10
Testprotokoll Testprotokoll zum Download


Write Cache on

Testfall
Maximale Laufzeit pro Test: 60 Sekunden
Pause zwischen Tests: 30 Sekunden
Lesen Schreiben Testnr.
1 Job 4 Jobs 64 Jobs 1 Job 4 Jobs 64 Jobs
IOPS Sequential Gesamt 10.459 7.335 n/a 9.219 6.387 n/a 1
10% Anfang 10.431 7.353 n/a 9.251 7.785 n/a 2
Random Gesamt 82 83 n/a 179 178 n/a 3
10% Anfang 130 130 n/a 248 247 n/a 4
Durchsatz Sequential 5 GByte Anfang 108 MB/s 121 MB/s n/a 111 MB/s 96,9 MB/s n/a 5
5 GByte Ende 60,1 MB/s 112 MB/s n/a 59,2 MB/s 69,5 MB/s n/a 6
Ganzes Device[1] 108 MB/s 155 MB/s n/a 112 MB/s 95,9 MB/s n/a 7
Random 5 GByte Anfang 60,5 MB/s 60,3 MB/s n/a 76,5 MB/s 76,4 MB/s n/a 8
5 GByte Ende 41,0 MB/s 41,4 MB/s n/a 47,9 MB/s 48,3 MB/s n/a 9
Ganzes Device 42,0 MB/s 42,0 MB/s n/a 51,5 MB/s 51,6 MB/s n/a 10
Testprotokoll Testprotokoll zum Download


Intel SSDSA2M160G2GC SSD

Write Cache off - Secure Erase

  • Vor dem Test haben wir ein Secure Erase der SSD durchgeführt.
Testfall
Maximale Laufzeit pro Test: 60 Sekunden
Pause zwischen Tests: 30 Sekunden
Lesen Schreiben Testnr.
1 Job 4 Jobs 64 Jobs 1 Job 4 Jobs 64 Jobs
IOPS Sequential Gesamt 9.602 17.221 n/a 930 932 n/a 1
10% Anfang 13.041 17.562 n/a 943 942 n/a 2
Random Gesamt 10.567 21.517 n/a 967 948 n/a 3
10% Anfang 9.505 21.286 n/a 929 932 n/a 4
Durchsatz Sequential 5 GByte Anfang 254,4 MB/s 256,0 MB/s n/a 83,7 MB/s 91,8 MB/s n/a 5
5 GByte Ende 253,3 MB/s 256,1 MB/s n/a 90,2 MB/s 91,0 MB/s n/a 6
Ganzes Device[1] 253,5 MB/s 255,3 MB/s n/a 87,8 MB/s 87,2 MB/s n/a 7
Random 5 GByte Anfang 252,3 MB/s 260,1 MB/s n/a 86,9 MB/s 89,9 MB/s n/a 8
5 GByte Ende 251,6 MB/s 260,9 MB/s n/a 87,1 MB/s 89,5 MB/s n/a 9
Ganzes Device 254,6 MB/s 261,4 MB/s n/a 89,5 MB/s 89,0 MB/s n/a 10
Testprotokoll Testprotokoll zum Download


Write Cache off

  • Wir haben das Device vor dem Test mehrfach vollständig beschrieben.
  • Die Messwerte beim Schreiben entsprechen somit einen worst-case-Szenario.
Testfall
Maximale Laufzeit pro Test: 60 Sekunden
Pause zwischen Tests: 30 Sekunden
Lesen Schreiben Testnr.
1 Job 4 Jobs 64 Jobs 1 Job 4 Jobs 64 Jobs
IOPS Sequential Gesamt 10.202 10.268 n/a 902 345 n/a 1
10% Anfang 10.111 10.221 n/a 908 619 n/a 2
Random Gesamt 4.299 4.392 n/a 560 666 n/a 3
10% Anfang 4.217 4.575 n/a 630 635 n/a 4
Durchsatz Sequential 5 GByte Anfang 247,9 MB/s 237,0 MB/s n/a 13,8 MB/s 22,0 MB/s n/a 5
5 GByte Ende 248,4 MB/s 238,8 MB/s n/a 12,1 MB/s 21,3 MB/s n/a 6
Ganzes Device[1] 247,4 MB/s 238,5 MB/s n/a 21,7 MB/s 14,2 MB/s n/a 7
Random 5 GByte Anfang 236,2 MB/s 244,0 MB/s n/a 22,1 MB/s 26,5 MB/s n/a 8
5 GByte Ende 238,4 MB/s 248,2 MB/s n/a 16,2 MB/s 20,3 MB/s n/a 9
Ganzes Device 237,8 MB/s 246,4 MB/s n/a 13,7 MB/s 17,8 MB/s n/a 10
Testprotokoll Testprotokoll zum Download


Write Cache on

  • Wir haben das Device vor dem Test mehrfach vollständig beschrieben.
  • Die Messwerte beim Schreiben entsprechen somit einen worst-case-Szenario.
Testfall
Maximale Laufzeit pro Test: 60 Sekunden
Pause zwischen Tests: 30 Sekunden
Lesen Schreiben Testnr.
1 Job 4 Jobs 64 Jobs 1 Job 4 Jobs 64 Jobs
IOPS Sequential Gesamt 10.362 4877 n/a 4078 2384 n/a 1
10% Anfang 10.358 4886 n/a 6140 3346 n/a 2
Random Gesamt 4.278 6500 n/a 1441 1835 n/a 3
10% Anfang 4.222 6500 n/a 1315 1395 n/a 4
Durchsatz Sequential 5 GByte Anfang 244,4 MB/s 238,6 MB/s n/a 34,4 MB/s 18,9 MB/s n/a 5
5 GByte Ende 245,5 MB/s 238,6 MB/s n/a 19,3 MB/s 23,9 MB/s n/a 6
Ganzes Device[1] 245,8 MB/s 238,2 MB/s n/a 30,4 MB/s 29,6 MB/s n/a 7
Random 5 GByte Anfang 232,9 MB/s 246,2 MB/s n/a 22,4 MB/s 23,5 MB/s n/a 8
5 GByte Ende 235,6 MB/s 244,3 MB/s n/a 18,4 MB/s 21,3 MB/s n/a 9
Ganzes Device 235,9 MB/s 242,4 MB/s n/a 16,2 MB/s 21,9 MB/s n/a 10
Testprotokoll Testprotokoll zum Download


RAID5 aus vier HITACHI HUS156060VL Festplatten

  • Testkonfiguration: 3ware-Hitachi-HUS156060VL-RAID5-config.txt
  • Die hohen IOPS Werte für Sequential Zugriffe werden durch Read-Ahead (beim Lesen) und durch den Cache des RAID-Controllers (beim Schreiben) erreicht.
  • Die IOPS Performance ist höher wenn nur der vordere Teil des Devices verwendet wird. Dabei werden von den einzelnen Festplatten nur die äußeren Spuren verwendet.
  • Die Durchsatz Performance ist ebenfalls höher wenn nur der vordere Teil des Devices verwendet wird.
Testfall
Maximale Laufzeit pro Test: 60 Sekunden
Pause zwischen Tests: 30 Sekunden
Lesen Schreiben Testnr.
1 Job 4 Jobs 64 Jobs 1 Job 4 Jobs 64 Jobs
IOPS Sequential Gesamt 32.960 46.061 n/a 31.477 48.231 n/a 1
10% Anfang 32.981 46.190 n/a 31.577 48.576 n/a 2
Random Gesamt 178 496 n/a 373 482 n/a 3
10% Anfang 266 747 n/a 646 648 n/a 4
Durchsatz Sequential 5 GByte Anfang 553 MB/s 2.281 MB/s n/a 573 MB/s 1.619 MB/s n/a 5
5 GByte Ende 335 MB/s 1.176 MB/s n/a 344 MB/s 1.372 MB/s n/a 6
Ganzes Device[1] 554 MB/s 745 MB/s n/a 566 MB/s 1.616 MB/s n/a 7
Random 5 GByte Anfang 80,7 MB/s 127 MB/s n/a 193 MB/s 197 MB/s n/a 8
5 GByte Ende 63,9 MB/s 90,2 MB/s n/a 142 MB/s 142 MB/s n/a 9
Ganzes Device 66,5 MB/s 80,6 MB/s n/a 112 MB/s 112 MB/s n/a 10
Testprotokoll Testprotokoll zum Download


RAID5 aus vier ATP Velocity SII SSDs

Testfall
Maximale Laufzeit pro Test: 60 Sekunden
Pause zwischen Tests: 30 Sekunden
Lesen Schreiben Testnr.
1 Job 4 Jobs 64 Jobs 1 Job 4 Jobs 64 Jobs
IOPS Sequential Gesamt 33.310 59,486 130.000 31.628 48.097 60.303 1
10% Anfang 33.235 104.000 131.000 31.557 48.529 61.857 2
Random Gesamt 8.196 29.002 44.598 2.763 2.884 2.843 3
10% Anfang 8.356 28.796 42.555 2.785 2.747 2.657 4
Durchsatz Sequential 5 GByte Anfang 463 MB/s 2.103 MB/s 2.454 MB/s 478 MB/s 1.294 MB/s 2.406 MB/s 5
5 GByte Ende 449 MB/s 938 MB/s 2.454 MB/s 676 MB/s 1.651 MB/s 2.446 MB/s 6
Ganzes Device[1] 496 MB/s 1.294 MB/s 2.478 MB/s 313 MB/s 1.313 MB/s 2.435 MB/s 7
Random 5 GByte Anfang 273 MB/s 306 MB/s 477 MB/s 342 MB/s 273 MB/s 239 MB/s 8
5 GByte Ende 246 MB/s 266 MB/s 429 MB/s 352 MB/s 270 MB/s 254 MB/s 9
Ganzes Device 170 MB/s 176 MB/s 306 MB/s 121 MB/s 133 MB/s 117 MB/s 10
Testprotokoll Testprotokoll zum Download


Fusion-io ioDrive

  • Testkonfiguration: Fusion-FS1-002-321-CS-config.txt
  • Wir haben das Device vor dem Test mehrfach vollständig beschrieben.
  • Mit längeren Pausen zwischen den einzelnen Tests konnten wir noch höhere Durchsatzraten beobachten wie dieser Test zeigt. Dabei haben wir zuvor ununterbrochen das Device vollgeschrieben. Die Durchsatzrate beim anschließenden Schreiben (Random Durchsatz Test mit 64 Jobs) betrug 161 MB/s, stieg nach einer kurzen Pause aber wieder auf 397 MB/s und danach auf 488 MB/s. Offenbar löscht der Controller in der Zwischenzeit die ungültigen Pages im Spare Bereich, die dann wieder zum direkten Beschreiben bereitstehen. Bei realen Lastverhalten wird es daher kaum zu Rückgängen der Dursatzrate kommen. Sie können daher in der Praxis durchaus höhere Werte erreichen als unsere Tests unten zeigen.
Testfall
Maximale Laufzeit pro Test: 60 Sekunden
Pause zwischen Tests: 30 Sekunden
Lesen Schreiben Testnr.
1 Job 4 Jobs 64 Jobs 1 Job 4 Jobs 64 Jobs
IOPS Sequential Gesamt 23.777 57.189 63.457 19.916 71.797 198.000 1
10% Anfang 22.942 43.676 71.729 20.778 74.493 188.000 2
Random Gesamt 12.293 38.191 74.366 19.964 61.400 137.000 3
10% Anfang 11.907 37.219 70.475 18.686 64.126 128.000 4
Durchsatz Sequential 5 GByte Anfang 682 MB/s 729 MB/s 751 MB/s 478 MB/s 353 MB/s 402 MB/s 5
5 GByte Ende 631 MB/s 750 MB/s 752 MB/s 493 MB/s 269 MB/s 427 MB/s 6
Ganzes Device[1] 658 MB/s 722 MB/s 754 MB/s 487 MB/s 343 MB/s 433 MB/s 7
Random 5 GByte Anfang 665 MB/s 722 MB/s 751 MB/s 492 MB/s 416 MB/s 307 MB/s 8
5 GByte Ende 685 MB/s 750 MB/s 749 MB/s 481 MB/s 446 MB/s 266 MB/s 9
Ganzes Device 682 MB/s 735 MB/s 749 MB/s 469 MB/s 303 MB/s 171 MB/s 10
Testprotokoll Testprotokoll zum Download


Weitere Tests mit Intel SSD 320er Serie

Testsystem

Wir haben weitere Tests mit folgendem Serversystem durchgeführt:

Testsystem
Chassis SC826Server (Nehalem) (Backplane mit Expander-Chip)
Mainboard Supermicro X8DT3-LN4F, BIOS-Version 1.0c
CPU 2x Intel Xeon Quad Core X5570 2,93GHz 8MB 6.4GT/s (Nehalem)
RAM 48 GB ECC Registered DDR3 RAM 2 Rank ATP (12x 4096 MB)
RAID-Controller Adaptec ASR5405Z 4x SAS/SATA (0,1,1E,5,5EE,6,10,50,60) inkl. ZMCP, Firmware Version: 5.2-0 (18252)

Tests

Die SSD wird direkt am Adaptec RAID Controller angeschlossen. Da diese SSD-Serie Vorkehrungen gegen den Datenverlust bei einem Stromausfall getroffen hat, kann der Write Cache der SSD auf "Enabled (write-back)" gestellt werden. Aus der SSD wird ein "Simple Volume" mit dem RAID Controller erstellt.

Intel SSDSA2CW160G310 SSD (Intel 320 Series SSDs)

Logical device Read-cache und Write-cache "enabled"
Testfall
Maximale Laufzeit pro Test: 60 Sekunden
Pause zwischen Tests: 30 Sekunden
Lesen Schreiben Testnr.
1 Job 4 Jobs 64 Jobs 1 Job 4 Jobs 64 Jobs
IOPS Sequential Gesamt 23.055 44.530 n/a 21.581 50.227 n/a 1
10% Anfang 22.970 44.969 n/a 21.623 50.112 n/a 2
Random Gesamt 6.674 17.379 n/a 11.863 11.857 n/a 3
10% Anfang 6.721 17.380 n/a 12.338 12.193 n/a 4
Durchsatz Sequential 5 GByte Anfang 263,9 MB/s 935,3 MB/s n/a 167,8 MB/s 501,4 MB/s n/a 5
5 GByte Ende 264 MB/s 937,9 MB/s n/a 171,1 MB/s 675,9 MB/s n/a 6
Ganzes Device[1] 264,1 MB/s 918,9 MB/s n/a 165,2 MB/s 649 MB/s n/a 7
Random 5 GByte Anfang 238,9 MB/s 258,2 MB/s n/a 167,1 MB/s 168,9 MB/s n/a 8
5 GByte Ende 238,9 MB/s 258,1 MB/s n/a 166,6 MB/s 169 MB/s n/a 9
Ganzes Device 242,8 MB/s 258,6 MB/s n/a 166,6 MB/s 164 MB/s n/a 10
Testprotokoll Testprotokoll zum Download


Logical device Read-cache und Write-cache "disabled"
Testfall
Maximale Laufzeit pro Test: 60 Sekunden
Pause zwischen Tests: 30 Sekunden
Lesen Schreiben Testnr.
1 Job 4 Jobs 64 Jobs 1 Job 4 Jobs 64 Jobs
IOPS Sequential Gesamt 6.909 11.733 n/a 5.983 10.108 n/a 1
10% Anfang 6.924 11.596 n/a 5.946 9.825 n/a 2
Random Gesamt 3.665 11.455 n/a 5.391 10.184 n/a 3
10% Anfang 3.656 11.431 n/a 5.346 10.144 n/a 4
Durchsatz Sequential 5 GByte Anfang 244,1 MB/s 239,8 MB/s n/a 158,2 MB/s 164,7 MB/s n/a 5
5 GByte Ende 239,8 MB/s 239,8 MB/s n/a 158,3 MB/s 166,1 MB/s n/a 6
Ganzes Device[1] 236,1 MB/s 239,9 MB/s n/a 159,6 MB/s 162,2 MB/s n/a 7
Random 5 GByte Anfang 216,3 MB/s 251,6 MB/s n/a 159,4 MB/s 163 MB/s n/a 8
5 GByte Ende 215,8 MB/s 251,9 MB/s n/a 159,6 MB/s 161,2 MB/s n/a 9
Ganzes Device 217,3 MB/s 252,3 MB/s n/a 159 MB/s 160,2 MB/s n/a 10
Testprotokoll Testprotokoll zum Download


Anmerkungen

  1. 1,0 1,1 1,2 1,3 1,4 1,5 1,6 1,7 1,8 1,9 Durch die Laufzeitlimitierung sind die Ergebnisse dieses Tests nicht immer repräsentativ.


Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer, tätig im Bereich Communications / Knowledge Transfer bei Thomas-Krenn, hat sein Studium zu Computer- und Mediensicherheit an der FH Hagenberg abgeschlossen. Er ist regelmäßig Autor in Fachzeitschriften und Speaker bei Konferenzen wie LinuxCon, OSDC, OSMC, LinuxTag u.v.m. Seine Freizeit gestaltet er sehr abwechslungsreich. In einem Moment absolviert er seinen Abschluss im Klavierspielen, im anderen läuft er beim Linzmarathon in der Staffel mit oder interessiert sich für OpenStreetMap.


Das könnte Sie auch interessieren

Linux I/O Performance Tests mit dd
Mei: Init hw failure und mei: initialization failed beheben
PCI Slots