Schön schnell
Kurztest: Die neue 510-er SSD von Intel
Bonnie++ und Compilebench
Neben diesem einfachen Benchmark mit dd testeten wir die Performance der Intel-SSD auch mit den zwei Benchmarks Bonnie++ und Compilebench. Auch hier zeigte sich ein ähnliches Bild bei den Schreibzugriffen: Btrfs brachte es auf 120 MByte/s, Ext4 schaffte 128 MByte/s. Auch bei den Lesewerten hat Ext4 klar die Nase vorn. Das Dateisystem bringt es auf 450 MByte/s beim blockweisen Lesen, Btrfs schafft hingegen nur 340 MByte/s. Als Benchmark diente dazu der Aufruf:
bonnie++ -u root -d /mnt/ -s 8000
wobei die SSD unter /mnt eingehängt war und der Testrechner über 3 GByte RAM verfügte. Die Daten je eines kompletten Testdurchlaufs zeigt der Kasten "Bonnie++ im Detail".
Bonnie++ im Detail
Ext4
marcel@natty:/home/marcel# bonnie++ -u root -d /mnt/ -s 8000
[...]
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
natty 8000M 1021 98 126814 12 88654 8 5418 98 454866 21 7928 115
Latency 13040us 146ms 668ms 3580us 1594us 260ms
Version 1.96 ------Sequential Create------ --------Random Create--------
natty -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
Latency 381us 422us 705us 522us 65us 726us
1.96,1.96,natty,1,1300823757,8000M,,1021,98,126814,12,88654,8,5418,98,454866,21,7928,115,16,,,,,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,13040us,146ms,668ms,3580us,1594us,260ms,381us,422us,705us,522us,65us,726usBtrfs
marcel@natty:/home/marcel# bonnie++ -u root -d /mnt/ -s 8000
[...]
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
natty 8000M 497 99 118478 29 74825 17 3363 85 337880 22 1133 424
Latency 19948us 153ms 1916ms 4440us 53188us 230ms
Version 1.96 ------Sequential Create------ --------Random Create--------
natty -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
Latency 508us 710us 377us 266us 26us 483us
1.96,1.96,natty,1,1300809499,8000M,,497,99,118478,29,74825,17,3363,85,337880,22,1133,424,16,,,,,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,19948us,153ms,1916ms,4440us,53188us,230ms,508us,710us,377us,266us,26us,483us
Da Bonnie++ mit relativ großen Dateien arbeitet, wollten wir die zwei Dateisysteme auch noch mit einem weiteren Benchmark testen, der auf relativ kleine Dateien spezialisiert ist: Compilebench. Dabei handelt es sich um einen Benchmark, der mit den Kernelquellen als Basis handelt und diverse Operationen wie entpacken, kopieren, patchen und löschen ausführt. Als Wert gibt er jeweils die Transferraten in MByte/s aus. Auch beim Compilebench bringt Ext4 die bessere Leistung: Es kommt es beim Anlegen der Testverzeichnisse auf Schreibwerte von bis zu 200 MByte/s, während die Bestleistungen von Btrfs wiederum bei 128 MByte/s liegen. Interessant sind jedoch die Testergebnisse im Detail, so fällt auf, dass der Benchmark nach dem zweiten Create-Vorgang deutlich langsamer wird:
marcel@natty:~/compilebench-0.6# ./compilebench -D /mnt/ -i 10 -r 30 using working directory /mnt/, 10 intial dirs 30 runs native unpatched native-0 222MB in 1.11 seconds (200.34 MB/s) native patched native-0 109MB in 0.35 seconds (313.34 MB/s) native patched compiled native-0 691MB in 3.12 seconds (221.67 MB/s) create dir kernel-0 222MB in 1.13 seconds (196.79 MB/s) create dir kernel-1 222MB in 1.26 seconds (176.49 MB/s) create dir kernel-2 222MB in 2.37 seconds (93.83 MB/s) create dir kernel-3 222MB in 1.99 seconds (111.75 MB/s) create dir kernel-4 222MB in 2.39 seconds (93.04 MB/s) create dir kernel-5 222MB in 1.92 seconds (115.82 MB/s) create dir kernel-6 222MB in 1.92 seconds (115.82 MB/s) create dir kernel-7 222MB in 2.37 seconds (93.83 MB/s) create dir kernel-8 222MB in 1.93 seconds (115.22 MB/s) create dir kernel-9 222MB in 2.48 seconds (89.67 MB/s)
Während bei den ersten zwei Create-Aufrufen vermutlich noch Cache im Spiel war, entsprechen die Daten der Verzeichnisse kernel-2 bis kernel-9 wohl eher der Realität. Hier schafft es Ext4 somit auf einen Durchschnittswert von 103 MByte/s. Das gleiche Phänomen zeigt sich auch bei Btrfs, wobei hier lediglich der erste Wert klar über dem Durchschnitt liegt:
marcel@natty:~/compilebench-0.6# ./compilebench -D /mnt/ -i 10 -r 30 using working directory /mnt/, 10 intial dirs 30 runs native unpatched native-0 222MB in 1.72 seconds (129.29 MB/s) native patched native-0 109MB in 0.55 seconds (199.40 MB/s) native patched compiled native-0 691MB in 3.20 seconds (216.12 MB/s) create dir kernel-0 222MB in 1.74 seconds (127.80 MB/s) create dir kernel-1 222MB in 1.96 seconds (113.46 MB/s) create dir kernel-2 222MB in 2.32 seconds (95.85 MB/s) create dir kernel-3 222MB in 1.94 seconds (114.63 MB/s) create dir kernel-4 222MB in 1.95 seconds (114.04 MB/s) create dir kernel-5 222MB in 2.05 seconds (108.48 MB/s) create dir kernel-6 222MB in 1.92 seconds (115.82 MB/s) create dir kernel-7 222MB in 1.99 seconds (111.75 MB/s) create dir kernel-8 222MB in 3.82 seconds (58.21 MB/s) create dir kernel-9 222MB in 2.02 seconds (110.09 MB/s)
Ermittelt man auch hier den Mittelwert von kernel-2 bis kernel-9, ergibt sich wiederum exakt 103 MByte/s als Resultat. Um die Tests zusätzlich abzusichern, starteten wir den Compilebench auch mit Ext2:
marcel@natty:~/compilebench-0.6# ./compilebench -D /mnt/ -i 10 -r 30 using working directory /mnt/, 10 intial dirs 30 runs native unpatched native-0 222MB in 1.03 seconds (215.90 MB/s) native patched native-0 109MB in 0.32 seconds (342.72 MB/s) native patched compiled native-0 691MB in 2.85 seconds (242.67 MB/s) create dir kernel-0 222MB in 1.62 seconds (137.27 MB/s) create dir kernel-1 222MB in 1.26 seconds (176.49 MB/s) create dir kernel-2 222MB in 2.38 seconds (93.43 MB/s) create dir kernel-3 222MB in 2.24 seconds (99.27 MB/s) create dir kernel-4 222MB in 2.34 seconds (95.03 MB/s) create dir kernel-5 222MB in 2.26 seconds (98.40 MB/s) create dir kernel-6 222MB in 2.32 seconds (95.85 MB/s) create dir kernel-7 222MB in 2.40 seconds (92.66 MB/s) create dir kernel-8 222MB in 2.20 seconds (101.08 MB/s) create dir kernel-9 222MB in 2.36 seconds (94.23 MB/s)
Auch hier können die ersten zwei Werte nicht wirklich stimmen. Der Mittelwert der restlichen acht Create-Aufrufe liefert 96 MByte/s als Resultat. Zum Vergleich wieder die konventionelle Seagate-Platte: Sie bringt es auf durchschnittlich 42 MByte/s bei den Create-Aufrufen des Compile-Benchmarks.
Fazit
Dass die Intell SSD recht flott arbeitet, merkt man auch ohne Benchmarks. Ein Ubuntu-System startet mit der SSD in weniger als 10 Sekunden und jeder Rechner, der über einen SATA-Anschluss verfügt, arbeitet durch Intel Solid State Drive spürbar flotter. Die propagierten Werte von 450 MByte/s beim Lesen erreichte die SSD lediglich unter Ext4 im Bonnie++-Benchmark. An die angeblichen 210 MByte/s beim Schreiben kam unser Testexemplar der 510-er Serie hingegen bei keinem der Tests auch nur annähernd heran.
Infos
[1] Intel-Pressemeldung: http://newsroom.intel.com/community/de_de/blog/2011/02/28/intel-stellt-eine-neue-solid-state-drive-vor-intel-ssd-510-serie-bietet-volle-sata-6-gbits-bandbreite
[2] SSD-Test von Michael Fuckner http://michael.fuckner.net/me/blog/index.php?/archives/485-SSD-Benchmark-Intel-510.html
[3] Compilebench: http://oss.oracle.com/~mason/compilebench/



