Wie messe ich den Festplattendurchsatz?

7

Ich möchte wissen, wie viele Bytes pro Sekunde ich auf die Festplatte schreiben und von ihr lesen kann.

Wie kann ich das auf einem Linux-Computer machen?

römisch
quelle
Eine noob-freundliche Version davon finden Sie unter vpstip.com/how-to-check-disk-speed-easily-in-linux
Dies ist eine beliebte Frage, die häufig erneut gestellt wurde, z. B. unix.stackexchange.com/q/108838/109111 , stackoverflow.com/q/1198691/2732969 , serverfault.com/q/219739/203726 und askubuntu.com / q / 87035/740413 haben alle Antworten auf diese Frage.
Anon

Antworten:

7

Verwenden Sie ein Benchmark-Tool wie bonnie (++). Es ist einfach, auf jeder Distribution zu installieren, und da es verschiedene Aspekte misst, erhalten Sie ein ziemlich gutes Bild davon, wie das System in einer bestimmten Situation funktioniert.

Wenn Sie nur grundlegende Tools verwenden möchten, können Sie dd verwenden:

Für die Schreibgeschwindigkeit:

dd if=/dev/zero of=outputfile bs=512 count=32M

(Das Produkt aus bs und count sollte mindestens doppelt so groß sein wie Ihre RAM-Größe.)

Für Lesegeschwindigkeit:

dd if=outputfile of=/dev/null

Denken Sie daran, dass dies eine sehr grobe Schätzung ist und eine Situation misst, die im normalen Betrieb wahrscheinlich nicht auftritt.

Sven
quelle
Kann ich die notwendigen Informationen nur mit Linux-Befehlen messen?
Roman
1
+1 Möglicherweise möchten Sie eine Blockgröße auswählen, die größer als 1 Sektor ist, es sei denn, Sie suchen nach einer bestimmten Leistungsmetrik. Normalerweise verwende ich bs = 1m und count = 1k (die 512 und 32m passen problemlos in den RAM und den Cache eines RAID-Controllers.) Gleiches gilt für Lesevorgänge. Beachten Sie, dddass Sie ziemlich synthetische Zahlen erhalten, es sei denn, Sie kennen Ihre E / A-Last sehr gut und verwenden sehr spezifische Zahlen.
Chris S
Sie sollten auch oflag = direct verwenden, um den Dateisystem-Cache zu umgehen. Dies vermeidet die Notwendigkeit, doppelt so viele Daten wie Ihr verfügbarer RAM zu schreiben, was bedeutet, dass Ihre Tests schneller ausgeführt werden können
Daniel Lawson
3

Ich würde nur hdparm verwenden, um die Lesegeschwindigkeiten der Laufwerke zu messen:

hdparm -t /dev/sda

Sie können die Lesegeschwindigkeit auf formatierten Laufwerken mit Daten testen. Achten Sie jedoch beim Schreiben darauf, dass bei falscher Verwendung Daten beschädigt werden können.

Hoffe das hilft, RayQUang

RayQuang
quelle
1

Iozone, bonnie ++, nmon (Echtzeit) - alle funktionieren.

ewwhite
quelle
1

Josh Berkus hielt auf der pgCon 2009 einen ziemlich ausführlichen Vortrag über Leistungsoptimierung. Die erste Hälfte ist nur der Messung von Festplatten-E / A und -Lösungen gewidmet. Es ist groß und lang, aber Sie müssen es nur einmal ansehen, um eine Vorstellung davon zu bekommen, woran Sie denken müssen.

Schauen Sie sich auch das Benchmarking-Video an, das einen Großteil des gleichen Inhalts abdeckt.

jldugger
quelle