Lotus Domino 7エージェントプロファイル機能のご紹介 

(技術情報)

Comments

はじめに

「エージェントを実行しているが実行時間が思った以上にかかっていたり、CPU使用率が思った以上に増えてしまっているが、どこに問題があるのか分からない。」

そのような問題に直面したことはありませんか? Lotus Notes/Domino 7に新たに搭載されたエージェントプロファイル機能を利用すれば、大きな手がかりを得られるかも知れません。

エージェントプロファイルとは

エージェントプロファイル機能とは、エージェントの実行過程を監視して、どのようなプログラム操作がどの程度使われているかを分析、報告してくれる機能です。下の図は、エージェントプロファイル機能の結果出力の一例です。レポートにはどのクラスのなんというメソッドが合計何回コールされ、処理時間にどれだけかかったかを示していて、処理が重たい順にソートされています。

図1.エージェントプロファイルの分析結果出力画面
図1.エージェントプロファイルの分析結果出力画面
図1.エージェントプロファイルの分析結果出力画面

このような一覧から、どのあたりがボトルネックになっているかの「あたり」を容易につけることができます。問題のあるプログラムの場合、大抵は処理時間やコール数が桁違いになっている項目がいくつか見られる場合があります。その検出された「重い部分」とプログラムを見比べながら問題箇所の特定と改善を行います。

ある場合には、変数の宣言がPrivateでされていたために何度も行っていたところを、Globalで設定することで繰り返しを省いてみたり、ループのロジックを改良することで劇的にパフォーマンスが向上した例があります。

エージェントプロファイル機能を使うには

エージェントプロファイル機能の使い方は極めて簡単です。Lotus Domino Designerでエージェントを開き、プロパティーボックスの「エージェントをプロファイル」にチェックを入れて実行するだけです。エージェントを実行したあとで、エージェント一覧から右クリックで「プロファイル結果の表示」、あるいはメニューから「エージェント」-「プロファイル結果の表示」を選択すると、上記の一覧表が表示されます。この機能はサーバー上でも、クライアント(ローカル)でも利用できます。

図2.Lotus Domino Designer 7のエージェントのプロパティーボックス
図2.Lotus Domino Designer 7のエージェントのプロパティーボックス
図2.Lotus Domino Designer 7のエージェントのプロパティーボックス
図3.エージェント一覧より特定のエージェントを右クリックしたときのメニュー
図3.エージェント一覧より特定のエージェントを右クリックしたときのメニュー

この実行結果は相対的な数字であることに注意してください。サーバーでは様々なタスクが動いており、状況により変動します。キャッシュによっても変動します。また、プロファイル機能自体がオーバーヘッドになっているため、プロファイル機能を使わない場合の数値はもう少し良くなるはずです。このように数字は、そのエージェントプログラムの中で処理された内容の相対的な比較にとどめるようにしてください。

利用後はチェックを外すことを忘れないようにしてください。パフォーマンスに悪影響を及ぼす可能性がありますので注意が必要です。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Lotus
ArticleID=339911
ArticleTitle=Lotus Domino 7エージェントプロファイル機能のご紹介 
publish-date=05152007