web-dev-qa-db-ja.com

Linux(2.4)システムでさまざまなレベルのディスク負荷を生成するにはどうすればよいですか?

さまざまなレベルのディスクI/Oがアプリケーションに与える影響について調べる必要があります。そのために、アプリケーションをベンチマークモードで実行しているときに、さまざまな量のディスク負荷を生成する方法を探しています。

現在、パフォーマンスの低下についてユーザーから苦情が寄せられていますが、取得する情報が非常に少ないため、問題がどこにあるのかを正確に特定することはまだできません。 I/Oが主な容疑者ですが、確実に知りたいと思います。

手始めに、構成可能な連続読み取りまたは書き込みロードを作成するための何かで問題ありません。 g。 /dev/zeroからtmpファイルなどへ。 ddを使用できることはわかっていますが、これによりディスクがすぐに限界に達しますが、バックグラウンドトラフィックの量を増やしながら、ある種のスロットルでさまざまなテストを実行したいと思います。

物事をもう少し難しくするには、これをRedHat9ボックスで実行する必要があります。つまり、カーネル2.4です。したがって、理想的には、これはとにかく存在するデフォルトのツールを利用するある種のスクリプトになります。

1

大きなファイル(1GBなど)を作成してから、rsyncを使用してファイルをコピーできます。 rsyncには、帯域幅を制限するオプションが組み込まれています。したがって、ファイルを10KiB /秒、50KiB /秒、2MiB /秒などでコピーできます。

3
Rory

私が覚えている限り、ボニーはある程度の負荷をかけることができます: http://www.coker.com.au/bonnie++/ 期待どおりに機能しない場合は、小さなbashスクリプトを作成してくださいそれは、dd、rm、ls(または前述のrsync)などのさまざまなユーティリティを使用します。

1
Dan Fruehauf

スクリプト可能なツールを使用して、適切なパターンでディスクにストレスをかけることができます。例えば ​​:

  • IOZoneはCLIツールであり、セットアップが非常に簡単で、CVSまたはXLSファイルを直接提供します(www.iozone.org)。
  • IOMeterには、リアルタイムで何が起こっているかをリモートで制御するためのWindowsGUIがあります。 (www.iometer.org)

どちらも、読み取りと書き込みのバランスをとる方法、IOサイズなど)を正確に選択できます。

0
wazoox

rugg は、あなたのためにトリックを行うかもしれないディスクテストユーティリティです。テストの実行に使用するスレッドの数を制御して、ディスクとシステムの負荷を制御できます。また、テストを並行して実行するか順次実行するかを制御して、別のレベルの制御を追加することもできます。

0
David

ベンチマークモードがある場合、その複数のインスタンスを起動できますか?その場合は、本番環境の負荷に近づくまでコピーを実行し続けることができます。

0
mjallday