エスエムジーは2010年7月中旬、性能診断ソフトの新版「ENdoSnipe ver.4.5」を出荷する。新版では性能測定の対象を、従来のJavaアプリケーションだけでなく、Linux、Windows、SolarisといったサーバーOSに広げる。

 同社は、Javaで開発した業務アプリケーションの性能コンサルティングなどを手掛ける。「ENdoSnipeにより、Javaシステムで性能低下が発生した際、JavaなのかOSなのかといった、原因の切り分けが容易になる」と、山崎政憲氏(システムズコンサルティングデヴィジョン シニアテクニカルコンサルタント)は説明する。

 ENdoSnipeには、Javaアプリケーションの実際の処理を分析してクラス図やシーケンス図で表現する機能や、処理の中で性能低下を引き起こしそうな問題個所を特定・診断する機能がある。

 例えば、ENdoSnipeでJavaシステムの検索処理を測定対象にすると、画面生成、ビジネスロジック、DBアクセスといった、検索処理に関連したクラスとその関係がクラス図で表示されたり、クラス間の処理の流れがシーケンス図で表示されたりする。

 並行して、アプリケーションが稼働するサーバーのCPU使用率やメモリーの使用量、アプリケーションのレスポンスも計測。負荷が高まったり処理時間が長かったりすると、分析画面上の、クラス図やシーケンス図の上に、問題発生個所を強調表示させる。問題発生個所ごとに、「テーブルのフルスキャンが発生している可能性がある」、「メモリーリークが発生している可能性がある」といった、具体的な診断結果も分析画面に示される。

 「Javaの実行環境やデータベースなどの幅広い知識を持ち合わせていなくても、診断結果を基に、トラブルシューティングができる。診断結果は、これまでの10年来手掛けてきた性能コンサルティングで得たノウハウに基づいている」と山崎氏は話す。

 山崎氏によると、性能テストに入る前に、ENdoSnipeを利用して問題個所を事前に突き止めて改善しておく利用方法が有効だという。「性能テストになってはじめて問題が分かったために大きな手戻りが発生した、といった事態を回避できる」(山崎氏)からだ。

 新版ではこのほか、運用中のJavaシステムのCPU使用率やメモリー使用量を監視して、あらかじめ定めておいた数値を超えた状態が続くと通知する機能も追加する。ENdoSnipeの価格は、69万円(1サーバー、初年度の保守料含む)から。