Wie zeichne ich die Festplattenleistung auf langsamer Hardware auf, spiele sie dann auf schnellerer Hardware wieder und führe einen Benchmark durch?

Wie zeichne ich die Festplattenleistung auf langsamer Hardware auf, spiele sie dann auf schnellerer Hardware wieder und führe einen Benchmark durch?

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 blkparsezunächst in eine binäre Datendatei konvertieren - sieheFio- read_iologOptionfür mehr Informationen (replay_redirectkann 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!

verwandte Informationen