web-dev-qa-db-ja.com

複雑なI / Oアクティビティを測定して、現実的なベンチマークを開発するにはどうすればよいですか?

別のストレージソリューションのベンチマークを行うために、サービスサーバーからいくつかのメトリックを取得する必要があります。ベンチマークプログラムによって提供されるさまざまなオプションがあります(私はFIOを選択しました http://freecode.com/projects/fio )。簡単にioパターンを設定できました。しかし、実際のサービスの指標を取得して、ベンチマーク変数を可能な限り現実的に設定するにはどうすればよいかわかりませんでした。

例として、私はセットアップする必要があります、

  • ランダム/シーケンシャル読み取り/書き込み比率ファイルサイズとそれぞれの分布
  • ファイルサイズ(可能であれば、各サイズのランダム/シーケンシャル読み取り/書き込み比率)
  • iodepth
  • ランダムアクセスの再訪問率(ランダムアクセスのパフォーマンスに影響を与える可能性があります)

私は現在ceph( http://ceph.com/ )をテストしていますが、少なくとも上記のメトリックは、私の調査によると、これらの種類のストレージに大きな影響を与えるようです。これらの値を取得するにはどうすればよいですか?

collectcl( http://collectl.sourceforge.net/ )は有望なようでした。しかし、読み取り/書き込みの比率以上のものを理解することはできませんでした。それら以外は理解できませんでした。他の人がこれらのベンチマーク変数をどのように決定するかを知りたいです。

前もって感謝します。

4
jinhwan

blktrace を使用して、実際のシステムストレージアクティビティを記録し、既存のワークロードのプロファイルを作成できます。それをファイルに取り込むことができます。

トレースは 再生 になります。

もう1つの興味深い可能性couldは、新しい sysdigユーティリティ を使用して、代表的なワークロードで何が起こっているかを分析しようとすることです。

さらに、ここでの回答は、 システムタップ を使用した興味深いアプローチを示しています。
記録するLinuxユーティリティIO統計(ランダム/シーケンシャル、ブロックサイズ、読み取り/書き込み比率)

6
ewwhite