(57)【要約】【課題】クライアント装置からの要求に対するサーバ装置の応答性能を監視する監視方法及び監視プログラムの提供。【解決手段】クライアント装置１００がサーバ側とＨＴＴＰ通信を行った場合（Ｓ３１）、このＨＴＴＰ通信のレスポンスタイムと事前に設定した閾値とを比較することにより、スローダウンの予兆を検知したか否かを判断する（Ｓ３３）。スローダウンの予兆を検知した場合、その旨及びスローダウン時ログを評価装置２００へ送信する（Ｓ３４，Ｓ３６）。評価装置２００は、クライアント装置１００からの予兆検知の通知をトリガーとして、該当業務を特定すると共に、サーバ側のリソース情報及びタスクに関するログを集積し（Ｓ３９）、これらの情報を統合した詳細報告データを作成してシステム管理者へ送信する（Ｓ４１）。【選択図】図９
2010231368.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアント装置の内のセッションが確立したクライアント装置から送信される要求に対して応答を行うサーバ装置について、評価装置を用いて応答性能を評価し、前記サーバ装置の応答性能の経時的変化を監視する方法において、
各クライアント装置は、
前記サーバ装置との間で確立したセッションで送受した要求及び応答に係る情報と該セッションを識別するセッション識別子とを関連付けたログを生成し、
生成したログを前記評価装置へ送信し、
該評価装置は、
各クライアント装置から送信されたログを受信し、
受信したログを集計し、
集計した結果に基づいて前記サーバ装置の応答性能を評価する評価モデルを設定し、
設定した評価モデルを前記クライアント装置へ送信し、
各クライアント装置は、
更に、前記評価装置から送信された評価モデルに基づいて前記サーバ装置の応答性能の経時的変化を監視する
ことを特徴とする監視方法。
【請求項２】
複数のクライアント装置と、該クライアント装置のうち、セッションが確立したクライアント装置から送信される要求に対して応答を行うサーバ装置と、前記各クライアント装置と通信可能に接続されており、前記要求に対する前記サーバ装置の応答性能を評価する評価装置とを備え、前記要求に対する前記サーバ装置の応答性能の経時的変化を監視する監視システムにおいて用いられるプログラムであって、
各クライアント装置を、前記サーバ装置との間で確立したセッションで送受した要求及び応答に係る情報と該セッションを識別するセッション識別子とを関連付けたログを生成する手段、及び生成したログを前記評価装置へ送信する手段として動作させ、
前記評価装置を、各クライアント装置から送信されたログを受信する手段と、受信したログを記憶する記憶手段と、前記ログを集計する手段と、該手段による集計結果に基づいて前記サーバ装置の応答性能を評価する評価モデルを設定する手段と、設定した評価モデルを前記クライアント装置へ送信する手段として動作させ、
各クライアント装置を、更に、前記評価装置から送信された評価モデルに基づいて前記サーバ装置の応答性能の経時的変化を監視する手段として動作させることを特徴とするプログラム。
【請求項３】
前記ログは、前記サーバ装置に対して要求を送信した時刻、前記サーバ装置から送信された応答を受信した時刻、及び応答の属性を表す情報を含み、
各クライアント装置から送信されるログに基づいて、前記サーバ装置が応答に要した応答時間を応答の属性毎に集計し、集計結果に基づいて前記経時的変化の有無を判定するための基準応答時間を応答の属性毎に算出し、算出した応答の属性毎の基準応答時間を評価モデルとして設定するように前記評価装置を動作させることを特徴とする請求項２に記載のプログラム。
【請求項４】
各クライアント装置を、前記サーバ装置に対して要求を送信してから該要求に対する応答を受信するまでの実応答時間を計時する手段と、計時した実応答時間と前記応答に対する基準応答時間とを比較する手段と、計時した実応答時間が前記基準応答時間よりも長い場合、応答性能の経時的変化を検知した旨の通知を前記評価装置へ送信する手段として動作させ、
前記評価装置を、前記クライアント装置から送信される前記通知を受信した場合、応答性能の経時的変化が生じたセッション内で送受された要求及び応答に係る情報を前記記憶手段から抽出する抽出手段と、抽出した情報を前記セッションのセッション識別子に関連付けて記憶する手段として動作させることを特徴とする請求項３に記載のプログラム。
【請求項５】
前記サーバ装置を、自身のリソースの使用量に係る情報を時刻に関連付けて記憶する手段として動作させ、
前記評価装置を、前記クライアント装置から送信される前記通知を受信した場合、応答性能の経時的変化が生じた時刻における前記サーバ装置のリソースの使用量に係る情報を前記サーバ装置から取得する手段として動作させ、該手段にて取得した情報と前記抽出手段にて抽出した情報とを前記セッション識別子に関連付けて記憶させることを特徴とする請求項４に記載のプログラム。
【請求項６】
前記評価装置を、前記クライアント装置から送信される前記通知に基づいて前記応答に対する基準応答時間を更新する手段として動作させることを特徴とする請求項４に記載のプログラム。
【請求項７】
各クライアント装置を、前記サーバ装置に対して要求を送信してから該要求に対する応答を受信するまでの実応答時間を計時する手段と、計時した実応答時間を前記応答に対する基準応答時間と比較する手段と、計時した実応答時間が前記基準応答時間よりも長い場合、応答性能の経時的変化を検知した旨を報知する手段として動作させることを特徴とする請求項３に記載のプログラム。
【請求項８】
前記基準応答時間は、集計した応答時間の最大値及び平均値の中間値であることを特徴とする請求項３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント装置からの要求に対するサーバ装置の応答性能を監視する監視方法及び監視プログラムに関する。
【背景技術】
【０００２】
イントラネット内で社内向けに業務用アプリケーションを提供するシステムは、クライアント側として、ウェブブラウザがインストールされたコンピュータ、サーバ側として、負荷分散装置、ウェブサーバ、アプリケーションサーバ、データベースサーバなど複数のサーバ装置を組み合わせてウェブシステムを構築することが多い。
【０００３】
このようなウェブシステムにおいて、サーバ装置の応答性能の劣化を検知するために、従来では、（１）利用者観点で監視を行うこと、（２）運用者観点で監視を行うこと、（３）サーバ側にログトレース機能を組み込んで監視を行うことがなされていた（例えば、特許文献１及び２を参照）。
【０００４】
（１）利用者観点より監視を行う場合、ウェブブラウザをスクリプトにより定期的に起動し、レスポンスタイムを計測することが行われていた。この監視方法により、サーバ装置の応答性能の劣化（スローダウン）を検知することが可能である。しかしながら、事前に定期的な監視を行うためのシナリオの作成が必要であり、サーバ側においてアプリケーションを修正したときにスクリプトの実行タイミングを適切に設定することは難しい。
【０００５】
（２）運用者観点より監視を行う場合、各サーバ装置のメモリやＣＰＵなどのリソースの使用率に対して閾値を設定し、応答性能劣化の予兆を検出することが行われていた。この監視方法により、応答性能の劣化の要因をサーバ装置単位で監視することが可能である。しかしながら、複数のサーバ装置のうち、特定のサーバ装置において応答性能の劣化が生じていることが検知されたとしても、利用者から見て応答性能の劣化が生じているか否かについては判別することはできない。
【０００６】
（３）サーバ装置が提供する業務アプリケーションにログトレース機能を組み込んで、サーバ装置の応答性能を監視する方法では、業務アプリケーションにログを出力させるような修正を施す必要があるため、実際に運用が始まった後には劣化の有無の判断基準となる閾値などの変更が難しくなる。そのため、事前にサーバ装置毎の応答性能を推定し、推定に基づいて閾値を設定しておかなければならない。
【０００７】
また、従来では、（１）の監視方法で応答性能の劣化を検知し、（２）及び（３）の監視方法を用いて、応答性能の劣化を生じさせている要素を調査することも行われていた。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−９９４４８号公報
【特許文献２】特開２０００−１７４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記（１）〜（３）の監視方法を組み合わせて応答性能の劣化を生じさせている要素を調査する場合、実際に応答性能の劣化が発生した際に、利用者観点からの応答性能の劣化の検知をトリガーとして、（２）及び（３）の監視方法で得られるその時点の情報を取得する。そして、システム管理者自身の手によりリソース情報やログ情報の関連付けを行い、関連性を見出すことにより、応答性能の劣化を生じさせている要素を特定することが行われる。このため、非常に煩雑な作業が必要となり、応答性能の劣化を生じさせている要素を特定するために長大な時間および熟練を要する。
【００１０】
また、サーバ側では、応答性能が劣化した場合のユーザの業務を特定することは困難である。すなわち、上記の監視方法により、サーバ装置全体の挙動の測定は可能であり、ミドルウェアレベルのログの取得は容易であるが、クライアント側から、業務用アプリケーションに手を加えずに問題を起こしている業務を特定することは困難である。
【００１１】
本発明は斯かる事情に鑑みてなされたものであり、サーバ装置の応答性能が劣化した場合、情報収集や収集した情報の関連付けの煩わしさを感じさせず、更に、クライアント側、サーバ側とも業務用アプリケーションに修正を加えることもなく、応答性能の劣化を生じさせた業務の特定が可能な監視方法及び監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本願の監視方法は、複数のクライアント装置の内のセッションが確立したクライアント装置から送信される要求に対して応答を行うサーバ装置について、評価装置を用いて応答性能を評価し、前記サーバ装置の応答性能の経時的変化を監視する方法において、各クライアント装置が、前記サーバ装置との間で確立したセッションで送受した要求及び応答に係る情報と該セッションを識別するセッション識別子とを関連付けたログを生成し、生成したログを前記評価装置へ送信し、該評価装置が、各クライアント装置から送信されたログを受信し、受信したログを集計し、集計した結果に基づいて前記サーバ装置の応答性能を評価する評価モデルを設定し、設定した評価モデルを前記クライアント装置へ送信し、各クライアント装置は、更に、前記評価装置から送信された評価モデルに基づいて前記サーバ装置の応答性能の経時的変化を監視することを特徴とする。
【発明の効果】
【００１３】
本願による場合は、各ユーザが使用するクライアント装置のそれぞれが、サーバ装置における応答性能の劣化（スローダウン）の有無を監視する機能を備えるので、監視装置が定期的にサーバ装置にアクセスしてレスポンスの状態を監視する従来の手法と異なり、ユーザが実際の業務を行っているときにリアルタイムでスローダウンの予兆を検知することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態に係る応答性能監視システムの全体構成を示す模式図である。
【図２】サーバ装置の内部構成を示すブロック図である。
【図３】クライアント装置の機能的構成を説明するブロック図である。
【図４】評価装置の機能的構成を説明するブロック図である。
【図５】蓄積ログ集積部に記憶されるＨＴＴＰ通信ログの一例を示す図である。
【図６】解析結果記憶部に記憶される解析結果の一例を示す図である。
【図７】性能モデル生成部により生成される性能モデルデータの一例を示す図である。
【図８】サーバ側の応答性能を評価する際の処理手順を示すフローチャートである。
【図９】サーバ側のスローダウンを検知する際の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、実施の形態を図面に基づいて具体的に説明する。
図１は本実施の形態に係る応答性能監視システムの全体構成を示す模式図である。図中１０Ａ，１０Ｂ，１０Ｃは、通信ネットワークＮを介して接続されているクライアント装置１００からの要求を受信し、この要求に対して応答を行うサーバ装置である。また、通信ネットワークＮには、サーバ装置１０Ａ，１０Ｂ，１０Ｃの応答性能を評価するための評価装置２００が接続されている。通信ネットワークＮは、例えば、会社や業務部門等の単位で構築されるイントラネットである。この通信ネットワークＮに接続されたサーバ装置１０Ａ〜１０Ｂ、クライアント装置１００，１００，１００，…、及び評価装置２００により、本願の応答性能監視システムを形成する。
【００１６】
以下、本願の応答性能監視システムを構成する各装置について説明する。図２はサーバ装置１０Ａの内部構成を示すブロック図である。サーバ装置１０Ａは、例えば、クライアント装置１００からの要求に基づく処理をサーバ装置１０Ｂ，１０Ｃへ振り分ける負荷分散装置として機能する。
【００１７】
サーバ装置１０Ａは、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、通信インタフェース１４、及びＨＤＤ１５を備え、ＲＯＭ１２に予め格納された制御プログラムをＣＰＵ１１が実行することにより、本願のサーバ装置として機能するように構成されている。この制御プログラムは、サーバ装置１０Ａを負荷分散装置として機能させるためのプログラム、ＣＰＵ１１、ＲＡＭ１３などのリソースの情報を定期的に取得し、ログとしてＨＤＤ１５に記憶させるためのプログラム、実行したタスクに関するログをＨＤＤ１５に記憶させるためのプログラムなどである。
【００１８】
これらのプログラムの実行中に一時的に生成されるデータ、外部から取得したデータ等はＲＡＭ１３に記憶される。通信インタフェース１４は、各種情報の送受信を行うためのインタフェースであり、他のサーバ装置１０Ｂ，１０Ｃ、クライアント装置１００、及び評価装置２００との間で情報の送受信を行う。ＨＤＤ１５は、ディスク状の磁気記録媒体を有する記憶装置であり、例えば、前述したリソース情報に関するログ（すなわち、ＣＰＵ１１の使用量、ＲＡＭ１３の使用量等のリソース情報を時刻に関連付けた情報）や実行したタスクに関するログを記憶する。
【００１９】
サーバ装置１０Ｂは、例えば、クライアント装置１００からの要求に応じて業務用アプリケーションのサービスを提供するためのウェブアプリケーションサーバとして機能する。サーバ装置１０Ｂの内部構成は、サーバ装置１０Ａと同様であるが、ＨＤＤ１５には業務用アプリケーションが用意されており、クライアント装置１００からの要求が業務用アプリケーションのサービスの提供を求めるものである場合には、該当する業務用アプリケーションをＨＤＤ１５から読み出し、サーバ装置１０Ｂを通じてクライアント装置１００へ送信する。
【００２０】
一方、サーバ装置１０Ｃは、例えば、クライアント装置１００からの要求に応じてサーバ装置１０Ｂが参照するデータベースを備えたデータベースサーバとして機能する。サーバ装置１０Ｃの内部構成についても、サーバ装置１０Ｃと同様であるが、ＨＤＤ１５にはサーバ装置１０Ｂから参照されるデータベースが用意されている。クライアント装置１００からの要求がデータベースの参照を求めるものである場合、サーバ装置１０Ｃは必要な情報をデータベースから抽出し、抽出した情報をサーバ装置１０Ｂを通じてクライアント装置１００へ送信する。
【００２１】
以下の説明において、サーバ装置１０Ａ〜１０Ｃを区別して記載する必要がない場合には、サーバ側との用語を使用することとする。
【００２２】
なお、本実施の形態では、負荷分散装置として機能するサーバ装置１０Ａ、ウェブアプリケーションサーバとして機能するサーバ装置１０Ｂ、及びデータベースサーバとして機能するサーバ装置１０Ｃの３つのサーバ装置を備え、サーバ装置１０Ａを窓口としてクライアント装置１００からの要求を受信し、この要求に対する応答をサーバ装置１０Ａから送信する構成としたが、必ずしも１つのサーバ装置が窓口になる必要がなく、クライアント装置１００から要求に応答するサーバ装置が並列的に接続される構成であってもよい。
【００２３】
また、サーバ装置の数及び種類は本実施の形態に記載したものに限定されない。例えば、ウェブアプリケーションサーバのみが接続される構成であってもよい。また、メールサーバ、ＦＴＰサーバ、ファイルサーバ、プリントサーバ等の適宜のサーバが接続される構成としてもよい。
【００２４】
次に、クライアント装置１００及び評価装置２００について説明する。図３はクライアント装置１００の機能的構成、図４は評価装置２００の機能的構成を説明するブロック図である。クライアント装置１００は、例えば、ユーザが使用するパーソナルコンピュータであり、ウェブサーバアプリケーションサーバから業務用アプリケーションサービスの提供を受けるためにウェブブラウザが予めインストールされている。このウェブブラウザは、本願のクライアント装置として動作させるためのプログラムとして機能するように構成されている。
評価装置２００は、例えば、運用者側が使用するコンピュータであり、このコンピュータには、本願の評価装置として動作させるためのプログラムが予めインストールされている。評価装置２００がこのプログラムを実行することにより本願の評価装置として動作するように構成されている。
【００２５】
クライアント装置１００が備える通信部１０１は、通信ネットワークＮを介して他の装置と通信を行うための通信インタフェースとして機能する。クライアント装置１００がサーバ側から提供されるサービスを受ける場合、サーバ側とセッションを確立させた後、通信部１０１を通じてＨＴＴＰリクエストをサーバ装置１０Ａへ送信し、サーバ装置１０Ａを通じて送信されるＨＴＴＰレスポンスを通信部１０１にて受信する。
【００２６】
クライアント装置１００のログトレース部１０２は、ウェブブラウザのプラグインとして組み込まれ、サーバ側とのＨＴＴＰリクエスト及びＨＴＴＰレスポンスをタイムスタンプと共にトレースする。トレースによって取得する情報は、ＨＴＴＰリクエストを送信した時刻、ＨＴＴＰレスポンスを受信した時刻、ウェブブラウザ側とサーバ側との間で保持されるセッション識別子、応答の属性を表す情報である。ここで、応答の属性とは、サーバ側からの応答を識別することができる情報を表し、応答内容、業務内容、ＵＲＬ、ウェブタイトルなどの情報を含むものである。クライアント装置１００は、トレースによって取得した情報をＨＴＴＰ通信ログとしてログ蓄積部１０３に一時的に記憶すると共に、通信部１０１を通じて評価装置２００へ送信する。
【００２７】
評価装置２００が備える通信部２０１は、通信ネットワークＮを介して他の装置と通信を行うための通信インタフェースとして機能する。通信部２０１は、例えば、クライアント装置１００から送信されるＨＴＴＰ通信ログを受信する。受信したＨＴＴＰ通信ログは蓄積ログ集積部２０２に集積される。この蓄積ログ集積部２０２には、各クライアント装置１００，１００，１００，…から送信されてくるＨＴＴＰ通信ログが集積され、セッション識別子毎に、ＨＴＴＰリクエストを送信した時刻、ＨＴＴＰレスポンスを受信した時刻、応答の属性を表す情報が関連付けられて記憶される。
【００２８】
図５は蓄積ログ集積部２０２に記憶されるＨＴＴＰ通信ログの一例を示す図である。図５に示した例では、１つのセッション識別子に対して、時刻「ＨＨ：ＭＭ：０１」に送信されたＨＴＴＰリクエスト、時刻「ＨＨ：ＭＭ：０２」に受信したＨＴＴＰレスポンス、時刻「ＨＨ：ＭＭ：０４」に送信されたＨＴＴＰリクエスト、及び時刻「ＨＨ：ＭＭ：０６」に受信したＨＴＴＰレスポンスが、それぞれの応答内容と共に蓄積ログ集積部２０２に記憶されていることを示す。なお、図５に示した例では、２組のＨＴＴＰリクエスト／レスポンスのみを記載したが、同一のセッション識別子が保持されている間になされた全ての通信に関するログが記憶され、他のセッション識別子が付与された通信のログは、他のセッション識別子と共にＨＴＴＰリクエスト／レスポンスのログが記憶される。
蓄積ログ集積部２０２は、図５に示したように、各クライアント装置１００，１００，１００，…から送信されてくるＨＴＴＰ通信の一連のログを、セッション識別子毎に１つにまとめて記憶する。
【００２９】
蓄積ログ集積部２０２に記憶されたＨＴＴＰ通信ログは、評価装置２００のログ解析部２０３により解析される。具体的には、ログ解析部２０３は、ＨＴＴＰ通信ログからＨＴＴＰリクエスト及びレスポンスの一対のデータを解析することにより、レスポンスタイムを計測し、解析結果記憶部２０４に記憶させる。また、ログ解析部２０３は、一対のＨＴＴＰリクエスト及びレスポンスと、次のＨＴＴＰリクエスト及びレスポンスとの間のレスポンスタイムを計測し、前回の通信との関連性と共に解析結果記憶部２０４に記憶させる。
ログ解析部２０３は、蓄積ログ集積部２０２に集積されている複数のクライアント装置１００，１００，１００，…からのＨＴＴＰ通信ログに関して、各セッション識別子ごとに解析を行い、前述したレスポンスタイムを計測し、解析結果記憶部２０４に記憶させる。
【００３０】
なお、本実施の形態では、サーバ側の装置として、サーバ装置１０Ａ〜１０Ｃが接続されているが、個々のサーバ装置１０Ａ，１０Ｂ，１０Ｃのレスポンスタイムを計測しているのではなく、クライアント装置１００がＨＴＴＰリクエストを送信してから、このＨＴＴＰリクエストに対するＨＴＴＰレスポンスをクライアント装置が受信するまでの時間をレスポンスタイムとして計測している。
【００３１】
図６は解析結果記憶部２０４に記憶される解析結果の一例を示す図である。「分類（１）」は、ＨＴＴＰリクエストに対するサーバ側からのレスポンスタイムを計測したものである。図６に示した例では、「ログイン認証初期画面」のリクエストに対するサーバ側からレスポンスタイムが「１秒」であること、「画面（１）初期画面」のリクエストに対するサーバ側からのレスポンスタイムが「２秒」であることを示している。
「分類（２）」は、一対のＨＴＴＰリクエスト及びレスポンスと、次のＨＴＴＰリクエスト及びレスポンスとの間のレスポンスタイム（すなわち、画面の遷移に要した時間）を計測したものである。図６に示した例では、「ログイン認証初期画面」から「画面（１）初期画面」への遷移に「２秒」要したことを示している。
【００３２】
評価装置２００の性能モデル生成部２０５は、解析結果記憶部２０４に記憶されている解析結果に基づきサーバ側の応答性能を評価するための性能モデルデータを生成する。具体的には、解析結果記憶部２０４の解析結果を用いて、同一のＨＴＴＰ通信のレスポンスタイムを集計し、レスポンスタイムの平均値（時間）、最小値（時間）、最大値（時間）、及び応答性能の劣化の有無を判定するための判断基準として閾値（基準応答時間）を算出する。ここで、閾値としては、平均値と最大値との中間値を初期値として設定することができる。すなわち、平均的な応答時間を閾値として設定した場合、応答性能の劣化を示すものではないのにも関わらず応答性能の劣化として検知される場合があるため、本実施の形態では、平均値と最大値との中間値を閾値として設定する。
【００３３】
初期値として設定する閾値（時間）は、平均値と最大値との間の時間であればよい。平均値と最大値との間の中央値でもよく、平均値に所定値を加算した時間であってもよい。また、標準偏差を算出し、平均値に標準偏差を加算した時間を閾値として設定してもよい。
【００３４】
図７は性能モデル生成部２０５により生成される性能モデルデータの一例を示す図である。「ログイン認証初期画面」に関して、クライアント装置１００，１００，１００，…からのＨＴＴＰ通信ログを集積し、解析した結果、レスポンスタイムの平均値、最小値、最大値がそれぞれ、「１秒」、「１秒」、「３秒」となったことを示している。この解析結果から、サーバ側の応答性能（評価）として、応答性能の劣化の有無を判定するための閾値を、平均値と最大値との中間値（すなわち、平均値＋（最大値−平均値）／２）により算出される「２秒」に設定する。すなわち、サーバ側にＨＴＴＰリクエストを送信してから自身のブラウザに表示させる「ログイン認証初期画面」を応答として受信するまでの応答時間が２秒を超えた場合、サーバ側の応答性能の劣化（スローダウン）の予兆を検知したと判定できるように閾値を２秒に設定する。
【００３５】
「ログイン認証初期画面」、「ログイン認証初期画面」から「画面（１）初期画面」への画面遷移に関する性能モデルデータについても上記と同様に算出される。図７に示した例では、「ログイン認証初期画面」に関して閾値が「３秒」に設定され、「ログイン認証初期画面」から「画面（１）初期画面」への画面遷移に関して閾値が「３秒」に設定されている。
【００３６】
性能モデル生成部２０５が初期値として設定された閾値は、性能モデル更新部２０６を通じて適宜更新される。評価装置２００は、各クライアント装置１００，１００，１００，…から送信されるＨＴＴＰ通信ログを常時受信し、ＨＴＴＰ通信ログを蓄積ログ集積部２０２に集積するように構成されているため、ログ解析部２０３による解析及び性能モデル生成部２０５による性能モデルデータの生成を定期的に行い、設定する閾値を更新することができる。また、クライアント装置１００においてスローダウンの予兆が検知され、システム管理者等が、スローダウンの原因を調査し、解析した結果、設定すべき閾値を変更する必要があると判断した場合、システム管理者等により設定された閾値を性能モデル更新部２０６にて受付け、受付けた閾値に更新することも可能である。
【００３７】
性能モデル生成部２０５により生成された性能モデルデータ、及び性能モデル更新部２０６により更新された性能モデルデータは、通信部２０１を通じてクライアント装置１００に通知される。
【００３８】
クライアント装置１００は、通信部１０１を通じて受信した性能モデルデータを性能モデル記憶部１０４に記憶する。クライアント装置１００のスローダウン判定部１０５は、ログトレース部１０２で得られるＨＴＴＰ通信のリクエスト及びレスポンスのトレース結果を、記憶した性能モデル上の該当するＨＴＴＰ通信の閾値とリアルタイムで比較し、応答の遅延が発生したか否かを判定する。そのため、スローダウン判定部１０５は、まず、サーバ側からの応答を受信する都度、各画面及び画面間遷移のレスポンスタイムを計測し、計測したレスポンスタイムを該当するＨＴＴＰ通信の閾値と比較する。スローダウン判定部１０５は、計測したレスポンスタイムが閾値より短い場合、応答の遅延が生じていないと判定する。また、スローダウン判定部１０５は、計測したレスポンスタイムが閾値より長い場合、応答の遅延が生じたと判定し、サーバ側におけるスローダウンの予兆を検知したと判定する。
【００３９】
スローダウンの予兆が検知された場合、クライアント装置１００は以下の２つの処理を行う。第１の処理は、スローダウンの予兆を検知した旨の情報を評価装置２００へ通知する処理である。第２の処理は、ログ抽出部１０６を起動し、ログ蓄積部１０３からスローダウン予兆検知前後のＨＴＴＰ通信ログを抽出する処理である。抽出されたＨＴＴＰ通信ログ（スローダウン時ログ）は、スローダウン時ログ記憶部１０７に記憶されると共に、通信部１０１を通じて評価装置２００へ送信される。
【００４０】
評価装置２００は、クライアント装置１００から送信される、スローダウンの予兆を検知した旨の情報及びスローダウン時ログを通信部２０１にて受信する。このとき、評価装置２００は以下の２つの処理を行う。第１の処理は、サーバ側におけるスローダウンの予兆を検知した旨を第１報（速報）としてシステム管理者へ通知する処理である。システム管理者への通知は、例えば、スローダウンの予兆を検知した旨が記載された本文とスローダウン時ログを添付したファイルとを含む電子メールを自動生成し、生成した電子メールをシステム管理者が使用している電子メールアドレス宛に送信することで行う。システム管理者はクライアント装置１００にて前記電子メールを受信してもよく、携帯電話機等の携帯端末で受信してもよい。
システム管理者への通知は、このような電子メールを用いた通知に限らず、公知技術を利用して実現する構成としてもよい。
【００４１】
スローダウンの予兆を検知した旨の情報及びスローダウン時ログを受信したときに、評価装置２００が実行する第２の処理は、サーバ側に記憶されているリソース情報に関するログ、及び実行されたタスクに関するログを取得し、集積する処理である。このため、評価装置２００は情報集積部２１０を備える。
【００４２】
評価装置２００の情報集積部２１０は、まず、クライアント装置１００からの予兆検知の通知をトリガーとして、スローダウン時ログに含まれるセッション識別子によって処理内容（ユーザがクライアント装置１００で行っていた業務）を特定する。次いで、評価装置２００の情報集積部２１０は、特定した業務が実行されたときのリソース情報及びタスクに関するログをサーバ装置１０Ａ〜１０Ｃから取得し、取得したサーバ装置１０Ａ〜１０Ｃのログをそれぞれ業務ログ記憶部２１０Ａ〜２１０Ｃに記憶させる。また、スローダウン予兆検知時にクライアント装置１００から送信され、通信部２０１にて受信したスローダウン時ログについては、スローダウン時ログ記憶部２１０Ｄに記憶させる。
【００４３】
評価装置２００の情報統合部２１１は、業務ログ記憶部２１０Ａ〜２１０Ｃ及びスローダウン時ログ記憶部２１０Ｄに記憶させた情報を統合し、システム管理者に通知する詳細報告データを作成する。具体的には、スローダウン時ログに記録されているスローダウン予兆検知のタイムスタンプを起点として、過負荷と認識される業務（タスク）のログと、リソース情報のデータを統合することにより、詳細報告データが作成される。過負荷とされる業務（タスク）ログは、スローダウン時ログに含まれるセッション識別子により認識される。また、過負荷とされる業務（タスク）が実行された時点のリソース情報は、業務ログ記憶部２１０Ａ〜２１０Ｃに記憶させたログから該当する時刻（又はその近傍の時刻）のリソース情報が検索され、抽出される。過負荷とされる業務（タスク）が実行された時点を含むある一定期間内のリソース情報を抽出するようにしてもよい。
【００４４】
評価装置２００の情報統合部２１１で作成された詳細報告データはシステム管理者へ通知される。システム管理者への通知は、前述と同様にして、例えばスローダウンの詳細報告である旨を記載した本文と詳細報告データの添付ファイルとを含む電子メールを自動生成し、生成した電子メールをシステム管理者が使用している電子メールアドレス宛に送信することで行う。
【００４５】
以下、本実施の形態に係る応答性能監視システムにより実行される処理の手順について説明する。図８はサーバ側の応答性能を評価する際の処理手順を示すフローチャートである。ユーザがウェブアプリケーションを用いて何らかの業務（タスク）を行う際、ユーザにより使用されるクライアント装置１００はサーバ側とＨＴＴＰ通信を行う（ステップＳ１１）。このとき、クライアント装置１００は、サーバ側に対しＨＴＴＰリクエストを送信し、このＨＴＴＰリクエストに対してサーバ側が送信するＨＴＴＰレスポンスを受信する。セッション識別子が付与されていないアクセスに対しては、サーバ側において新たなセッション識別子が発行されるため、セッション識別子により一連のＨＴＴＰ通信であることが認識される。
【００４６】
クライアント装置１００は、サーバ側にＨＴＴＰリクエストを送信する都度、サーバ側からのＨＴＴＰリクエストを受信する都度、ログトレース部１０２にてログのトレースを行い、ＨＴＴＰ通信ログをログ蓄積部１０３に記憶させる（ステップＳ１２）。次いで、クライアント装置１００は、ログトレース部１０２を通じて取得したＨＴＴＰ通信ログを通信ネットワークＮ経由で評価装置２００へ送信する（ステップＳ１３）。
【００４７】
評価装置２００がクライアント装置１００から送信されたＨＴＴＰ通信ログを受信した場合（ステップＳ１４）、評価装置２００は、受信したＨＴＴＰ通信ログを蓄積ログ集積部２０２に記憶させ（ステップＳ１５）、ログ解析部２０３にてログ解析を行う（ステップＳ１６）。ログ解析では、蓄積ログ集積部２０２に記憶されているＨＴＴＰ通信ログに基づき、ＨＴＴＰリクエスト及びこのＨＴＴＰリクエストに対するＨＴＴＰレスポンスの一対のデータから、クライアント装置１００がＨＴＴＰリクエストを送信してからＨＴＴＰレスポンスを受信するまでに要した時間（レスポンスタイム）の計測を行う。また、ログ解析では、ある時点のＨＴＴＰ通信でＨＴＴＰレスポンスを受信してから、次のＨＴＴＰ通信でＨＴＴＰレスポンスを受信するまでに要した時間を算出することにより、画面間の遷移に要した時間の計測を行う。ステップＳ１６で実行されたログ解析の解析結果は解析結果記憶部２０４に記憶される。
【００４８】
次いで、評価装置２００は、蓄積ログ集積部２０２に十分なデータが集積されたか否かを判断する（ステップＳ１７）。十分なデータが集積されたか否かは、例えば、蓄積ログ集積部２０２に蓄積されたデータの数が所定数に達したか否か、又は蓄積ログ集積部２０２の運用を開始してから所定日数が経過したかにより判断することができる。蓄積ログ集積部２０２に十分なデータが蓄積されていないと判断した場合（Ｓ１７：ＮＯ）、処理がステップＳ１４へ戻され、継続してＨＴＴＰ通信ログの集積を行う。
【００４９】
蓄積ログ集積部２０２に十分なデータが蓄積されたと判断した場合（Ｓ１７：ＹＥＳ）、評価装置２００は、サーバ側の性能モデルデータを生成する（ステップＳ１８）。このとき、性能モデル生成部２０５は、解析結果記憶部２０４に記憶されている解析結果を用いて、同一のＨＴＴＰ通信のレスポンスタイムを集計し、レスポンスタイムの平均値、最小値、最大値を算出する。例えば、クライアント装置１００，１００，１００，…がログイン認証初期画面をサーバ側にリクエストした時のレスポンスタイムが解析結果記憶部２０４に多数記憶されるので、このＨＴＴＰ通信に関してレスポンスタイムの平均値、最小値、最大値を算出する。他のＨＴＴＰ通信（例えば、画面（１）初期画面のリクエスト及びそのレスポンス等）についても同様である。
また、性能モデル生成部２０５は、ＨＴＴＰ通信に関して算出したレスポンスタイムの平均値及び最大値を用いて、初期値として設定する閾値を求める。例えば、閾値は、平均値と最大値との中央値として求められる。
【００５０】
評価装置２００は、性能モデル生成部２０５で生成された性能モデルデータ、すなわち、レスポンスタイムの平均値、最小値、最大値、及び閾値と、ＨＴＴＰ通信の種別を表す情報とを関連付けたデータを各クライアント装置１００，１００，１００，…へ送信する（ステップＳ１９）。
【００５１】
なお、本実施の形態では、レスポンスタイムの平均値、最小値、最大値、及び閾値と、ＨＴＴＰ通信の種別を表す情報とを関連付けたデータを性能モデルデータとして送信する構成としたが、応答性能の劣化の有無を判定するための基準は閾値であるので、ＨＴＴＰ通信の種別を表す情報と算出した閾値とを関連付けたデータを性能モデルデータとして生成し、この性能モデルデータを送信する構成としてもよい。
【００５２】
クライアント装置１００が評価装置２００から送信された性能モデルデータを受信した場合（ステップＳ２０）、受信した性能モデルデータを性能モデル記憶部１０４に記憶させる（ステップＳ２１）。
【００５３】
図９はサーバ側のスローダウンを検知する際の処理手順を示すフローチャートである。ユーザがウェブアプリケーションを用いて何らかの業務（タスク）を行う際、ユーザにより使用されるクライアント装置１００はサーバ側とＨＴＴＰ通信を行う（ステップＳ３１）。クライアント装置１００は、ステップＳ３１で行ったＨＴＴＰ通信に関してレスポンスタイムを計測し、該当するＨＴＴＰ通信について性能モデル記憶部１０４に記憶されている閾値と比較することにより、スローダウン判定を行う（ステップＳ３２）。なお、レスポンスタイムの計測は、ログトレース部１０２において、ＨＴＴＰリクエストを送信した時刻、及びＨＴＴＰレスポンスを受信した時刻の情報が得られるので、両時刻の差を算出することによって実現される。
【００５４】
スローダウン判定の結果、クライアント装置１００は、スローダウンの予兆を検知したか否かを判断する（ステップＳ３３）。ステップＳ３２で計測したＨＴＴＰ通信のレスポンスタイムが、性能モデル記憶部１０４に記憶されている閾値よりも短い場合、スローダウンの予兆が検知されなかったと判断し（Ｓ３３：ＮＯ）、クライアント装置１００は、処理をステップＳ３１へ戻す。
【００５５】
一方、ステップＳ３２で計測したＨＴＴＰ通信のレスポンスタイムが、性能モデル記憶部１０４に記憶されている閾値よりも長い場合、スローダウンの予兆を検知したと判断し（Ｓ３３：ＹＥＳ）、クライアント装置１００は、スローダウンの予兆を検知した旨の情報を評価装置２００へ通知する（ステップＳ３４）。また、クライアント装置１００は、ログ抽出部１０６を起動し、スローダウン予兆検知前後のＨＴＴＰ通信ログ（スローダウン時ログ）をログ蓄積部１０３から抽出する（ステップＳ３５）。クライアント装置１００は、ログ蓄積部１０３から抽出したスローダウン時ログを評価装置２００へ送信する（ステップＳ３６）。
【００５６】
評価装置２００が、クライアント装置１００から送信される、予兆を検知した旨の通知、及びスローダウン時ログを受信した場合（ステップＳ３７）、評価装置２００は、スローダウンの予兆を検知した旨を速報としてシステム管理者へ通知する（ステップＳ３８）。また、評価装置２００は、該当業務を特定する処理、及びサーバ側に記憶されているリソース情報に関するログ、実行された業務に関するログを集積する処理を行う（ステップＳ３９）。すなわち、評価装置２００は、クライアント装置１００からの予兆検知の通知をトリガーとして、ユーザがクライアント装置１００を用いて行っていた業務をスローダウン時ログに含まれる情報に基づいて特定すると共に、スローダウン発生時のサーバ側の状況を把握するために、サーバ側からリソース情報及びタスクに関するログを情報集積部２１０にて取得する。
【００５７】
評価装置２００は、クライアント装置１００から受信したスローダウン時ログをスローダウン時ログ記憶部２１０Ｄに記憶させる。また、評価装置２００は、特定した業務が実行されたときのリソース情報及びタスクに関するログを、各サーバ装置１０Ａ，１０Ｂ，１０Ｃに対応させて、業務ログ記憶部２１０Ａ，２１０Ｂ，２１０Ｃに記憶させる。
【００５８】
次いで、評価装置２００は、業務ログ記憶部２１０Ａ〜２１０Ｃ及びスローダウン時ログ記憶部２１０Ｄに記憶させた情報を統合する（ステップＳ４０）。このとき、評価装置２００の情報統合部２１１は、スローダウン時ログに記録されているスローダウン予兆検知のタイムスタンプを起点として、過負荷と認識される業務のログと、リソース情報のデータを統合することにより、詳細報告データを作成する。
【００５９】
そして、評価装置２００は、作成した詳細報告データをシステム管理者が使用している装置へ送信する（ステップＳ４１）。例えば、スローダウンの詳細報告である旨を記載した本文と詳細報告データの添付ファイルとを含んだ電子メールを自動生成し、生成した電子メールをシステム管理者が使用している電子メールアドレス宛に送信する。システム管理者は、評価装置２００から送信されてくる詳細報告データを参照することにより、各ユーザがサーバ側の業務用アプリケーションを用いてどのような業務を行ったときにスローダウンが発生したかを把握することができる。
【００６０】
以上のように、本願では、各ユーザが使用するクライアント装置１００のそれぞれが、サーバ側における性能劣化（スローダウン）の有無を監視する機能を備えるので、リアルタイムでスローダウンの予兆を検知することができる。
また、クライアント装置１００による予兆検知をトリガーとして、スローダウンの原因調査を即時的かつ自動的に行うことができ、スローダウンを生じさせている業務の特定が容易となる。
【００６１】
また、スローダウンを生じさせるような業務について、サーバ側のリソースを再割り当てすることにより、スローダウンが発生する頻度を少なくすることができ、ユーザに対するサービス性を向上させることができる。
【００６２】
なお、本実施の形態では、ＨＴＴＰ通信の種別毎のデータ（平均値、最大値、最小値、閾値）の組を性能モデルデータとしたが、ＨＴＴＰ通信の種別を表すＩＤを変数とし、ＩＤを入力したときにそのＨＴＴＰ通信で設定する閾値を返す関数を性能モデルとして設定するようにしてもよい。
【００６３】
また、本実施の形態では、各クライアント装置１００，１００，１００，…から送信されてくるＨＴＴＰ通信ログを基に性能モデルデータを生成する機能と、クライアント装置１００から送信されてくる予兆検知をトリガーとして詳細報告データを作成する機能とを同一の装置（評価装置２００）に持たせる構成としたが、前者の機能のみを評価装置２００に持たせ、後者の機能をシステム管理者が使用する管理装置（不図示）に持たせる構成としてもよい。
【００６４】
以上の実施の形態に関し、更に以下の付記を開示する。
【００６５】
（付記１）
複数のクライアント装置の内のセッションが確立したクライアント装置から送信される要求に対して応答を行うサーバ装置について、評価装置を用いて応答性能を評価し、前記サーバ装置の応答性能の経時的変化を監視する方法において、
各クライアント装置は、
前記サーバ装置との間で確立したセッションで送受した要求及び応答に係る情報と該セッションを識別するセッション識別子とを関連付けたログを生成し、
生成したログを前記評価装置へ送信し、
該評価装置は、
各クライアント装置から送信されたログを受信し、
受信したログを集計し、
集計した結果に基づいて前記サーバ装置の応答性能を評価する評価モデルを設定し、
設定した評価モデルを前記クライアント装置へ送信し、
各クライアント装置は、
更に、前記評価装置から送信された評価モデルに基づいて前記サーバ装置の応答性能の経時的変化を監視する
ことを特徴とする監視方法。
【００６６】
（付記２）
複数のクライアント装置と、該クライアント装置のうち、セッションが確立したクライアント装置から送信される要求に対して応答を行うサーバ装置と、前記各クライアント装置と通信可能に接続されており、前記要求に対する前記サーバ装置の応答性能を評価する評価装置とを備え、前記要求に対する前記サーバ装置の応答性能の経時的変化を監視する監視システムにおいて用いられるプログラムであって、
各クライアント装置を、前記サーバ装置との間で確立したセッションで送受した要求及び応答に係る情報と該セッションを識別するセッション識別子とを関連付けたログを生成する手段、及び生成したログを前記評価装置へ送信する手段として動作させ、
前記評価装置を、各クライアント装置から送信されたログを受信する手段と、受信したログを記憶する記憶手段と、前記ログを集計する手段と、該手段による集計結果に基づいて前記サーバ装置の応答性能を評価する評価モデルを設定する手段と、設定した評価モデルを前記クライアント装置へ送信する手段として動作させ、
各クライアント装置を、更に、前記評価装置から送信された評価モデルに基づいて前記サーバ装置の応答性能の経時的変化を監視する手段として動作させることを特徴とするプログラム。
【００６７】
（付記３）
前記ログは、前記サーバ装置に対して要求を送信した時刻、前記サーバ装置から送信された応答を受信した時刻、及び応答の属性を表す情報を含み、
各クライアント装置から送信されるログに基づいて、前記サーバ装置が応答に要した応答時間を応答の属性毎に集計し、集計結果に基づいて前記経時的変化の有無を判定するための基準応答時間を応答の属性毎に算出し、算出した応答の属性毎の基準応答時間を評価モデルとして設定するように前記評価装置を動作させることを特徴とする付記２に記載のプログラム。
【００６８】
（付記４）
各クライアント装置を、前記サーバ装置に対して要求を送信してから該要求に対する応答を受信するまでの実応答時間を計時する手段と、計時した実応答時間と前記応答に対する基準応答時間とを比較する手段と、計時した実応答時間が前記基準応答時間よりも長い場合、応答性能の経時的変化を検知した旨の通知を前記評価装置へ送信する手段として動作させ、
前記評価装置を、前記クライアント装置から送信される前記通知を受信した場合、応答性能の経時的変化が生じたセッション内で送受された要求及び応答に係る情報を前記記憶手段から抽出する抽出手段と、抽出した情報を前記セッションのセッション識別子に関連付けて記憶する手段として動作させることを特徴とする付記３に記載のプログラム。
【００６９】
（付記５）
前記サーバ装置を、自身のリソースの使用量に係る情報を時刻に関連付けて記憶する手段として動作させ、
前記評価装置を、前記クライアント装置から送信される前記通知を受信した場合、応答性能の経時的変化が生じた時刻における前記サーバ装置のリソースの使用量に係る情報を前記サーバ装置から取得する手段として動作させ、該手段にて取得した情報と前記抽出手段にて抽出した情報とを前記セッション識別子に関連付けて記憶させることを特徴とする付記４に記載のプログラム。
【００７０】
（付記６）
前記評価装置を、前記クライアント装置から送信される前記通知に基づいて前記応答に対する基準応答時間を更新する手段として動作させることを特徴とする付記４に記載のプログラム。
【００７１】
（付記７）
各クライアント装置を、前記サーバ装置に対して要求を送信してから該要求に対する応答を受信するまでの実応答時間を計時する手段と、計時した実応答時間を前記応答に対する基準応答時間と比較する手段と、計時した実応答時間が前記基準応答時間よりも長い場合、応答性能の経時的変化を検知した旨を報知する手段として動作させることを特徴とする付記３に記載のプログラム。
【００７２】
（付記８）
前記基準応答時間は、集計した応答時間の最大値及び平均値の中間値であることを特徴とする付記３に記載のプログラム。
【符号の説明】
【００７３】
１０Ａ，１０Ｂ，１０Ｃ  サーバ装置
１００  クライアント装置
１０１  通信部
１０２  ログトレース部
１０３  ログ蓄積部
１０４  性能モデル記憶部
１０５  スローダウン判定部
１０６  ログ抽出部
１０７  スローダウン時ログ記憶部
２００  評価装置
２０１  通信部
２０２  蓄積ログ記憶部
２０３  ログ解析部
２０４  解析結果記憶部
２０５  性能モデル生成部２０５
２０６  性能モデル更新部
２１０  情報集積部
２１０Ａ，２１０Ｂ，２１０Ｃ  業務ログ記憶部
２１０Ｄ  スローダウン時ログ記憶部
２１１  情報統合部
【図１】
2010231368.tif 000003
【図２】
2010231368.tif 000004
【図３】
2010231368.tif 000005
【図４】
2010231368.tif 000006
【図５】
2010231368.tif 000007
【図６】
2010231368.tif 000008
【図７】
2010231368.tif 000009
【図８】
2010231368.tif 000010
【図９】
2010231368.tif 000011