物理ディスクがサポートできる最大IOを調べる方法

物理ディスクがサポートできる最大IOを調べる方法

物理ディスクがサポートできる最大 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 はワークロードの種類によって異なります。リニア書き込みははるかに高速ですが、ランダム書き込みは非常に遅くなる可能性があります。したがって、1 つの数値を言うことはできませんが、iozone、dbench など、さまざまなワークロードをシミュレートしてベンチマークするツールは多数あります。

現在、現在のワークロードを監視するには、通常 iostat を使用します。例:

iostat -x 10

最後の列は %util です。これが 100 未満であれば、そこに IO 負荷をかけることができます。もちろん、常にいくらかの余裕を持たせたいので、ワークロードの安定性と必要な応答性に基づくと、60 ~ 90% が現実的な目標となります。

答え3

次のようなベンチマークツールを使うことができます。ボニー++

マニュアルページより

Bonnie++ は、ハード ドライブとファイル システムのパフォーマンスまたはその欠如をテストするプログラムです。ファイル システム操作にはさまざまな種類があり、アプリケーションによって使用される度合いは異なります。Bonnie++ はそれらのいくつかをテストし、各テストで 1 秒あたりの作業量とこれにかかった CPU 時間の割合の結果を表示します。パフォーマンスの結果は数値が高いほど良く、CPU 使用率は低いほど良いです (注: パフォーマンス結果が 2000 で CPU 結果が 90% の構成は、パフォーマンスが 1000 で CPU 使用率が 60% の構成よりも CPU 使用率の点で優れています)。

関連情報