Die Lese-, wie auch Schreibgeschwindigkeiten einer Festplatte zu ermitteln, gehört zu den grundlegenden Aufgaben im Systemmonitoring. Die einfachste Art diese zu ermitteln ist mit dem Befehl „dd“, wofür die Festplatte oder ggf. der USB-Stick jedoch gemountet sein muss. Zusätzlich muss man sich bei Befehlsausführung in der Verzeichnisstruktur des Volumens befinden, welches getestet werden soll.
Der Vorteil an „dd“ ist, dass es sowohl die Lese- als auch die Schreibgeschwindigkeit des Laufwerkes testen kann.
Verwendung von disk dump:
Zunächst überprüfen wir, ob das Programm bereits installiert ist, dies geschieht wie folgt:
which dd
Ausgabe:
Erfolgt keine Ausgabe, ist das Programm nicht vorhanden, in diesem Fall installieren wir es mit:
sudo apt install coreutils
Nun müssen wir zunächst mit dem Befehl „lsblk“ das zu prüfende Volumen identifizieren, dies funktioniert wie folgt:
lsblk
Ausgabe:
In unserem Fall möchten wir die verbaute Festplatte /dev/sda überprüfen, die unter anderem das Root-Verzeichniss ( / ) umfasst, somit erstellen wir uns direkt im Home-Verzeichnis ( ~ ) einen Testordner für unseren Festplatten-Performance-Test und wechseln direkt in diesen, dies geschieht wie folgt:
cd ~
mkdir -m755 dd_test
cd dd_test
Zur Überprüfung verwenden wir den Befehl ls -la, die Ausgabe sollte wie folgt aussehen:
Der folgende Befehl schreibt aus dem Verzeichnis /dev/zero eine Datei namens tempfileauf das ausgewählte Laufwerk, welche ausschließlich aus Nullen besteht und 1 Gigabyte groß ist.
Für weitere Informationen bezüglich „dd“, hilft euch der Befehl: man dd
dd (disk dump)
dd if=Quelle of=Ziel <Optionen>
bs beschreibt die Blockgröße (block size) (Standard: 512)
count Anzahl der Blöcke die Gelesen bzw. Geschrieben werden sollen
conv Umwandeln
fdatasync garantiert das der physischen Schreibvorgang abgeschlossen ist
notrunc ungekürztes Outputfile
Schreibtest:
dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
Ausgabe:
Da die Datei „tempfile“ jetzt auch in Linux-Cache liegt, wird dieser für den Lesetest zunächst geleert:
echo 3 | sudo tee /proc/sys/vm/drop_caches
Anschließend wird die Datei gelesen und in das Verzeichnis /dev/null (in das Nichts) geschrieben.
Lesetest:
dd if=tempfile of=/dev/null bs=1M count=1024
Ausgabe:
Um ein aussagekräftiges Ergebnis zu bekommen, sollten wir die Punkte 4 – 6 mindestens drei mal wiederholen und den Mittelwert der Messwerte gebildet haben.
Zum Schluss löschen wir die temporäre Datei „tempfile“ mit dem Befehl:
rm tempfile
Als alternative zu dd sei noch fio kurz erwähnt:
Verwendung von Flexible IO Tester:
Um eine 1 GB Testdatei anzulegen eigent sich folgender Befehl:
fio --rw=write --name=FIO --size=1G --filename=TESTFILE
Die Lesegeschwindigkeit lässt sich folgendermaßen messen:
fio --rw=read --name=FIO --size=1G --filename=TESTFILE
Die Ausgabe ist recht umfangreich, die relevanten Performancewerte stehen am Ende der Ausgabe.
Weitere interessante Artikel finden Sie in unserem Blog.
Oder kontaktieren Sie uns wenn Sie Fragen haben.
- Migration von DropBox zu Nextcloud - 20. September 2024
- Draw.io – Das Diagramm-Tool als Nextcloud-Integration - 6. September 2024
- Plausible Analytics – die Community Edition realisiert mit Docker - 4. September 2024