|
FileBench: FS パフォーマンス測定のための新時代ツール
FileBench の大規模更新が終了し、アップデートされたバージョンをリリースできることを嬉しく思います。情報の一部は、今夜 sourceforge に掲載されます。FileBench が OpenSolaris にインクルードされるという嬉しい知らせもあります。更新されたパッケージの「/usr/benchmarks」にファイルがあります。
さて、ビジネスユースの要求から生まれた FileBench は、ただ新しいだけのシンプルなベンチマークツールなのでしょうか。そうではありません。
親愛なる読者の皆さんに、まずは、私たち ZFS チームの成果について、端的な話をさせてください。
「bonnie と dd を実行して myfav_linuxkernel_tarball.tar を作った。このファイルシステムは最低だ」
それがこんな風になる日が来ることを、目指して取り組んでいます。
「bonnie と dd を実行して myfav_linuxkernel_tarball.tar を作った。このファイルシステムは最高だ」
FileBench とは
ファイルシステムが本当に「最高」だと評価されなら、それはすばらしいことですが、今問題にした bonnie、dd、tar は (間違いなく)、ファイルシステム全体を評価可能な総合アプリケーションパッケージではありません。IOzone は優れたツールですが、基本的な I/O パターンしか評価できません。IOzone 以外にも、mkfile、fsstress、fsrandom、mongo、iometer など、ファイルシステムベンチマークは多数あります。これらのベンチマークソフトすべてに共通する問題は、測定可能なワークロードがせいぜい数種類しかないことです。どのベンチマークでも、実際のアプリケーションと同じワークロードを測定することはできません。たしかに、読み取り/書き込みのランダム割り当てに、Oracle が一部取り組んでいます (先ほど挙げたベンチマークの多くも、この計測に対応しています)。しかし、ランダムな読み取り/書き込みが互いに及ぼす影響と、Oracle が提供するほかの機能 (影響が大きい例として、ログの記録など) との間の影響の「両方」が重要なのです。先ほど挙げたベンチマークの中に、これが可能なものはありません。
FileBench 入門
FileBench はどこが違うのでしょうか。FileBench は、ファイルシステムパフォーマンスの測定と比較のため、ファイルシステムのワークロードをフレームワーク化したものです。ポイントはワークロードです。FileBench にはシンプルな .f language が搭載されており、ワークロードを構築してアプリケーションをシミュレートすることが可能です。先ほど挙げたどのベンチマークも、FileBench で構築したワークロードで置き換えることができます。しかしさらに重要なのは、データベースのように複雑なアプリケーションをシミュレートしたワークロードも作成できるということです。たとえば私は、Oracle のライセンスを購入して自分のシステムにインストールする手間をかけることなく、ZFS の vdev キャッシュを変更したことでデータベースパフォーマンスが向上したのかどうか、評価することができました。使ったのは FileBench とワークロード「oltp.f」だけです。
FileBench を使い始めるには
Quick Start Guide を参照するのが一番の近道です。Solaris Internals の wiki にも情報があります。有用な情報が多くあり、また貢献の場としても有効でしょう。トラブルシューティングは gotchas セクションを参照してください。
FileBench に貢献するには
オリジナルのワークロードを作成したい場合は、Drew Wilson によるドキュメントを参照してください。ワークロードの作成は、私たち (Sun の関係者としてでなく、FileBench コミュニティーの一員として) がもっとも望んでいる貢献です。集まったワークロードの検証と今後のワークロードの作成に関わる人も強く求めています。産業分野の人にとっても学問分野の人にとっても良い機会だと思います。新しいワークロードを FileBench に組み込む計画が着々と進んでいます。
FileBench のバイナリをビルドするためのソースコード関連で貢献したい人は、perf-discuss@opensolaris.org まで連絡して下さい。
FileBench は完成しているか
まだ完成していません。FileBench 完成に向けて、有意義な前進を数多く重ねています。ワークロードの新規ビルド以外に、貢献が必要な大規模プロジェクトが 2 つあります。マルチクライアントとプラグインのサポートです。前者はごく単純な理由で、NFS と CIFS のベンチマークを行うためにマルチクライアントのサポートが必要になります。それをマルチプラットフォーム (OpenSolaris、linux、*BSD、OSX など) で実現しなければなりません。2 つめは、各コミュニティーのエキスパートの協力が必要な事柄です。現在、FileBench はクライアントまたはイニシエータの実装がどのようなものであっても実行できます。しかし、サーバーあるいはターゲットの実装を比較したいだけであれば、両方のシステム (たとえそれが異なるオペレーティングシステムであっても) で利用する組み込みプラグインが欲しくなることでしょう。すでに、NFSv3 用プラグインのプ��トタイプ作成に着手しました。NFSv4、CIFS、iSCSI についても検討しました。XAM を挙げたコミュニティーメンバーもいます。非常に興味深い分野といえるでしょう。
結局どういうことなのか
ファイルシステムのベンチマークが必要なら、FileBench を試してみましょう。要望や改善すべき点を聞かせて下さい。
もし新しいファイルシステムベンチマークの開発を考えているなら、代わりに FileBench 用ワークロードの新規作成について検討してみて下さい。役立つものができたなら、ぜひ成果を共有しましょう。もしうまく行かない場合、その理由を知らせて下さい。
私たちは FileBench に大きな自信を持っています。この業界 (ファイルシステムとストレージ) 全体で活用されることを望んでいます。OpenSolaris での良好な動作をすでに確認しており、今後ほかの開発者により、各自のプラットフォーム (linux、*BSD、OSX など) でも同様の動作確認が届くことを期待しています。
ベンチマークの活躍と RMC の発展を願っています。
(2008-05-17 17:23:00.0/2008-05-17 17:22:23.0)
Permalink
Trackback: http://blogs.sun.com/erickustarz/ja_JP/entry/filebench_fs_%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E6%B8%AC%E5%AE%9A%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%96%B0%E6%99%82%E4%BB%A3%E3%83%84%E3%83%BC%E3%83%AB
|