(57)【要約】【課題】Ｗｅｂシステムの性能を監視・分析することにより、アプリケーションやハードウェアの不具合による性能劣化の原因を分析できるシステム性能分析装置を提供する。【解決手段】システム性能分析装置を構成するシステム性能分析モジュール１０は、サービス率取得モジュール１４のＡＰサーバ・サービス率算出モジュール１１が、ＡＰサーバのＣＰＵ使用率とＡＰサーバのスループットとに基づいて、システムのサービス率を取得する。一方、スループット比率算出モジュール１２が、アプリケーションサーバのスループットとデータベースサーバのスループットとのスループット比率を算出する。そして、グラフ作成モジュール１３が、システムのサービス率とスループット比率に関する時系列データをプロットして散布図を作成する。これによって、リクエストの混合比率に対するＷｅｂシステムのサービス率（最大スループット）の情報が提供される。【選択図】図２
2010218000.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂシステムの性能を管理し、少なくとも性能劣化の検出と性能ボトルネックの特定を行うためのシステム性能分析装置であって、
システムのサービス率を取得するサービス率取得モジュールと、
アプリケーションサーバのスループットとデータベースサーバのスループットとの比率であるスループット比率を算出するスループット比率算出モジュールと、
前記サービス率と前記スループット比率に関する時系列データをプロットして散布図を作成するグラフ作成モジュールと
を備えることを特徴とするシステム性能分析装置。
【請求項２】
前記サービス率取得モジュールは、前記アプリケーションサーバの資源使用率とそのアプリケーションサーバのスループットとに基づいて、前記アプリケーションサーバのサービス率を前記システムのサービス率として算出するアプリケーションサーバ・サービス率算出モジュールを有することを特徴とする請求項１に記載のシステム性能分析装置。
【請求項３】
前記サービス率取得モジュールは、前記アプリケーションサーバにおけるリクエストの処理時間とそのアプリケーションサーバのスループットとに基づいて、前記システムのサービス率を算出するシステム・サービス率算出モジュールを有することを特徴とする請求項１に記載のシステム性能分析装置。
【請求項４】
前記アプリケーションサーバの資源使用率は、ＣＰＵ、ディスク、メモリ、ネットワークのうちいずれか１つの計算機資源に関する資源使用率が用いられることを特徴とする請求項１乃至３のいずれか１項に記載のシステム性能分析装置。
【請求項５】
Ｗｅｂシステムの性能を管理し、少なくとも性能劣化の検出と性能ボトルネックの特定を行うためのシステム性能分析方法であって、
システムのサービス率を取得する第１のステップと、
アプリケーションサーバのスループットとデータベースサーバのスループットとの比率であるスループット比率を算出する第２のステップと、
前記サービス率と前記スループット比率に関する時系列データをプロットして散布図を作成する第３のステップと
を含むことを特徴とするシステム性能分析方法。
【請求項６】
前記第１のステップでは、前記アプリケーションサーバの資源使用率とそのアプリケーションサーバのスループットとに基づいて、前記アプリケーションサーバのサービス率を前記システムのサービス率として算出することを特徴とする請求項５に記載のシステム性能分析方法。
【請求項７】
前記第１のステップでは、前記アプリケーションサーバにおけるリクエストの処理時間とそのアプリケーションサーバのスループットとに基づいて、前記システムのサービス率を算出することを特徴とする請求項５に記載のシステム性能分析方法。
【請求項８】
前記アプリケーションサーバの資源使用率は、ＣＰＵ、ディスク、メモリ、ネットワークのうちいずれか１つの計算機資源に関する資源使用率が用いられることを特徴とする請求項５乃至７のいずれか１項に記載のシステム性能分析方法。
【請求項９】
請求項５乃至８のいずれか１項に記載のシステム性能分析方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂシステムの性能を管理し、性能劣化の検出や性能ボトルネックを特定するためのシステム性能分析装置、システム性能分析方法、及びその方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータの処理速度やネットワークの通信速度の向上を阻むボトルネックを判定するための情報処理装置内ボトルネック判定方法に関する技術が種々開示されている（例えば、特許文献１参照）。この情報処理装置内ボトルネック判定方法によれば、次々に与えられる複数のジョブを逐次的に処理する情報処理装置に対して、まず、ハードウェアモニタ等の性能測定手段を用いて、情報処理装置のＣＰＵ使用率（ビジー率）、ＣＰＵ処理時間、単位時間当りの処理能力を決めるスループット、及びジョブ実行時間などが取得される。次に、取得されたＣＰＵ使用率とスループットから待ち行列理論を用いてＣＰＵ待ち時間が算出される。さらに、算出されたＣＰＵ待ち時間と、既に取得されているＣＰＵ処理時間とを加算して、ＣＰＵ側で経過した時間が算出される。最後に、ＣＰＵ側で経過した時間と、取得されているジョブ実行時間とを比較し、ＣＰＵ側で経過した時間の方が小さい場合は、情報処理装置のボトルネックがＩ／Ｏ側にあると判定し、そうでない場合は、ボトルネックがＣＰＵ側にあると判定する。
【０００３】
なお、サーバのＣＰＵ使用率やスループットに関する時系列データに対して回帰分析や区間推定を行うことでシステム性能を分析する手法なども知られている。また、このとき行う回帰分析や区間推定の具体的な方法についても知られている（例えば、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２９３５７８号公報
【非特許文献】
【０００５】
【非特許文献１】涌井良幸、涌井貞美共著、「図解でわかる回帰分析」、日本実業出版社、２００２年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前記特許文献１の技術によるボトルネック判定方法は、ＣＰＵとＩ／Ｏの処理時間の長さを比較しているだけであり、正常稼働時と性能劣化時とを区別していないため、アプリケーションやハードウェアの不具合による情報処理装置の性能劣化を検出することができない。また、処理内容の異なるジョブやリクエストが複数ある場合には、処理性能が劣化しているジョブの種類を絞り込むことは難しい。
【０００７】
本発明はこのような問題点に鑑みてなされたものであり、Ｗｅｂシステムの性能を監視・分析することで、アプリケーションやハードウェアの不具合による性能劣化を検出し、さらにその原因を分析することができるシステム性能分析装置、システム性能分析方法、及びその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係るシステム性能分析装置は、Ｗｅｂシステムの性能を管理し、少なくとも性能劣化の検出と性能ボトルネックの特定を行うためのシステム性能分析装置であって、システムのサービス率を取得するサービス率取得モジュールと、アプリケーションサーバのスループットとデータベースサーバのスループットとの比率であるスループット比率を算出するスループット比率算出モジュールと、サービス率とスループット比率に関する時系列データをプロットして散布図を作成するグラフ作成モジュールとを備える構成を採っている。
【０００９】
また、本発明は、Ｗｅｂシステムの性能を管理し、少なくとも性能劣化の検出と性能ボトルネックの特定を行うためのシステム性能分析方法であって、システムのサービス率を取得する第１のステップと、アプリケーションサーバのスループットとデータベースサーバのスループットとの比率であるスループット比率を算出する第２のステップと、サービス率とスループット比率に関する時系列データをプロットして散布図を作成する第３のステップとを含むシステム性能分析方法を提供することもできる。
【００１０】
また、本発明は、前記発明のシステム性能分析方法をコンピュータに実行させるプログラムを提供することもできる。
【発明の効果】
【００１１】
本発明のシステム性能分析装置によれば、Ｗｅｂシステムの性能管理に有用な情報であり、かつリクエストの混合比率に対するＡＰサーバのサービス率（最大スループット）の情報を提供することができる。したがって、ユーザは、その情報を参照することにより、ＡＰサーバにおける性能劣化の検出や原因の切り分けを行なうことが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るＷｅｂシステムとそのクライアントとの処理手順の一例を示す概念図であり、（ａ）は更新系リクエストの処理手順、（ｂ）は参照系リクエストの処理手順を示す。
【図２】本発明の第１実施形態に係るシステム性能分析モジュールの構成を示すブロック図である。
【図３】図２に示す第１実施形態のシステム性能分析モジュールの処理の流れを示すフローチャートである。
【図４】本発明の第１実施形態におけるシステム性能分析装置が出力する散布図の一例を示す特性図である。
【図５】本発明の第１実施形態におけるシステム性能分析装置の出力特性の一例を示す特性図である。
【図６】ＡＰサーバのＣＰＵ使用率ρ＿ａｐ、ＡＰサーバのスループットλ＿ａｐ、及びＤＢサーバのスループットλ＿ｄｂの時系列データの具体例を示す図である。
【図７】図６の時系列データによって得られたＡＰサーバのサービス率μ＿ａｐとスループット比率λ＿ｄｂ／λ＿ａｐの具体例を示す図である。
【図８】本発明の第２実施形態に係るシステム性能分析モジュールの構成を示すブロック図である。
【図９】図８に示す第２実施形態に係るシステム性能分析モジュールの処理を示すフローチャートである。
【図１０】本発明の第２実施形態におけるシステム性能分析装置の出力特性の一例を示す特性図である。
【図１１】ＡＰサーバの処理時間Ｔ、ＡＰサーバのスループットλ＿ａｐ、及びＤＢサーバのスループットλ＿ｄｂの時系列データの具体例を示す図である。
【図１２】図１１の時系列データによって得られた、システム・サービス率μとスループット比率λ＿ｄｂ／λ＿ａｐの具体例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本発明に係るシステム性能分析装置の幾つかの実施形態について詳細に説明する。なお、各実施形態を説明するための全図において、同一の要素は原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１４】
《第１実施形態》
まず、本発明の第１実施形態に係るシステム性能分析装置について説明する。図１は、本発明の実施形態に係るＷｅｂシステムとそのクライアントとの処理手順の一例を示す概念図であり、（ａ）は更新系リクエストの処理手順、（ｂ）は参照系リクエストの処理手順を示す。すなわち、この図は、本発明に係るシステム性能分析装置よる性能分析の対象であるＷｅｂシステム１とそのクライアント２とのやりとりの手順の一例を示している。この図の例では、Ｗｅｂシステム１は、ＡＰ（アプリケーション）サーバ１ａとＤＢ（データベース）サーバ１ｂとから構成されている。
【００１５】
図１（ａ）の矢印と数字は、Ｗｒｉｔｅ系リクエスト（更新系リクエスト）がクライアント２からＷｅｂシステム１に対して発行されたときの、リクエストとレスポンスの送受信の順序を表わしている。矢印の方向はリクエストやレスポンスの流れる方向を示しており、右向きの矢印はリクエスト、左向きの矢印はレスポンスに対応する。また、図１（ｂ）の矢印と数字は、Ｒｅａｄ系リクエスト（参照系リクエスト）に関する送受信の順序を表わしている。
【００１６】
ここで、図１（ａ）の更新系リクエストとは、ＤＢサーバ１ｂの処理を伴うようなリクエストのことを指し、ＤＢサーバ１ｂの保持するデータの更新を伴うことが多い。図１（ａ）の例では、第＜１＞に、Ｗｅｂシステム１のユーザが操作するクライアント２からＷｅｂシステム１に対してリクエストが発行され、これをＡＰサーバ１ａが受け取る。第＜２＞に、ＡＰサーバ１ａは、リクエストに対する処理を行なったあと、永続データの検索や更新に関するリクエストをＤＢサーバ１ｂへ送信する。第＜３＞に、ＤＢサーバ１ｂはデータの処理を行なった上で、処理結果やエラー等に対応するレスポンスをＡＰサーバに返す。第＜４＞に、ＡＰサーバは最終的な処理結果をクライアントにレスポンスとして返す。
【００１７】
一方、図１（ｂ）の参照系リクエストとは、ＤＢサーバ１ｂの処理を伴わないようなリクエストのことを指し、データを参照するだけでデータの更新を伴わないことが多い。図１（ｂ）の例では、第＜１＞に、更新系リクエストの場合と同様に、Ｗｅｂシステム１のユーザが操作するクライアント２からＷｅｂシステム１に対してリクエストが発行され、これをＡＰサーバ１ａが受け取る。ＡＰサーバ１ａはリクエストに対する処理を行なうが、必要なデータをすでに保持しているため、ＤＢサーバ１ｂへの問合せは行なわない。第＜２＞に、ＡＰサーバ１ａは処理結果をクライアント２にレスポンスとして返し、リクエストの処理は終了する。
【００１８】
このとき、図１（ｂ）の参照系リクエストにおいて、本来、ＤＢサーバ１ｂが保持しているデータをＡＰサーバ１ａが既に保持しているのは、多くのＡＰサーバ１ａがキャッシュ機構（保管機構）を備えるためである。なお、初期状態ではＡＰサーバ１ａはデータを保持していない。ＡＰサーバ１ａが参照系リクエストを初めて受け取る際に、更新系リクエストの場合と同様に、ＤＢサーバ１ｂへの問合せを通じてデータが取得される（図１（ｂ）のＷｅｂシステム１内の矢印破線参照）。そして、ＡＰサーバ１ａは、取得したデータを次のリクエストに備えて自分で保管（キャッシュ）するため、ＡＰサーバ１ａが同じデータを必要とする２回目以降のリクエストを受け取った際には、ＤＢサーバ１ｂへの問合せをすることなく、リクエストの処理を完了させることができる。
【００１９】
一方、図１（ａ）の更新系リクエストの場合は、ＤＢサーバ１ｂの保有するデータを書き換えるために、必ずＡＰサーバ１ａからＤＢサーバ１ｂへのリクエストが発行される。Ｗｅｂシステム１は非常に多くのリクエストを処理するため、参照系リクエストに関しては、ＤＢサーバ１ｂへの問合せが発生する最初のリクエストを無視しても性能を管理する上で問題ない。
【００２０】
図２は、本発明の第１実施形態に係るシステム性能分析モジュール１０の構成を示すブロック図である。システム性能分析装置は、ＣＰＵや記憶装置を備えるコンピュータがシステム性能分析モジュール１０を含むプログラムを実行することによって実現される。このシステム性能分析モジュール１０は、ＡＰサーバ１ａのＣＰＵ使用率ρ＿ａｐとＡＰサーバ１ａのスループットλ＿ａｐとからＡＰサーバ１ａのサービス率μ＿ａｐを算出するＡＰサーバ・サービス率算出モジュール１１と、ＡＰサーバ１ａのスループットλ＿ａｐとＤＢサーバ１ｂのスループットλ＿ｄｂとからスループット比率λ＿ｄｂ／λ＿ａｐを算出するスループット比率算出モジュール１２と、ＡＰサーバ１ａのサービス率μ＿ａｐとスループット比率λ＿ｄｂ／λ＿ａｐとからグラフを作成するグラフ作成モジュール１３とによって構成されている。なお、ＡＰサーバ・サービス率算出モジュール１１は、サービス率取得モジュール１４の中に構成されている。
【００２１】
図３は、図２に示す第１実施形態のシステム性能分析モジュール１０の処理の流れを示すフローチャートである。すなわち、第１実施形態のシステム性能分析モジュール１０は、システム性能分析装置に対して図３のフローチャートで示す処理を実行させる。したがって、図２及び図３を参照して、本実施形態に係るシステム性能分析方法を説明する。
【００２２】
まず、システム性能分析モジュール１０への入力として、ＡＰサーバ１ａのＣＰＵ使用率ρ＿ａｐ、ＡＰサーバ１ａのスループットλ＿ａｐ、ならびにＤＢサーバ１ｂのスループットλ＿ｄｂに関する時系列データが与えられる（ステップＳ１１）。これらのデータは、分析対象のＡＰサーバ１ａやＤＢサーバ１ｂのＯＳ（オペレーティングシステム）やその上で動作するミドルウェア等のアプリケーションが提供する管理用のＡＰＩ（Application Program Interface）を使って取得できる。時系列データは、分析対象のＷｅｂシステムからリアルタイムに取得してもよいし、コンピュータの備える記憶装置に一旦保存されたものを読み込んでもよい。
【００２３】
ここで、ＡＰサーバ１ａのＣＰＵ使用率ρ＿ａｐは、単位時間（例えば１秒）あたりにＣＰＵがなんらかの演算をしていた時間の割合を表し、ＡＰサーバ１ａのスループットλ＿ａｐは、単位時間あたりに処理されたリクエストの個数を表す。
【００２４】
次に、サービス率取得モジュール１４が有するＡＰサーバ・サービス率算出モジュール１１は、ＡＰサーバ１ａのＣＰＵ使用率ρ＿ａｐとＡＰサーバ１ａのスループットλ＿ａｐとに基づいて、ＡＰサーバ１ａのサービス率μ＿ａｐを次の式（１）によって算出する（ステップＳ１２）。
μ＿ａｐ＝λ＿ａｐ／ρ＿ａｐ  ・・・  （１）
【００２５】
例えば、ＡＰサーバ１ａのスループットλ＿ａｐ＝１２リクエスト／秒、ＡＰサーバ１ａのＣＰＵ使用率ρ＿ａｐ＝０．３０（３０％）のとき、ＡＰサーバ１ａのサービス率μ＿ａｐ＝１２／０．３０＝４０（単位はリクエスト／秒）となる。この値は、ＡＰサーバ１ａのＣＰＵ使用率ρ＿ａｐが１．０（１００％）のときに処理できる理論上の最大スループットを意味している。なお、各時刻のＡＰサーバ１ａのスループットλ＿ａｐとＡＰサーバ１ａのＣＰＵ使用率ρ＿ａｐに対して、ＡＰサーバ１ａのサービス率μ＿ａｐが求められるため、このＡＰサーバ１ａのサービス率μ＿ａｐも時系列データとなる。
【００２６】
ここで、リクエストの処理内容とＡＰサーバ１ａのＣＰＵ仕様に変化がなければ、このＡＰサーバ１ａのサービス率μ＿ａｐの値も一定である。すなわち、Ｗｅｂシステムが正常稼働している限り、時間とともに変化するのはＷｅｂシステムに到着するリクエストとその処理量、および処理に必要なＣＰＵをはじめとする計算機資源の消費量のみである。
【００２７】
しかしながら、対象のＷｅｂシステムを稼働させているソフトウェアの設計ミスやハードウェア故障等によって性能が劣化すると、ＡＰサーバ１ａのサービス率μ＿ａｐの値は減少することになる。また、本来行なうべき処理をせずに、なんらかのエラーで処理が中断されているような場合には、通常よりも多くのリクエストが高速に処理されているように見えるため、ＡＰサーバ１ａのサービス率μ＿ａｐの値が通常よりも増加する。本実施形態では、このＡＰサーバ１ａのサービス率μ＿ａｐを監視することによって、性能劣化の検出や原因の切り分けを実現するものである。
【００２８】
再び図３のフローチャートに戻って、次に、スループット比率算出モジュール１２が、ＡＰサーバ１ａのスループットλ＿ａｐとＤＢサーバ１ｂのスループットλ＿ｄｂのスループット比率λ＿ｄｂ／λ＿ａｐを求める（ステップＳ１３）。ここでは、ＤＢサーバ１ｂのスループットλ＿ｄｂをＡＰサーバ１ａのスループットλ＿ａｐで割った更新比λ＿ｄｂ／λ＿ａｐを算出する。なお、スループット比率算出モジュール１２は、参照系リクエストの比であるλ＿ａｐ／λ＿ｄｂを算出してもよい。
【００２９】
このスループット比率λ＿ｄｂ／λ＿ａｐは、更新系リクエストと参照系リクエストの混合比率に対応している。一般に、更新系リクエストにおけるＡＰサーバ１ａのサービス率μ＿ａｐと参照系リクエストにおけるＡＰサーバ１ａのサービス率μ＿ａｐは異なる値となる。したがって、この混合比率を考慮しないと、ＡＰサーバ１ａのサービス率μ＿ａｐのバラつきが大きくなり、ＡＰサーバ１ａのサービス率μ＿ａｐの精度が低下するおそれがある。本実施形態では、更新系リクエストと参照系リクエストの混合比率がスループット比λ＿ｄｂ／λ＿ａｐとして１つの数値で表現される。
【００３０】
最後に、グラフ作成モジュール１３が各時刻に関するＡＰサーバ１ａのサービス率μ＿ａｐとスループット比率λ＿ｄｂ／λ＿ａｐの組を散布図にプロットする（ステップＳ１４）。
【００３１】
以上のようなシステム性能分析モジュール１０の処理手順を要約すると、まず、ＡＰサーバ１ａのＣＰＵ使用率、ＡＰサーバ１ａのスループット、ならびにＤＢサーバ１ｂのスループットに関する時系列データが取得される（ステップＳ１１）。次に、ＡＰサーバ１ａのＣＰＵ使用率とＡＰサーバ１ａのスループットから、ＡＰサーバ１ａのサービス率が算出される（ステップＳ１２）。さらに、ＡＰサーバ１ａのスループットとＤＢサーバ１ｂのスループットの比率が算出される（ステップＳ１３）。そして、各時刻に関するＡＰサーバ１ａのサービス率とスループット比率の関係を散布図にプロットする（ステップＳ１４）。
【００３２】
図４は、本発明の第１実施形態におけるシステム性能分析装置が出力する散布図の一例を示す特性図であり、横軸に更新系のスループット比率λ＿ｄｂ／λ＿ａｐ、縦軸にＡＰサーバ１ａのサービス率μ＿ａｐを示している。図４のようにＡＰサーバ１ａのサービス率μ＿ａｐとスループット比率λ＿ｄｂ／λ＿ａｐとの関係を図示することにより、参照系リクエストと更新系リクエストの混合比率を考慮しつつ、ＡＰサーバ１ａのサービス率μ＿ａｐを概観し、正常動作の確認や異常の検出を行なうことができる。
【００３３】
以上の説明では、ρ＿ａｐとしてＣＰＵ使用率を用いていたが、ディスク、メモリ、又はネットワークなどの他の計算機資源の使用率を用いてもよい。また、図４に示す散布図は、ＡＰサーバ１ａのサービス率μ＿ａｐを縦軸、スループット比率λ＿ｄｂ／λ＿ａｐを横軸にしているが、これらが逆であってもよい。
【００３４】
さらに、また、図１に示したＷｅｂシステム１は、ＡＰサーバ１ａとＤＢサーバ１ｂとで構成されているが、さらにＷｅｂサーバを含んでいてもよい。この場合、Ｗｅｂサーバは、ＡＰサーバ１ａとクライアント２との間に配置され、クライアント２とＡＰサーバ１ａとを仲介する役割を果たす。なお、このときは、ＡＰサーバ１ａがリクエストの受信やレスポンスの返信を行なう相手がＷｅｂサーバとなるだけで、システム性能分析モジュールの構成や動作に変わりはない。
【００３５】
また、本実施形態によって得られるＡＰサーバ１ａのサービス率μ＿ａｐとスループット比率λ＿ｄｂ／λ＿ａｐに関する時系列データに対して回帰分析や区間推定を行なうことで、ある確率でデータの収まる範囲を表現する信頼区間を求めることもできる。ここで、回帰分析や区間推定の具体的な方法については、例えば、前述の非特許文献１で説明されているので、その詳細な説明は省略する。
【００３６】
図５は、本発明の第１実施形態におけるシステム性能分析装置の出力特性の一例を示す特性図であり、横軸に更新系のスループット比率λ＿ｄｂ／λ＿ａｐ、縦軸にＡＰサーバ１ａのサービス率μ＿ａｐを示している。すなわち、この図はスループット比率λ＿ｄｂ／λ＿ａｐとＡＰサーバ１ａのサービス率μ＿ａｐとの関係を一次式（直線）で表した回帰方程式と、データが９９％の確率で収まる範囲を表した９９％信頼区間の一例を示している。
【００３７】
図５の特性図によれば、例えば、ある日のデータ（○印）の多くがこの信頼区間から外れていれば、これを性能劣化と判定することができる。さらには、信頼区間から外れたデータがスループット比率（更新比率）の高いところに多く存在していれば、更新系リクエストに性能劣化が起きている可能性が高いと推測できる。逆に、信頼区間から外れたデータがスループット比率の低いところに多ければ、参照系リクエストに関する性能劣化が予測される。
【００３８】
図６は、ＡＰサーバのＣＰＵ使用率ρ＿ａｐ、ＡＰサーバのスループットλ＿ａｐ、及びＤＢサーバのスループットλ＿ｄｂの時系列データの具体例を示す図である。図６に示すような時系列データが得られた場合を考えると、これらのデータのうち、まず、時刻１３：３５の各データに対する処理が実行される。
【００３９】
ここで、ＡＰサーバ・サービス率算出モジュール１１ａによって、ＡＰサーバ１ａのＣＰＵ使用率ρ＿ａｐ＝０．３８とスループットλ＿ａｐ＝１７とに基づいて、ＡＰサーバ１ａのサービス率μ＿ａｐ＝１７／０．３８≒４５が算出される。
【００４０】
次に、スループット比率算出モジュール１２によって、ＤＢサーバ１ｂのスループットλ＿ｄｂ＝２とＡＰサーバ１ａのスループットλ＿ａｐ＝１７とに基づいて、スループット比率λ＿ｄｂ／λ＿ａｐ＝２／１７≒０．１２が算出される。同様にして、時刻１３：４０から１３：５５までの各データに対しても、ＡＰサーバ１ａのサービス率μ＿ａｐとスループット比率λ＿ｄｂ／λ＿ａｐが算出され、図７に示すような時系列データが得られる。すなわち、図７は、図６の時系列データによって得られたＡＰサーバ１ａのサービス率μ＿ａｐとスループット比率λ＿ｄｂ／λ＿ａｐの具体例を示す図である。
【００４１】
そして、最後にグラフ作成モジュール１３が、スループット比率λ＿ｄｂ／λ＿ａｐを横軸、ＡＰサーバ１ａのサービス率μ＿ａｐを縦軸とする座標上に、これらの時系列データをプロットする。これによって、前述の図４に示したようなシステム性能分析装置が出力する散布図が得られる。
【００４２】
以上説明したように、本実施形態のシステム性能分析装置によれば、Ｗｅｂシステムの性能管理に有用な、リクエストの混合比率に対するＡＰサーバのサービス率（最大スループット）の情報が提供される。したがって、その情報を参照することにより、ＡＰサーバにおける性能劣化の検出や原因の切り分けを行なうことが可能となる。
【００４３】
《第２実施形態》
次に、本発明の第２実施形態に係るシステム性能分析装置について説明する。図８は、本発明の第２実施形態に係るシステム性能分析モジュールの構成を示すブロック図である。なお、以下の説明では、第１実施形態と重複する説明は適宜省略することにする。本実施形態におけるシステム性能分析モジュール１０ａが、図２に示す第１実施形態のシステム性能分析モジュール１０と異なるところは、サービス率取得モジュール１４ａが、ＡＰサーバ・サービス率算出モジュール１１（図２参照）の代わりに、システム・サービス率算出モジュール１１ａを有するところである。
【００４４】
このシステム・サービス率算出モジュール１１ａは、ＡＰサーバ１ａ（システム）の処理時間ＴとＡＰサーバ１ａのスループットλ＿ａｐからシステム・サービス率を算出して、その算出結果のシステム・サービス率をグラフ作成モジュールへ送信する機能を有している。
【００４５】
図９は、図８に示す第２実施形態に係るシステム性能分析モジュールの処理を示すフローチャートである。図９に示すように、本実施形態では、ＡＰサーバのＣＰＵ使用率に代えて、ＡＰサーバ１ａにおけるリクエストの処理時間Ｔが、ＡＰサーバ１ａのスループットλ＿ａｐ、及びＤＢサーバ１ｂのスループットλ＿ｄｂに関する時系列データと共に取得される（ステップＳ２１）。
【００４６】
なお、ＡＰサーバ１ａにおけるリクエストの処理時間Ｔとは、ＡＰサーバ１ａにリクエストが到着してから、処理が完了してＡＰサーバ１ａがクライアント２にレスポンスを返すまでの時間を指す。この時間の間は、必要に応じてＡＰサーバ１ａからＤＢサーバ１ｂへの問合せと、ＤＢサーバ１ｂからＡＰサーバ１ａへのレスポンスの受信が行なわれる。すなわち、ここでいう「処理時間」は、ＡＰサーバ１ａとＤＢサーバ１ｂの処理時間（参照系リクエストの場合は０）を含んでいる。
【００４７】
次に、サービス率取得モジュール１４ａが有するシステム・サービス率算出モジュール１１ａが、ＡＰサーバ１ａの処理時間ＴとＡＰサーバ１ａのスループットλ＿ａｐとに基づいて、システム全体のサービス率μを次の式（２）によって算出する（ステップＳ２２）。
μ＝λ＿ａｐ＋１／Ｔ  ・・・  （２）
【００４８】
例えば、ＡＰサーバ１ａのスループットλ＿ａｐ＝１２リクエスト／秒、ＡＰサーバ１ａの処理時間Ｔ＝０．０５（秒）のとき、システム全体のサービス率μは、μ＝１２＋
１／０．０５＝３２（リクエスト／秒）となる。なお、処理時間Ｔは、ＡＰサーバ１ａとＤＢサーバ１ｂの処理時間を含んでいるため、このシステム全体のサービス率の値は、ＡＰサーバ１ａとＤＢサーバ１ｂを１つのシステムとして見た場合、すなわちＷｅｂシステムのサービス率（最大スループット）を表すことになる。また、ＡＰサーバ１ａのスループットλ＿ａｐも、Ｗｅｂシステムのスループットを表している。
【００４９】
更新系リクエストの場合、Ｗｅｂシステムのサービス率μはＡＰサーバ１ａのサービス率とＤＢサーバ１ｂのサービス率の小さい方の値とほぼ同一である。例えば、ＡＰサーバ１ａのサービス率がμ＿ａｐ＝６０、ＤＢサーバ１ｂのサービス率がμ＿ｄｂ＝１２のとき、Ｗｅｂシステムのサービス率μ＝１２となる。これは、ＡＰサーバ１ａの性能がどんなに高くても、ＤＢサーバ１ｂの処理の終了を待たされるために、ＷｅｂシステムのスループットがＤＢサーバ１ｂのスループットを超えることはないためである。なお、ＤＢサーバ１ｂのサービス率はＡＰサーバ１ａのサービス率よりも大幅に小さいことが多い。
【００５０】
一方、参照系リクエストの場合はＤＢサーバ１ｂの処理が不要なため、Ｗｅｂシステムのサービス率μは、ＡＰサーバ１ａのサービス率μ＿ａｐと同じであり、Ｗｅｂシステムのサービス率μ＝μ＿ａｐ＝６０となる。したがって、Ｗｅｂシステム（システム全体）のサービス率μは、前述の第１実施形態と同様、更新系リクエストと参照系リクエストの混合比率に依存することになる。なお、第１実施形態と同様、各時刻に関するシステム全体のサービス率が算出され、システム全体のサービス率μの時系列データが得られる。
【００５１】
再び図９のフローチャートに戻り、次に、スループット比率算出モジュール１２が、ＡＰサーバ１ａのスループットとＤＢサーバ１ｂのスループットの比であるスループット比率λ＿ｄｂ／λ＿ａｐを算出する（ステップＳ２３）。そして、最後にグラフ作成モジュール１３が、各時刻に関するシステム全体のサービス率μとスループット比率λ＿ｄｂ／λ＿ａｐの組を散布図にプロットする（ステップＳ２４）。ここで、システム全体のサービス率μとスループット比率λ＿ｄｂ／λ＿ａｐに関する時系列データに対して回帰分析や区間推定を行なうことで、ある確率でデータの収まる範囲を表現する信頼区間を求めることができる。
【００５２】
以上のようなシステム性能分析モジュール１０ａの処理手順を要約すると、まず、ＡＰサーバ１ａの処理時間、ＡＰサーバ１ａのスループット、ならびにＤＢサーバ１ｂのスループットに関する時系列データが取得される（ステップＳ２１）。次に、ＡＰサーバ１ａの処理時間とＡＰサーバ１ａのスループットとに基づいて、システム全体のサービス率が算出される(ステップＳ２２)。さらに、ＡＰサーバ１ａのスループットとＤＢサーバ１ｂのスループットとのスループット比率が算出される（ステップＳ２３）。そして、各時刻に関するシステム全体のサービス率とスループット比率の関係を散布図にプロットする（ステップＳ２４）。
【００５３】
図１０は、本発明の第２実施形態におけるシステム性能分析装置の出力特性の一例を示す特性図であり、横軸に更新系のスループット比率λ＿ｄｂ／λ＿ａｐ、縦軸にシステム・サービス率μを示している。すなわち、この図はスループット比率λ＿ｄｂ／λ＿ａｐとシステム・サービス率μとの関係を表した散布図と、区間推定結果の一例を示している。
【００５４】
ある日の性能データが、信頼区間を外れており、それがスループット（更新）比率の高いところに数多く存在していれば、ＤＢサーバ１ｂの性能が劣化している可能性が高いといえる。また、もし信頼区間を外れたデータがスループット（更新）比率の低いところに数多く存在していれば、ＡＰサーバ１ａの性能が劣化している可能性が高いといえる。
【００５５】
図１１は、ＡＰサーバの処理時間Ｔ、ＡＰサーバのスループットλ＿ａｐ、及びＤＢサーバのスループットλ＿ｄｂの時系列データの具体例を示す図である。また、図１２は、図１１の時系列データによって得られた、システム・サービス率μとスループット比率λ＿ｄｂ／λ＿ａｐの具体例を示す図である。
【００５６】
すなわち、図１１に示すような時系列データが得られたと想定すると、これらのデータのうち、まず、時刻１３：３５の各データに対する処理が実行される。時刻１３：３５において、システム・サービス率算出モジュール１１ａによって、ＡＰサーバ１ａにおけるリクエスト処理時間（ＡＰサーバの処理時間）Ｔ＝０．３７とＡＰサーバ１ａのスループットλ＿ａｐ＝４３とに基づいて、図１２に示すように、システム・サービス率μ＝４３＋１／０．３７≒４６が算出される。
【００５７】
次に、スループット比率算出モジュール１２により、ＡＰサーバのスループットλ＿ａｐ＝４３とＤＢサーバのスループットλ＿ｄｂ＝１１とに基づいて、図１２に示すように、スループット比率λ＿ｄｂ／λ＿ａｐ＝１１／４３≒０．２６が算出される。
同様にして、時刻１３：４０から１３：５５までの各データに対しても、システム・サービス率μとスループット比率λ＿ｄｂ／λ＿ａｐが算出され、図１２に示すような時系列データが得られる。
【００５８】
そして、最後に、グラフ作成モジュール１３が、スループット比率λ＿ｄｂ／λ＿ａｐを横軸、システム・サービス率μを縦軸とする座標上に、図１０にシステム性能分析装置の出力特性図のように、これらの時系列データをプロットする。
【００５９】
以上に説明したように、本実施形態のシステム性能分析装置によれば、Ｗｅｂシステムの性能管理に有用である、リクエストの混合比率に対するＷｅｂシステムのサービス率（最大スループット）の情報が提供される。したがって、その情報を参照することにより、Ｗｅｂシステム全体の性能劣化の検出や原因がＡＰサーバとＤＢサーバの何れにあるのかを判定することが可能となる。
【００６０】
以上、本発明を２つの実施形態に基づき具体的に説明したが、本発明は前記の各実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【００６１】
なお、前述したシステム性能分析方法は、コンピュータがプログラムを読み込むことによって実現される。したがって、前述のシステム性能分析方法における各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、前述した各処理が行われる。ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk−Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk−Red Only Memory）、半導体メモリ等をいう。
【産業上の利用可能性】
【００６２】
本発明によれば、Ｗｅｂシステムの性能を管理するためのコンピュータシステムやコンピュータを利用した各種装置に有効に利用することができる。
【符号の説明】
【００６３】
１  Ｗｅｂシステム
１ａ  ＡＰサーバ
１ｂ  ＤＢサーバ
２  クライアント
１０、１０ａ  システム性能分析モジュール
１１  ＡＰサーバ・サービス率算出モジュール
１１ａ  システム・サービス率算出モジュール
１２  スループット比率算出モジュール
１３  グラフ作成モジュール
１４、１４ａ  サービス率取得モジュール
【図１】
2010218000.tif 000003
【図２】
2010218000.tif 000004
【図３】
2010218000.tif 000005
【図４】
2010218000.tif 000006
【図５】
2010218000.tif 000007
【図６】
2010218000.tif 000008
【図７】
2010218000.tif 000009
【図８】
2010218000.tif 000010
【図９】
2010218000.tif 000011
【図１０】
2010218000.tif 000012
【図１１】
2010218000.tif 000013
【図１２】
2010218000.tif 000014