
Ich führe derzeit verschiedene Entwicklungsaufgaben aus, die auf meinem aktuellen System aufgrund der IO-Leistung langsam sind.
Gibt es eine Möglichkeit, Festplattenoperationen während der Ausführung von IO-intensiven Aufgaben aufzuzeichnen, einschließlich Leistungsinformationen (Schreibvorgänge/Sekunde, Lesevorgänge/Sekunde usw.), und diese dann auf einem neuen System wiederzugeben, um zu sehen, wie die Leistung dort wäre?(ohne denselben Befehl für denselben Datensatz erneut ausführen zu müssen)?
Würdeschwarzspur,blkparseoderfiomir in diesem Fall helfen?
Beispiel: Angenommen, ich möchte auf meinem System ein Benchmarking durchführen für
find -name "*.php" | xargs grep -r "test_string"
in einem Ordner mit 50.000 Dateien (natürlich auf mehreren Ebenen)
Ich möchte alle Festplattenvorgänge, einschließlich Statistiken, erfassen und sie dann auf einem anderen System wiedergeben, das nicht über den Ordner mit 50.000 Dateien verfügt. Im Grunde genommen simuliere ich nur die Vorgänge und prüfe, ob sie schneller ausgeführt werden.
Ich habe versucht, die Disk-Samples zu erfassen, indem ich
blktrace -d /dev/sda -o myfile.blk
aber ich weiß nicht, wie ich versuchen kann, sie erneut abzuspielen mitfio.
Ist das möglich?
Danke
Antwort1
Nein. Wenn Sie sehen möchten, wie lange dieselbe Aufgabe auf anderer Hardware dauert, müssen Sie dieselbe Aufgabe auf der neuen Hardware ausführen.
Wenn Sie die Aufgabe simulieren möchten, müssen Sie zusätzlich zum Versuch, dieselben Festplattensektoren zu lesen/schreiben, eine Möglichkeit finden, die Arbeit zu simulieren, die die Aufgabe mit den Daten verrichtet, nachdem diese gelesen wurden.
Antwort2
Um eine Datei mit fio wiedergeben zu können blktrace
, müssen Sie sie blkparse
zunächst in eine binäre Datendatei konvertieren - sieheFio- read_iolog
Optionfür mehr Informationen (replay_redirect
kann auch nützlich sein).
Notiz:die Verwendung von fio zum erneuten Ausführen einer Wiedergabe, die Schreibvorgänge enthält, ZERSTÖRT die Daten in der Datei/Festplatte, auf der die Wiedergabe erfolgtalso sei vorsichtig!