AA_intel-ssd_intel.jpg

© intel.com

Schön schnell

Kurztest: Die neue 510-er SSD von Intel

28.03.2011 Mit einem Preis von knapp 300 Euro für eine 120 GByte-Platte sind SSDs zwar immer noch recht teuer, aber immerhin bezahlbar. Wir haben das neueste Modell von Intel getestet.

Intel bewirbt die neue 510-er Serie für die 6-GBit-SATA-Schnittstelle mit Leseraten von bis zu 500 MByte/s und Schreibraten von bis zu 315 MByte/s [1]. Diese Werte treffen allerdings nur unter idealen Bedingungen zu und gelten zudem nur für das 250-GByte-Flaggschiff. Das 120-GByte-Modell bringt es laut Pressemeldungen auf Höchstwerte von 450 MByte/s beim Lesen und 210 MByte beim Schreiben. Wir haben uns das 120-GByte-Modell unter Linux angeschaut.

Kernel 2.6.38

Die Performance von Solid State Drives hängt sehr eng mit dem SSD-Support des Dateisystems und des benutzten Betriebsystems zusammen. Hier scheint sich seit Kernel 2.6.38 unter Linux einiges verbessert zu haben. Vor allem mit dem Dateisystem Btrfs kommt es nicht mehr zu der unter Kernel 2.6.37 noch festgestellten Speed-Bremse, die auch andere Tester festgestellt haben [2]. Für unsere Tests benutzten wir die aktuelle Entwicklerversion von Ubuntu 11.04 (Stand: Ende März 2011).

Wer vor dem Kauf einer SSD steht, sollte zunächst überprüfen, ob das BIOS des PCs überhaupt über eine 6-GBit-SATA-Schnittstelle verfügt. Danach lohnt es sich ein paar Tests mit den vorhandenen SATA-Schnittstellen und den BIOS-Einstellungen zu fahren. So arbeitete auf unserem Gigabyte-Mainboard die Intel-SSD zunächst über die 6-GBit-Schnittstelle langsamer als über den 3-GBit-Anschluss. Erst nachdem wir die Systemplatt an eine 3-GBit-Schnittstelle und nur die SSD an den schnellen SATA-Port hängten, erhielten wir die erwarteten Transferraten.

Von einer SSD erwartet man eigentlich einen komplett lautlosen Betrieb. In den Tests mit bonnie++ und hdparm war bei den sehr schnellen Schreibvorgängen ein zwar leises aber deutliches Fiepen zu hören. Im normalen Betrieb trat dieser Lärm nicht auf, nur bei den Stresstests.

Die Benchmarks

Bevor wir dedizierte Benchmarks starteten, testeten wir die Lesegeschwindigkeit über hdparm -tT. Hier zeigte die 510 von Intel Werte von 352 MByte/s. Zum Vergleich: die für die Tests benutzte 500-GByte-Systemplatte von Seagate (Barracuda STX-ST3500320AS (B)) bringt es auf 101 MByte/s.

Anschließend testeten wir die SSD mit den Benchmarks Bonnie++, einem einfachen dd-Aufruf und dem Compilebench von Chris Mason [3] auf den Dateisystemen Btrfs und Ext4. Am aufschlussreichsten von allen drei Tests war der dd-Befehl:

dd if=/dev/zero of=/mnt/testdatei bs=2G count=3 oflag=direct

Dabei schrieben wir drei mal 2 GByte auf die Platte (der Parameter oflag=direct ist wichtig, um keine durch Caching verfälschten Messergebnisse zu erhalten). Die mit Btrfs erreichten Werte waren dabei relativ ernüchternd. Anstelle der erhofften rund 200 MByte/s erreichten wir lediglich Spitzenwerte von 117 MByte/s beim Schreiben. Etwas schneller gab sich Ext4: hier kamen wir immerhin auf Werte von 128 MByte. Wie viel das Dateisystem tatsächlich ausmacht, zeigte ein kurzer Testlauf über die SSD als Raw-Medium (also ohne Dateisystem). Hier erreichten wir Schreibwerte von 160 MByte/s. Zum Vergleich: die Barracuda-Systemplatte bringt es auf Schreibwerte von 60 MByte/s mit Ext4.

Abbildung 1

Abbildung 1: Beim Schreiben mit dem dd-Befehl bringt es die 120-GByte große SSD unter Ext4 nur auf maximal 128 MByte/s.

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".

Abbildung 2

Abbildung 2: Die von Intel propagierten 450 MByte/s erreichte unsere Testplatte nur beim Bonnie++-Benchmark unter Ext4.

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,726us

Btrfs

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.

Abbildung 3

Abbildung 3: Beim Compilebench-Vergleich liegen Ext4 und Btrfs gleich auf. Als Vergleich Ext2.

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.

Tip a friend    Druckansicht beenden Bookmark and Share
Kommentare