Login
Newsletter
Di, 13. Mai 2014, 14:00

Festplattengeschwindigkeit mit hdparm vermessen

Die weniger bekannte Option »--offset« ermöglicht es, die Geschwindigkeit der Festplatte an verschiedenen Stellen zu bestimmen.

Dass das Programm hdparm eine Vielzahl von Optionen zur Konfiguration von Festplatten und auch Möglichkeiten zur Geschwindigkeitsmessung besitzt, dürfte bekannt sein. So misst man die Geschwindigkeit der ersten Festplatte im System üblicherweise mit dem Kommando

hdparm -tT /dev/sda

und wiederholt es mehrfach. Dabei führt die Option -T eine Messung des Cache-Durchsatzes durch, der hauptsächlich von der Speicher- und der Prozessorgeschwindigkeit abhängt. Die Option -t dagegen misst das Lesen von der Festplatte über die systemeigenen Puffer. Es wird empfohlen, beide Optionen zusammen zu verwenden, um stabilere Ergebnisse zu erhalten. Das Ergebnis kann etwa so aussehen:

/dev/sda:
 Timing cached reads:   1808 MB in  2.00 seconds = 903.99 MB/sec
 Timing buffered disk reads: 416 MB in  3.01 seconds = 138.28 MB/sec

Das Problem mit traditionellen Festplatten ist, dass die vom Hersteller und den Händlern beworbene Geschwindigkeit nur am Anfang der Platte, am äußeren Rand also, erreicht wird. Der Grund ist, dass dort in eine Spur mehr Sektoren passen als in der Mitte oder am inneren Rand der Platte - die Umdrehungszeit ist dagegen für alle Spuren gleich.

Mit der nicht so bekannten Option --offset kann man hdparm allerdings anweisen, an anderen Stellen zu messen, und zwar in Schritten von einem Gigabyte. Dazu gibt man hinter --offset den Startwert in Gigabyte an:

hdparm -tT --offset 0 /dev/sda
hdparm -tT --offset 1500 /dev/sda
hdparm -tT --offset 2700 /dev/sda

Der höchstmögliche Offset-Wert liegt immer ein Stück unter den Kapazitätsangaben des Herstellers. Der Grund ist, dass die Hersteller aus Marketinggründen mit Faktor 1000 statt 1024 in den Größenangaben rechnen, weil so größere Werte herauskommen. hdparm verwendet den Faktor 1024 durchgehend. Das Resultat ist:

/dev/sda:
 Timing cached reads:   1806 MB in  2.00 seconds = 902.77 MB/sec
 Timing buffered disk reads (offset 0 GB): 420 MB in  3.01 seconds = 139.57 MB/sec

/dev/sda:
 Timing cached reads:   1758 MB in  2.00 seconds = 879.02 MB/sec
 Timing buffered disk reads (offset 1500 GB): 342 MB in  3.00 seconds = 113.99 MB/sec

/dev/sda:
 Timing cached reads:   1768 MB in  2.00 seconds = 883.84 MB/sec
 Timing buffered disk reads (offset 2700 GB): 220 MB in  3.02 seconds =  72.78 MB/sec

Das Ergebnis überrascht nicht: In der Mitte ist die Platte bereits um die 25 Prozent langsamer als außen, ganz innen erreicht sie noch 50-60 Prozent der beworbenen Geschwindigkeit. Im Schnitt kann man mit etwa 75 Prozent der angegebenen Geschwindigkeit rechnen.

Bei einer SSD tritt der Effekt natürlich nicht auf. Dort erhält man erwartungsgemäß an allen Positionen im Rahmen der Messgenauigkeit denselben Wert.

Die Möglichkeit, durch zahlreiche Messungen ein Geschwindigkeitsprofil der Festplatte zu erstellen, sei dem Leser überlassen. Man müsste per Skript hdparm mit allen möglichen Offset-Werten aufrufen und die Ergebnisse extrahieren. Die Daten könnte man gleich noch in ein Plot-Programm wie GnuPlot einspeisen. Aber vielleicht gibt es bereits Programme, die eine solche Analyse vornehmen und grafisch aufbereiten.

  • Das Werk darf vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden, Abwandlungen und Bearbeitungen des Werkes müssen unter den gleichen Bedingungen weitergegeben werden. Der Name des Autors/Rechteinhabers muss in der von ihm festgelegten Weise genannt werden.

    - Weitere Informationen
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten