物理ディスクがサポートできる最大I/Oを見つけるには?
私のアプリケーションはI / Oを実行しており、見つけることができます。実際Linux コマンド (Blk_wrtn/s) を使用したスループットです。しかし、私が到達できる最大限度はどのように見つけることができますか?追加充電が可能かどうか疑問に思います。
答え1
明らかにUnixツールを使用するのが最も簡単な方法です。テストケースを作成して最大動作を測定し、適切なツールを使用してパフォーマンスを測定できます。素晴らしいリソースはここにあります:LINUX - ストレージの読み書き速度のテスト
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
。環境の書き込みパフォーマンスも測定しますが、これはハードドライブのパフォーマンスに大きく依存します。
答え2
Blk_wrtn/s は実際にはワークロードのタイプによって異なります。線形書き込みははるかに高速ですが、ランダム書き込みは遅くなります。したがって、数字を話すことはできませんが、iozone、dbenchなど、さまざまなワークロードをシミュレートしてベンチマークするためのツールがたくさんあります。
これで、現在のワークロードを監視するために通常iostatを使用します。たとえば、
iostat -x 10
最後の列は%utilです。 100未満の場合でも、そこにいくつかのIO負荷を置くことができます。もちろん、常に少しの空き容量を確保したいので、ワークロードの安定性と必要な応答性に応じて、60~90%が現実的な目標です。
答え3
次のベンチマークツールを使用できます。ボニー++
マニュアルページから
Bonnie++は、ハードドライブとファイルシステムのパフォーマンスまたはパフォーマンスの欠如をテストするプログラムです。ファイルシステム操作にはさまざまな種類があり、さまざまなアプリケーションでファイルシステム操作をさまざまなレベルで使用します。 Bonnie ++はそれらのいくつかをテストし、各テストに対して1秒あたりに実行されたワークロードと消費されたCPU時間の割合の結果を提供します。パフォーマンス結果は数値が高いほど良い、CPU使用量は数字が低いほど良い(参考にCPU使用量は性能結果スコアが2000、CPU結果は90%構成比性能結果1000と60CPUで構成)使い方が良い) 。