LinuxでIOパフォーマンスをテストするにはどうすればよいですか?LinuxでIOパフォーマンスをテストする
答えて
ツール:FIO
リンク:http://freshmeat.net/projects/fio/
テスト物理ディスクIO:
./fio examples/disk-zone-profile
設定パラメータ: シーケンシャルR/W:RW =読み取りまたはRW =書き込み ランダムR/w:rw = randreadまたはrw = randwrite
IOとファイルシステムベンチマークは複雑なトピックです。すべての状況において、単一のベンチマークツールが優れているわけではありません。高度にカスタマイズして、複数のクライアントを調整することができます -
- IOMeter:
ブロック・ストレージ:ここでは別のベンチマークツールについての小さな概要です。コーディネーションアプリケーション用のWindows PCが必要です。インテルによって開発されました。 Linuxでは、提出方法が最適ではなかったため、塩のピンチで古い(少なくとも2006.07.27以前)の最大速度を取る。
ファイルシステム(合成):
- FFSB - 柔軟なファイルシステムベンチマーク。 Linuxのための非常にきちんとしたベンチマーク。ワークロードの適切なカスタマイズ。 NFSベンチマーク(net-ffsb)は少し不安定です。
- Filebench - 非常に強力ですが、もともとSolaris用に開発されました。 Linuxのサポートは良くありません。
- sysbench - 主にDBベンチマークツールですが、基本的なファイルシステムベンチマークツールです。
- bonnie - 廃止されているようです。
- bonnie++ - ボニーのC++ポート。簡単ですが、非常にカスタマイズ可能ではないようです。
ファイルシステム(ワークロード):
- 消印は - メールサーバのIO動作をシミュレートします。優れたIOシステムを強調するには小さすぎます。 A nine year study of file system and storage benchmarking:
Stony Brook UniversityとIBMワトソン研究所は、彼らが異なるベンチマークとその長所と短所を提示しているファイルシステムのベンチマーク、約"Transaction of Storage"に強くお勧めジャーナル論文を発表しています。この記事では、ほとんどのベンチマークの結果が少なくとも疑わしいと明確に指摘しています。
注:は、関連する質問プログラミングですか?多分そうではないかもしれませんが、多分それかもしれません。私は開発したシステムのIO性能をベンチマークするのに多くの時間を費やしています。少なくとも私のために、これらのことをベンチマークする方法についての質問は、高度にプログラミングに関連しています。してください:あなたの視点から関連する開発/プログラミングではない質問をすべて閉じないでください。他の開発者の視点は異なるかもしれません。
あなたがテストしているものを指定する必要があります。そうしないと、ベンチマークが誤解を招きます。最適化するために選択する必要があるIOパフォーマンスと、再生するさまざまなパラメータのさまざまな側面があります。
お使いのシステムパラメータ:
- ストレージデバイス:HDD、SSD(?)、レイド(?)
- ファイルシステム、ブロックサイズ、ジャーナルモード
- ファイルキャッシュ、汚いしきい値、量メモリの
- IOスケジューラ、そのカーネルパラメータのCPUの
- 数
- カーネルバージョン
あなたの試験パラメータ:
- 読み取りまたは書き込みのパフォーマンス?
- 順次またはランダム?
- 1スレッドまたは複数スレッド?
- 要求のサイズ
- スループットまたは要求の遅延を最適化しますか?
IORATEと呼ばれるUnix上のブロックストレージIOをテストする優れたプログラムがあります。 iorate.orgでコピーを入手できます。
階層型ストレージテストで再利用(ヒット)とホットゾーンを含む複雑なIOを生成することができます。
iorate.orgはオフラインに見えますが、ダウンロードはまだhttps: //sites.google.com/site/vwiorate/home – Stickley
IOzoneを見てみましょう:あなたはHPCクラスター上で、実世界の使用法を説明するホワイトペーパーを読みたい場合は、このPDFファイルを参照してください。
dd if=/dev/sda of=/dev/null
を
これを数分間実行して、Ctrl + Cで停止します。ドライブ/コントローラの読み取り転送速度が印刷されます。これは、ドライブから出ることができる最大の読み取り速度です。
sysbench
が
sysbench --test=fileio --file-total-size=150G prepare
sysbench --test=fileio --file-total-size=150G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run
例
http://www.howtoforge.com/how-to-benchmark-your-system-cpu-file-io-mysql-with-sysbenchを参照してください。また、それは素晴らしいです
、CPU、メモリ、スレッド、およびデータベースサーバーのパフォーマンスをテストすることができます。 Javaで書かれ
やテストソフトウェア:あなたが何かをインストールする手間をかけずに簡単な方法が必要な場合はhttp://www.dacapobench.org/
。これは私が書き込み速度テストに使用する方法である:
dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
、出力はまた、この
[email protected]:/# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 4.86922 s, 221 MB/s
のようなものです: は余分なスペースを回復するために、この後にテストファイルを削除します中古
説明:
bs = block size
count = the no of blocks to be written
これらのパラメータを調整すると、サーバーの仕様および書き込みに費やす時間の長さによって書き込まれるファイルのサイズが変更されます。
出力速度として/ dev/nullを使用して、gtsoukによって既に提案されているような読み取り速度を確認できます。
完了したら、sudo rm testを忘れないでください! –
+1 - ツールの良いリストとStorage Paper on Transactionペーパーが参考になります。ネットワークベースのファイルシステムテスト(NFS)のためのもう1つの潜在的に有用なツールはfstressです:http://www.cs.duke.edu/ari/fstress/ –