JavaでつくったWebアプリの性能に関する課題
基幹システムやBtoCのサービスなどJavaで開発された重要なアプリケーションの管理者は、そのアプリケーションが正常に稼働しているかを気にせずにはいられません。パフォーマンス劣化が発生すればユーザーから報告を受け、迅速な対応が求められます。
多くのアプリケーション管理者にとって、Javaの性能低下の早期発見と遅延原因の調査の迅速化は課題となっています。
アプリケーション性能管理ツール Applications Manager
アプリケーションパフォーマンスの改善でログを見るのは時代遅れ?
アプリケーションのパフォーマンス問題を調査する方法として、アプリケーション開発者がユーザーから「いつの時間帯に遅かったか」「どの処理をしている時に遅かったか」などヒアリングをし、アプリケーションのログなどから調査を実施するのが定石です。
しかし、「遅い」と一口に言っても、アプリケーションはさまざまなコンポーネントから構成されており、見るべき箇所はたくさんあります。アプリケーションのパフォーマンスに不安がある場合にボトルネックとして疑うべき箇所は、例えば以下のような項目が挙げられます。
- HTML・画像などフロントエンドの問題
- アプリケーションのプログラムの問題
- データ処理をするデータベースクエリの問題
- アプリケーションがデプロイされているアプリケーションサーバーの問題
- サーバー本体のリソース(CPU・メモリー・ディスク等)不足
- サーバー本体のネットワーク遅延
これらをアプリケーションから生成される膨大なテキストログの中から的確に特定しない限り、アプリケーションパフォーマンスの問題は根本解決しません。
ユーザーからの不明確な報告から原因箇所を探り、該当箇所が生成するログを逐一調査する手順では、アプリケーションのパフォーマンスの課題を迅速に解決することが難しいと言えます。パフォーマンス劣化の問題が長引くことで、ユーザーの不満が高まってしまう原因にもなります。
Javaアプリケーションのパフォーマンスを向上して継続的な改善をしていくためには、Javaアプリケーションが遅くなる原因を迅速に特定するための手段として、ログ調査以外の手を検討する必要があります。
Javaアプリケーションのボトルネックを可視化する監視ツール
ManageEngineが提供するAPMツールApplications Managerは、Javaアプリケーションのパフォーマンスを監視できるツールのひとつです。ひとつのソフトウェアで各種サーバーOS、アプリケーションサーバーやデータベースなどのミドルウェアの監視に加え、Javaアプリケーションパフォーマンスや、遅い処理が読み込まれたURLなどを一覧として可視化します。ドリルダウンで時間のかかっているプログラムをコンポーネント単位で特定することができます。
無料で使えます[機能・監視数 無制限]
アプリケーションやデータベース処理の問題を可視化!Webトランザクション監視機能「APMインサイト」
Applications Managerの「APMインサイト」は、アプリケーションのパフォーマンスを可視化する機能です。特定時間帯に呼び出されたURLから、処理に時間が掛かったアプリケーションのクラスとSQLクエリまでを、数クリックで可視化します。どこでJavaの性能の低下が発生していたとしても、迅速に状況を把握し、問題を解決できます。
トランザクション証跡やJava/J2EE コンポーネント、EJB、URLによるSQLの実行のパフォーマンス情報を追跡できます。さらに、Javaメソッドの呼び出し履歴から問題のコードを特定し、パフォーマンスのボトルネックを特定できます。
無料で使えます[機能・監視数 無制限]
フロントエンドの問題を可視化「エンドユーザー体感監視」
Applications Managerの「エンドユーザー体感監視」では、ユーザーを模した監視エージェントが実際にWebサービスにアクセスし、どれくらいの時間が掛かっているかを可視化します。アクセスした際のアクセス速度や実際の見え方を計測するほか、処理内容の割合も一目で分かるレポートとして表示できます。
アプリケーションのパフォーマンス問題の調査で、ユーザーからの曖昧な報告では特定が難しかった正確な時間帯を、この機能を利用することで正確に特定することができます。
そのほか、サーバーOS・データベースサーバー・アプリケーションサーバーのパフォーマンス管理やレポート表示機能など、Applications Managerひとつでアプリケーションのすべてのレイヤーを監視可能です。
関連項目
- サーバー監視
サーバーのリソースを可視化する機能を紹介します - データベース監視
データベースサーバーのパフォーマンスを監視する機能を紹介します - アプリケーションサーバー監視
アプリケーションサーバーのパフォーマンスを監視する機能を紹介します