物理ディスクがサポートできるMAX I/Oを見つける方法は?
私のアプリケーションはI/Oを実行しており、Linuxコマンドを使用してactualスループット(Blk_wrtn/s)を見つけることができます。しかし、どのようにして私が到達できる上限を見つけることができますか?さらにロードできるかどうか知りたい。
Unixツールを真剣に使用することが、最も簡単な方法です。テストケースを作成して最大動作を測定し、適切なツールを使用してそのパフォーマンスを測定できます。良いリソースはここにあります: LINUX-Test READ and WRITE speed of Storage
Sudo hdparm -tT /dev/sdX
たとえば、読み取りテストとして。
そして、書き込みを測定するには:
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
注コメントで指摘されているように、dd
コマンドはファイルシステムのパフォーマンスを測定し、/dev/random
。ただし、ハードディスクのパフォーマンスに大きく依存する環境の書き込みパフォーマンスを測定します。
Blk_wrtn/sは、ワークロードのタイプに実際に依存します。線形書き込みははるかに速く、ランダム書き込みは非常に遅くなる可能性があります。したがって、1つの数値を言うことはできませんが、さまざまなワークロードをシミュレートしてベンチマークするためのツールがたくさんあります。 iozone、dbench。
現在のワークロードを監視するために、通常はiostatを使用します。例えば。:
iostat -x 10
最後の列は%utilです。100未満の場合でも、IOをそこにロードできます。もちろん、常に予備を確保したいので、60〜90%が現実的ですワークロードの安定性と必要な応答性に基づいて目標を設定します。
bonnie ++ のようなベンチマークツールを使用できます。
マニュアルページから
Bonnie ++は、ハードドライブとファイルシステムのパフォーマンスや不足をテストするプログラムです。さまざまなアプリケーションがさまざまな程度で使用するファイルシステム操作には、さまざまな種類があります。 Bonnie ++はそれらのいくつかをテストし、各テストについて、1秒あたりに実行された作業量の結果と、この処理にかかったCPU時間の割合を示します。パフォーマンス結果については、数値が高いほど、CPU使用率が低いほど良好です(NBのパフォーマンス結果のスコアリングが2000で、CPUの結果が90%の場合、パフォーマンスが1000でCPU使用率が60の場合よりも優れています。 %)。