遅いハードウェアでディスクのパフォーマンスを記録し、高速なハードウェアで再生してベンチマークするにはどうすればよいですか。

遅いハードウェアでディスクのパフォーマンスを記録し、高速なハードウェアで再生してベンチマークするにはどうすればよいですか。

現在、IOパフォーマンスの問題により、現在のシステムで非常に遅いさまざまな開発作業を行っています。

IO消費操作中にパフォーマンス情報(書き込み/秒、読み取り/秒など)を含むディスク操作を記録し、それを新しいシステムで再生してパフォーマンスがどのようになるかを確認する方法はありますか?(同じデータセットに対して同じコマンドを再実行する必要はありません)

会議ブロック追跡ブロック解析またはペオこの状況で私を助けることができますか?

たとえば、私のシステムで以下を実行したいとします。

find -name "*.php" | xargs grep -r "test_string"

50,000個のファイルを含むフォルダ(もちろん複数のレベル)

統計を含むすべてのディスク操作をキャプチャしてから、50,000個のフォルダがない他のシステムでそれを再生したいと思います。デフォルトでは、タスクをシミュレートし、タスクがより早く完了することを確認してください。

以下を使用してディスクサンプルをキャプチャしようとしました。

blktrace -d /dev/sda -o myfile.blk

しかし、どうやって再生しようとしているのかわかりません。ペオ

可能ですか?

ありがとう

答え1

カント。異なるハードウェアで同じタスクがどれくらいかかるかを確認するには、新しいハードウェアで同じタスクを実行する必要があります。

タスクをシミュレートするには、同じディスクセクタを読み書きすることに加えて、タスクがデータを読み取った後にデータに対して実行するすべてのタスクをシミュレートする方法を見つける必要があります。

答え2

fioを使用してファイルを再生するには、まずバイナリデータファイルblktraceに変換する必要があります。blkparseフェオのread_iolog選択より多くの情報を知りたい場合(replay_redirect役に立つかもしれません)。

メモ:fioを使用して書き込みを含む再生を再実行すると、再生されたファイル/ディスクのデータが削除されます。だから注意してください!

関連情報