Wie ermittelt man die maximale E/A, die eine physische Festplatte unterstützen kann?
Meine Anwendung führt I/O aus und ich finde dietatsächlichDurchsatz (Blk_wrtn/s) mithilfe von Linux-Befehlen. Aber wie kann ich herausfinden, welches maximale Limit ich erreichen kann? Ich möchte wissen, ob es weiter geladen werden kann.
Antwort1
Natürlich ist die Verwendung von Unix-Tools der einfachste Weg, dies zu tun. Sie können den maximalen Betrieb messen, indem Sie einen Testfall erstellen und geeignete Tools verwenden, um seine Leistung zu messen. Eine gute Ressource finden Sie hier:LINUX - Testen Sie die Lese- und Schreibgeschwindigkeit des Speichers
sudo hdparm -tT /dev/sdX
beispielsweise als Lesetest.
Und zum Messen schreiben Sie:
dd if=/dev/random of=<some file on the hd> bs=8k count=10000; sync;
# Hit CONTROL-C after 5 seconds to get results
# 65994752 bytes (66 MB) copied, 21.8919 s, 3.0 MB/s
flag
Notiz
Wie in den Kommentaren erwähnt, dd
misst der Befehl auch die Leistung des Dateisystems und sogar /dev/random
. Es misst die Schreibleistung einer Umgebung, die jedoch stark von der Leistung der Festplatten abhängt.
Antwort2
Blk_wrtn/s hängt wirklich von der Art der Arbeitslast ab. Lineares Schreiben ist viel schneller, zufälliges Schreiben kann sehr langsam sein. Sie können also keine genaue Zahl nennen, aber es gibt viele Tools zum Simulieren und Benchmarken verschiedener Arbeitslasten, z. B. iozone, dbench.
Um die aktuelle Arbeitslast zu überwachen, verwende ich normalerweise iostat. Beispiel:
iostat -x 10
Die letzte Spalte ist %util. Wenn dieser Wert unter 100 liegt, können Sie dort immer noch etwas IO-Last eintragen. Natürlich möchten Sie immer eine Reserve haben, daher sind 60-90 % ein realistisches Ziel, basierend auf der Stabilität der Arbeitslast und der erforderlichen Reaktionsfähigkeit.
Antwort3
Sie können ein Benchmarking-Tool verwenden wiebonnie++
Aus der Manpage
Bonnie++ ist ein Programm zum Testen der Leistung oder des Leistungsmangels von Festplatten und Dateisystemen. Es gibt viele verschiedene Arten von Dateisystemoperationen, die von verschiedenen Anwendungen in unterschiedlichem Ausmaß genutzt werden. Bonnie++ testet einige davon und gibt für jeden Test ein Ergebnis der pro Sekunde geleisteten Arbeit und des dafür benötigten Prozentsatzes an CPU-Zeit an. Für Leistungsergebnisse sind höhere Zahlen besser, für die CPU-Auslastung sind niedrigere besser (NB: Eine Konfiguration mit einem Leistungsergebnis von 2000 und einem CPU-Ergebnis von 90 % ist in Bezug auf die CPU-Auslastung besser als eine Konfiguration mit einer Leistung von 1000 und einer CPU-Auslastung von 60 %).