【レポート】

オープンソースカンファレンス2005 - 今楽しみなApache 2.1

2 Linuxベンチマーク評価とボトルネック

    千葉俊洋  [2005/03/29]

    次は3月23日にお伝えした、LKSTに関するセミナーを紹介する。ここでは、実際にカーネルの情報収集を行って解析し、可視化するまでを実演していた。

    LKSTは以前から日立が開発していたオープンソースのカーネルイベントトレーサーで、カーネル内部で起こるイベントを時系列順にバッファに記録し、それをテキストとして吐き出すことができる機能を持っている。

    今回発表されたものは、これに

    • 性能評価に関わるイベントの取得・加工機能
    • 取得した情報を元に、性能解析とその可視化を行うツール
    を追加したもので、今回のセミナーでは、利用する際の流れが説明された。それによると、イベント取得のきっかけとなるフックポイントを組み込むためのlkstパッチを当てた、カーネルを使用することが前提となる。

    1. lkstモジュールを有効にして、イベント取得の準備とする。ただしモジュールを起動した段階では、何のイベントも取得されない
    2. どのイベントを取得するかを、20種類ほどあるマスクを組み合わせてマスクセットとして定義する
    3. マスクセットを有効にする。この時点からイベントがバッファに記録される
    4. 何らかの負荷をかける。セミナーではカーネルコンパイルの初期動作が行なわれた
    5. バッファに溜まった記録を、ファイルとして出力する
    6. ファイルをアナライザコマンドにて解析し、結果を表示する
    7. 6の結果を別ファイルとして保存し、それをプロッタコマンドに渡してPDF出力する

    カーネルに機能やフックポイントを組み込むことに起因する、パフォーマンスへの影響が気になるところだが、今回、こういったことに関する説明もなされた。実行時間にどの程度影響があるのかを検証してみると、lkstモジュールを組み込んだ状態であれば0.5%程度、全ての情報を記録する場合でも3.5%程度しか劣化しなかったそうだ。実行時間のほとんどを占めるユーザランドアプリケーションにはまったく影響せず、全体に占める時間の割合が小さいカーネルが処理を行う時間にだけ、若干の影響を及ぼすということが、この程度の差異で済む理由だろうと述べていた。

    他にも、ファイルシステムのベンチマークツールであるiozoneや、システムパフォーマンスの計測ツールであるoprofileと組み合わせて、高負荷時のカーネル挙動の違いとその原因を検証するときの流れについても解説があった。

    まとめ

    昨今、基幹業務にLinuxを初めとするOSSを検討・導入する企業が増えてきており、カーネル2.6の登場や64bit CPUに対応したディストリビューションの登場で、それらニーズへの対応も順次行われている状況だ。

    今回のカンファレンスでは、この記事で紹介したものの他にも、HAクラスタやDBクラスタといったものも紹介されており、改めてより大規模なシステムに対応できるような環境が必要とされ、それらが揃い始めていることを感じ取ることができた。

    OSC全体で見れば、例えば「初めてのvi講座」といった初心者対象のセミナーも用意されており、幅広いレベルを網羅するような構成で好感が持てた。それだけに、1セミナー1時間のものだと、物足りない感じもしたのも事実。来年はもう少しパワーアップして1.5時間ものが増えると良いな、と思っていたりもする。興味がある人は、オフ会のノリで是非参加されることをお勧めしたい。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン