IO-Performance von Festplatten/Disks unter Linux testen

Inhalt

Messungen mittels dd

Messen der Schreib-Performance. Dieser Test kann auch bei CIFS und NFS angewandet werden und ist relativ objektiv:

dd if=/dev/zero of=temp.bin bs=1M count=1024 conv=fdatasync,notrunc

Der Parameter fdatasync beendet den dd-Befehl erst wenn die Daten vollständig gesynced wurden. Stattdessen könnte man auch oflag=dsync verwenden welcher ebenfalls Rücksicht auf Caches nimmt und wartet bis diese geschrieben wurden.

Um ohne Puffer zu testen empfiehlt sich der Parameter oflag=direct bei dd. Zusätzlich sollte der Schreibcache der Disk ebenfalls mit

hdparm -W0 /dev/sda

deaktiviert werden. Mittels

hdparm -W1 /dev/sda

wird er wieder aktiviert.

Die Lese-Performance kann mit dem Befehl

time dd if=/tmp/test.bin of=/dev/null bs=4k

ermittelt werden. bs sollte auf das Quell-Laufwerk abgestimmt werden.

Vor Lese-Tests empfiehlt es sich den Read-Cache mittels

echo 3 | sudo tee /proc/sys/vm/drop_caches

zu löschen. Bei allen Tests wo Caches eine Rolle spielen ist natürlich auch die Performance des Ram's entscheidend!

Datendurchsatz ermitteln

Dieser Punkt ergänzt obige Infos, stammt aber von einer andere Quelle:

if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync

Latenz ermitteln

Dieser Punkt ergänzt obige Infos, stammt aber von einer andere Quelle:

dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync

Messungen mittels hdparm

Um die Performance der Caches zu testen kann hdparm verwendet werden.

hdparm -Tt /dev/sda

Mittels -t wird die Performance von gepufferten Lesezugriffen ermittelt. Dieser Test ermittelt primär die Performance zwischen Disk, Kernel und Chipsatz inklusive System-Caches. Der optionale Parameter --direct umgeht selbst System-Caches und zeigt den direkten Datendurchsatz zwischen Disk, Kernel und Chipsatz.

Mittels -T wird der Read-Cache getestet, dieser Test macht keinen Festplattenzugriff da er lediglich aus dem Linux Puffer Cache liest.



Dokumenten-ID: kb/4fdd8441-15a2-4969-b108-7a3980916483
Package downloaden