HDD-Benchmark für die bash, selbstgeschrieben

Auf Basis des Festplatten-Geschwindigkeitstests bei den Ubuntuusers.de habe ich ein Script geschrieben, welches das Testen der Schreibgeschwindigkeit vereinfacht. Grundlage ist dabei folgender Code

Es wird hierbei das Laufwerk getestet, wo man sich gerade befindet. Hier wird auch die Datei “tempfile” geschrieben. Achtet bitte darauf, dass vor dem Starten des Scriptes genügend Platz auf dem Datenträger vorhanden ist. Diese Datei hat in diesem Fall hier eine Größe von 1024 mal 1 MB. Es wird insgesamt 1024-mal komplett in diese Datei geschrieben. Man benötigt für diesen Durchlauf 1024 x 1024 x 1024 x 1024 Bytes Platz, also etwa 1,1 GB. Die Werte können durchaus angepasst werden. So kann man zum Beispiel für 256 MB die Werte bs=32M und count=8 angeben.

Die Schreibgeschwindigkeit per dd zu ‘messen’ ist natürlich auch abhängig von anderen Faktoren, wie Systemauslastung, Anwendungen, die ebenfalls auf die Platte zugreifen und natürlich das verwendete Dateisystem. Daher sollte man so einen Durchlauf mehrfach starten, damit man einen Durchschnittswert erhält, der repräsentativer als ein Einzelwert ist.

Das Ganze macht das von mir geschrieben bash-Script, wobei ihr beim Aufruf des Scriptes nur die gewünschte Menge an Daten angeben werden braucht. Es werden dabei Dateigrößen von 1, 2, 4, 8 und 16 MB durchgetestet und die Anzahl entsprechend angepasst.

Gibt man also  hddbench.sh 1024 an, so werden im ersten Teil fünf Durchläufe mit 1 MB großen Dateien gemacht, und zwar 1024 mal. Im zweiten Teil 512 mal 2MB große Dateien. Und so weiter. Das heißt, es laufen für eine Dateigröße immer 25 dd-Aufrufe ab. Es werden im Laufe des Scriptes alle Geschwindigkeiten zusammengerechnet und durch die Anzahl der Durchläufe geteilt. Et voilà. Ein relativ repräsentatives Ergebnis. Zwischendrin noch ein paar Echos, damit das Ganze etwas ansehnlicher ist.

Das fertige Script sieht so aus:

Verzeiht, wenn ich noch nicht alle Gepflogenheiten des ordentlichen bash-Scriptings drauf habe, das war mein zweites Script in der Form beziehungsweise Größe. Aber für mich ist dieses Script vollkommen ausreichend um verschiedene Festplatten zu testen.

Quellen:

 

Leave a Reply

Your email address will not be published. Required fields are marked *