特別企画 J2EEアプリケーションのパフォーマンス管理を実現

90年代半ば、一部のアーリーアダプターが利用するに過ぎなかったJavaも、その適用範囲や影響力を順調に拡大させ、現在ではアプリケーション開発の分野において、主役といっても過言ではないほどに成長することになった。

さらにエンタープライズ向けのJava技術はJ2EE(Java 2 Enterprise Edition)としてまとめられ、広く普及するに至っている。また、当初はサブ的意味合いの強かったJavaアプリケーションではあるが、J2EEはエンタープライズの名が示すとおり、大規模な基幹系システムにおいてもメインフレームシステムに替わって採用されることも珍しくない。

困難なJ2EEアプリケーションのパフォーマンス管理

そして現在、多くの開発者や管理者にとって問題となっているのが、J2EEアプリケーションのパフォーマンス向上や信頼性の確保である。すでに述べたように、初期のJavaアプリケーションは業務に直接関わらないものが多かったため、パフォーマンスや信頼性、可用性についてそれほど高いものを求められることはなかった。しかしJ2EE以降、従来メインフレームを利用していたような基幹業務のアプリケーションにおいてもJavaが積極的に導入されるようになったため、当然の流れとして高いレベルでパフォーマンスや可用性を維持することが必須となってきたのだ。

しかし、J2EEを基盤としたシステムは大規模になればなるほど複雑化する傾向にある。複雑化すれば当然、パフォーマンスが低下した場合の原因の特定と解決は難しくなってくる。さらにはよく知られたところだが、J2EEはブラックボックスであり、アプリケーション内部の動きを把握するのが難しいという点が、この問題をより解決しがたいものにしてしまっている。

このような状況ではJ2EEを熟知した技術者でなければ問題に対応できないが、そうした技術者自体がまず不足している。さらに、熟知した技術者であっても、結局は経験の中から養ったカンに頼った対応をしているというのが現実であり、ミッションクリティカルなアプリケーションの運用という観点からは、やはり心許ないというのが本当のところだろう。こうした状況を根本的に変えたいという要求は多くの開発者、管理者に共通する想いではあるが、残念ながら問題を解決する効果的な手段は今まで存在しなかった。

したくてもできなかったを実現するVantage Analyzer for J2EE

そして今回、J2EEアプリケーションのパフォーマンス管理を実現させるソリューションとして登場したのが、日本コンピュウェアのVantage Analyzer for J2EE (以下、Vantage Analyzer)である。Vantage Analyzerは本番環境に最適化されており、本番環境で稼働するJ2EEアプリケーションのパフォーマンス監視および分析を行うことができる。そして、J2EEアプリケーションのパフォーマンスを可視化し、詳細なトランザクション分析を行うことで、J2EEのブラックボックスを開き、パフォーマンスの問題箇所をメソッドレベルで特定することが可能だ。これにより、J2EEに精通した技術者でなくても、パフォーマンスの低下と、その解決方法をいち早く把握することができるようになる。

もちろんVantage Analyzerは本番環境だけでなく、テスト環境での利用も可能だ。つまり、本番公開前にパフォーマンス改善のためのテストを徹底的に行うことで、本番移行後のトラブル発生のリスクを低減させることができるのだ。これまでこうしたテストを行うには工数の問題や、テストに従事できる知識を持った人員の確保など、多くの解決しがたい問題があった。しかし、Vantage Analyzerにより、テスト時の情報を自動収集し、パフォーマンス分析を容易にすることで、こうした問題を解決できる。さらに人が依存しないため、テストの精度も高いレベルで一定化することが可能だ。そして前述のとおり、本番環境でアプリケーションのパフォーマンス監視を行うことで、パフォーマンスの低下を察知し、トラブルの発生を未然に防ぐというプロアクティブな対応を行うことで、ミッションクリティカルなアプリケーションが提供すべきSLAの実現と遵守が可能になる。

また、Vantage Analyzerの大きな特長のひとつは、J2EEに関する特別な専門知識がなくても利用できる点にある。例えば日常の操作においてキーボードは一切必要なく、マウスのみで事足りる。画面表示についても、問題発生した場合、その発生箇所がリストの上位に表示されるので、担当者は即座に問題の発生と箇所を知ることができる。あとはドリルダウン機能を使うことで問題箇所をピンポイントに特定すればよい。さらに非常に困難な作業であるJ2EEアプリケーションのメモリリークの検出も、Vantage Analyzerではメモリリークの可能性を自動的に指摘し、一目でわかるように表示されるため、担当者の労力は劇的に軽減される。

トランザクション エクスプローラ

メモリ スコープ

< 拡大図 >
ツリー形式でメソッド、SQLコール情報を提供
トランザクションを構成するコンポーネントの負荷を確認可能
< 拡大図 >
メモリ使用情報(オブジェクトとメソッド)を提供
メモリ使用状況をオブジェクトレベルで可視化し、メモリリーク発見を容易にする
さらに、メモリリークだけでなくJVM上のオブジェクトも可視化

問題発生の通知に関しても、例えばJavaメソッドの処理時間に対して、あらかじめ‘しきい値’を設定しておくことで、パフォーマンスの低下による問題発生もしくは発生の恐れを察知し、電子メールさらには他社製の監視ツールなどに即座にアラートを送ることができるため、24時間365日のリアルタイムな監視が可能になっている。そして、こうした監視結果をVantage Analyzerのレポーティング機能を使うことで、PDFやHTMLなどさまざまなフォーマットでレポートを作成することができる。こうしたさまざまな機能によって、複雑化し、ブラックボックスであったJ2EEアプリケーションを可視化し、確実な品質管理が可能になる。

他製品との連携

さらに他製品と連携させることでVantage Analyzerの価値はさらに上昇する。例えばVantage Analyzerで問題を特定し、コードの修正を行った後、Javaアプリケーションの性能管理ツールであるDevPartner Java Editionにより単体テストを行うことで、より信頼性の高いアプリケーションとすることができる。

基幹システムであれば当然24時間365日の安定稼働が求められる現在、J2EEアプリケーションもその例外とはならない。そのためにはアプリケーションのパフォーマンス監視やトランザクション分析が必須であり、それを可能とするのがVantage Analyzerである。Vantage Analyzerを導入することで、開発者と管理者、運用担当者の負荷を軽減させながら、アプリケーションの信頼性、ひいては顧客満足度の向上を実現することができる。