(57)【要約】【課題】利用者の体感するシステムの時間性能であるターンアラウンド時間に関し、多重度やシステムの実装方法等によって変動する特性を、統計的に把握する。【解決手段】性能分析装置１１０の計測データ処理部１１１は、サーバ１０１が要求を受信してから応答を返信するまでの応答時間（ターンアラウンド時間）を計測した計測値（ターンアラウンドリスト２０８）と、サーバ１０１の負荷を段階評価した負荷レベル（時間別負荷レベル２０７）とを時系列で格納する。性能分析装置１１０のデータ分析部１１２は、計測データ処理部１１１から負荷レベルごとに複数の計測値を抽出し、負荷レベルごとにサーバ１０１の応答時間がガウス分布をなすと仮定して、抽出した複数の計測値から負荷レベルごとにサーバ１０１の応答時間の確率密度関数（統計量データ２１４）を算出する。【選択図】図２
2011186712.tif 000002
【特許請求の範囲】
【請求項１】
要求を受信すると当該要求に応じた処理を実行して応答を返信するサーバ装置の性能を分析する性能分析装置において、
前記サーバ装置が要求を受信してから応答を返信するまでの応答時間を計測した計測値と、前記サーバ装置の負荷を段階評価した負荷レベルとを時系列で記憶装置に格納する計測データ処理部と、
前記計測データ処理部から負荷レベルごとに複数の計測値を処理装置により抽出し、負荷レベルごとに前記サーバ装置の応答時間がガウス分布をなすと仮定して、抽出した複数の計測値から負荷レベルごとに前記サーバ装置の応答時間の確率密度関数を処理装置により算出するデータ分析部とを備えることを特徴とする性能分析装置。
【請求項２】
前記データ分析部は、負荷レベルごとに前記サーバ装置の応答時間が複数のガウス分布をそれぞれ重み係数により重み付けして合成した複合ガウス分布をなすと仮定して、抽出した複数の計測値から負荷レベルごとに前記サーバ装置の応答時間の確率密度関数を処理装置により算出することを特徴とする請求項１に記載の性能分析装置。
【請求項３】
前記データ分析部は、負荷レベルごとに前記サーバ装置の応答時間の確率密度関数における複数の重み係数を出力装置により出力することを特徴とする請求項２に記載の性能分析装置。
【請求項４】
前記データ分析部は、さらに、負荷レベルごとに前記サーバ装置の応答時間の確率密度関数における複数の重み係数のそれぞれに対応する平均と分散とを出力装置により出力することを特徴とする請求項３に記載の性能分析装置。
【請求項５】
前記データ分析部は、さらに、負荷レベルごとに前記サーバ装置の応答時間の確率密度関数を表すグラフを出力装置により出力することを特徴とする請求項１から４までのいずれかに記載の性能分析装置。
【請求項６】
前記計測データ処理部は、前記サーバ装置の応答時間の計測値を、前記サーバ装置が受信した要求の種類とともに記憶装置に格納し、
前記データ分析部は、前記計測データ処理部から要求の種類と負荷レベルとの組み合わせごとに複数の計測値を処理装置により抽出し、要求の種類と負荷レベルとの組み合わせごとに前記サーバ装置の応答時間がガウス分布をなすと仮定して、抽出した複数の計測値から要求の種類と負荷レベルとの組み合わせごとに前記サーバ装置の応答時間の確率密度関数を処理装置により算出することを特徴とする請求項１から５までのいずれかに記載の性能分析装置。
【請求項７】
要求を受信すると当該要求に応じた処理を実行して応答を返信するサーバ装置の性能を分析する性能分析方法において、
記憶装置が、前記サーバ装置が要求を受信してから応答を返信するまでの応答時間を計測した計測値と、前記サーバ装置の負荷を段階評価した負荷レベルとを時系列で格納し、
処理装置が、記憶装置から負荷レベルごとに複数の計測値を抽出し、負荷レベルごとに前記サーバ装置の応答時間がガウス分布をなすと仮定して、抽出した複数の計測値から負荷レベルごとに前記サーバ装置の応答時間の確率密度関数を算出することを特徴とする性能分析方法。
【請求項８】
要求を受信すると当該要求に応じた処理を実行して応答を返信するサーバ装置の性能を分析する性能分析プログラムにおいて、
前記サーバ装置が要求を受信してから応答を返信するまでの応答時間を計測した計測値と、前記サーバ装置の負荷を段階評価した負荷レベルとを時系列で記憶装置に格納する計測データ処理と、
記憶装置から負荷レベルごとに複数の計測値を処理装置により抽出し、負荷レベルごとに前記サーバ装置の応答時間がガウス分布をなすと仮定して、抽出した複数の計測値から負荷レベルごとに前記サーバ装置の応答時間の確率密度関数を処理装置により算出するデータ分析処理とをコンピュータに実行させることを特徴とする性能分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、性能分析装置及び性能分析方法及び性能分析プログラムに関するものである。本発明は、特に、稼動しているコンピュータシステムのログや統計情報から、コンピュータの負荷変動や要求の種類を抽出し、個々の要求のターンアラウンド時間からシステム性能の特性を評価するシステム性能計測装置に関するものである。
【背景技術】
【０００２】
従来のオンラインシステムの性能レポート作成装置は、端末装置の通信記録を、通信情報ファイルから情報抽出手段によって抽出して集計ファイルを生成し、編集出力手段によって、性能レポートを出力することを行っていた（例えば、特許文献１参照）。また、従来の実行時間の評価装置は、ベンチマークによって、ソフトウェアの実行時間を推定する方法も用いていた（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平２−３１０７４１号公報
【特許文献２】特表２００４−５３０１９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の性能レポート作成装置や、実行時間の評価装置は、システムが多重にアクセスされることによる負荷上昇に伴い、端末からの要求受信から結果の送信までのターンアラウンド時間の平均と分散が上昇する傾向を評価していないという課題があった。
【０００５】
本発明は、例えば、利用者の体感するシステムの時間性能であるターンアラウンド時間に関し、多重度やシステムの実装方法等によって変動する特性を、統計的に把握することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一の態様に係る性能分析装置は、
要求を受信すると当該要求に応じた処理を実行して応答を返信するサーバ装置の性能を分析する性能分析装置において、
前記サーバ装置が要求を受信してから応答を返信するまでの応答時間を計測した計測値と、前記サーバ装置の負荷を段階評価した負荷レベルとを時系列で記憶する記憶装置から、負荷レベルごとに複数の計測値を処理装置により抽出する計測データ処理部と、
負荷レベルごとに前記サーバ装置の応答時間がガウス分布をなすと仮定して、前記計測データ処理部により抽出された複数の計測値から、負荷レベルごとに前記サーバ装置の応答時間の確率密度関数を処理装置により算出するデータ分析部とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明の一の態様によれば、性能分析装置のデータ分析部が、負荷レベルごとにサーバ装置の応答時間がガウス分布をなすと仮定して、サーバ装置の応答時間を計測した複数の計測値から、負荷レベルごとにサーバ装置の応答時間の確率密度関数を算出することにより、サーバ装置の応答時間に関し、多重度やシステムの実装方法等によって変動する特性を、統計的に把握することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係るシステムの構成を示すブロック図である。
【図２】実施の形態１に係る計測対象となるサーバと、性能分析装置の構成を示すブロック図である。
【図３】実施の形態１に係る性能分析装置のハードウェア構成の一例を示す図である。
【図４】実施の形態１に係る対象事象抽出フィルタ部の動作を示すフローチャートである。
【図５】実施の形態１に係る負荷変動収集部の動作を示すフローチャートである。
【図６】実施の形態１に係る要求種類抽出部の動作を示すフローチャートである。
【図７】実施の形態１に係るターンアラウンド算出部の動作を示すフローチャートである。
【図８】実施の形態１に係る要求種／負荷レベル別ヒストグラム生成部の動作を示すフローチャートである。
【図９】実施の形態１に係るガウス分布／複合ガウス分布係数抽出部の動作を示すフローチャートである。
【図１０】実施の形態１に係る負荷別時間性能評価部の動作を示すフローチャートである。
【図１１】実施の形態１に係るガウス分布の確率密度関数を表すグラフである。
【図１２】実施の形態１に係る負荷別特性評価部の動作を示すフローチャートである。
【図１３】実施の形態１に係る複合ガウス分布の確率密度関数を表すグラフ及び表である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について、図を用いて説明する。
【００１０】
実施の形態１．
図１は、本実施の形態に係るシステム１００（コンピュータシステム）の構成を示すブロック図である。
【００１１】
図１において、システム１００は、サーバ１０１，１２１（サーバ装置）、性能分析装置１１０を少なくとも１つずつ備えるとともに、ＰＣ１０５（パーソナルコンピュータ）（クライアント装置）を複数備える。サーバ１０１，１２１、性能分析装置１１０、ＰＣ１０５は、互いにネットワークを介して接続されている。
【００１２】
サーバ１０１は複数のＰＣ１０５にサービスを提供するコンピュータである。サーバ１０１は、各ＰＣ１０５から要求を受信すると当該要求に応じた処理を実行して各ＰＣ１０５へ応答を返信する。サーバ１０１は、アプリケーション１０２、システムモニタ１０３をＣＰＵ（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）により実行し、イベント／ＣＰＵ使用率１０４を出力する。アプリケーション１０２はサービスを実現するソフトウェアである。システムモニタ１０３はサーバ１０１のリソースの消費状態をモニタするソフトウェアである。イベント／ＣＰＵ使用率１０４は、アプリケーション１０２やシステムモニタ１０３が出力するログ（ファイル）である。
【００１３】
性能分析装置１１０は、サーバ１０１の内部に実装されるソフトウェア（この場合、サーバ１０１自体が性能分析装置１１０であるといえる）、もしくは、外部に独立した装置として設置されるコンピュータである。性能分析装置１１０は、サーバ１０１の性能を分析する。性能分析装置１１０は、計測データ処理部１１１、データ分析部１１２を備える。計測データ処理部１１１は計測データを処理するソフトウェアである。データ分析部１１２はデータを分析するソフトウェアである。データ分析部１１２は時間性能レポート１１３や性能特性レポート１１４といったレポート（ファイル）を出力する。
【００１４】
サーバ１２１はサーバ１０１と連携するコンピュータである。サーバ１２１は、アプリケーション１２２をＣＰＵにより実行する。アプリケーション１２２はアプリケーション１０２にサービスを提供するソフトウェアであるが、本実施の形態において必須ではない。
【００１５】
例えば、サーバ１０１はメールサーバ、サーバ１２１はデータベースサーバである。このとき、サーバ１０１のアプリケーション１０２は複数のＰＣ１０５にメールサービスを提供する。具体的には、アプリケーション１０２は、各ＰＣ１０５からログイン要求、メールの一覧要求、メールの送信要求、メールの受信要求といった各種の要求を受信すると、要求された処理を実行し、実行結果を応答として各ＰＣ１０５に返信する。サーバ１２１のアプリケーション１２２はユーザアカウントやメールを管理するデータベースにアクセスし、データを読み出してサーバ１０１のアプリケーション１０２へ渡したり、サーバ１０１のアプリケーション１０２からのデータを書き込んだりする。
【００１６】
図２は、計測対象となるサーバ１０１と、性能分析装置１１０の構成を示すブロック図である。
【００１７】
サーバ１０１は、前述したアプリケーション１０２、システムモニタ１０３を実行するほか、ログ収集部１５１、スプリット処理部１５２を有する。ログ収集部１５１は、アプリケーション１０２からイベント（サービスの実行結果等）のログ（イベント／ＣＰＵ使用率１０４の一部）を収集し、ログファイル１５３として出力する。ログ収集部１５１から出力されたログファイル１５３は、ＨＤＤ（Ｈａｒｄ・Ｄｉｓｋ・Ｄｒｉｖｅ）等の記憶装置に保存され、後述するファイル入力部２０２によって読み込まれる。あるいは、ログ収集部１５１から出力されたログファイル１５３は、スプリット処理部１５２によって、後述する標準入力部２０１に渡される。システムモニタ１０３は、サーバ１０１で起こったイベント（エラー、警告、通知等）や負荷（ＣＰＵ使用率等）を観測し、統計情報１５４（イベント／ＣＰＵ使用率１０４の一部）として出力する。システムモニタ１０３から出力された統計情報１５４は、後述する負荷変動収集部２０３に渡される。
【００１８】
性能分析装置１１０の計測データ処理部１１１は、標準入力部２０１、ファイル入力部２０２、負荷変動収集部２０３、対象事象抽出フィルタ部２０４、要求種類抽出部２０５、ターンアラウンド算出部２０６を有する。標準入力部２０１、ファイル入力部２０２は計測対象であるサーバ１０１からデータを取得するインターフェースである。負荷変動収集部２０３はサーバ１０１から統計情報１５４を、対象事象抽出フィルタ部２０４から事象（イベントに関する情報）を受け取り、時間別負荷レベル２０７を生成・更新する。時間別負荷レベル２０７は時間帯ごとの負荷の程度を記録したテーブルである。対象事象抽出フィルタ部２０４は標準入力部２０１、ファイル入力部２０２からデータを取得し対象となる事象のみを関連する各部に伝える。要求種類抽出部２０５は対象事象抽出フィルタ部２０４が取得した事象からユニークな要求を抽出し、要求種リスト２０９を生成・更新する。要求種リスト２０９はユニークな要求を記録したテーブルである。ターンアラウンド算出部２０６は対象事象抽出フィルタ部２０４が取得した事象から要求のターンアラウンド時間を算出し、ターンアラウンドリスト２０８を生成・更新する。ターンアラウンドリスト２０８は個々の要求のターンアラウンド時間を記録したテーブルである。
【００１９】
性能分析装置１１０のデータ分析部１１２は、要求種／負荷レベル別ヒストグラム生成部２１１、ガウス分布／複合ガウス分布係数抽出部２１３、負荷別時間性能評価部２１５、負荷別特性評価部２１６を有する。要求種／負荷レベル別ヒストグラム生成部２１１は時間別負荷レベル２０７、ターンアラウンドリスト２０８、要求種リスト２０９からヒストグラムデータ２１２を生成する。ヒストグラムデータ２１２は要求種、負荷レベルごとのヒストグラムを記録したテーブルである。ガウス分布／複合ガウス分布係数抽出部２１３はガウス分布に近似したときの係数を算出して統計量データ２１４を記録する。統計量データ２１４は統計量を記録したテーブルである。負荷別時間性能評価部２１５は負荷レベルごとの時間性能の評価を行い、評価結果を時間性能レポート１１３として出力する。負荷別特性評価部２１６負荷レベルごとの特性の評価を行い、評価結果を性能特性レポート１１４として出力する。
【００２０】
図３は、性能分析装置１１０のハードウェア構成の一例を示す図である。なお、サーバ１０１，１２１も同様のハードウェア構成にて実装可能である。
【００２１】
図３において、性能分析装置１１０は、コンピュータであり、ＬＣＤ９０１（Ｌｉｑｕｉｄ・Ｃｒｙｓｔａｌ・Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤＤ９０５（Ｃｏｍｐａｃｔ・Ｄｉｓｃ・Ｄｒｉｖｅ）、プリンタ９０６といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。ＬＣＤ９０１の代わりに、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）、あるいは、その他の表示装置が用いられてもよい。マウス９０３の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。
【００２２】
性能分析装置１１０は、プログラムを実行するＣＰＵ９１１を備えている。ＣＰＵ９１１は、処理装置の一例である。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）、通信ボード９１５、ＬＣＤ９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ９０６、ＨＤＤ９２０と接続され、これらのハードウェアデバイスを制御する。ＨＤＤ９２０の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ又はその他の記憶媒体が用いられてもよい。
【００２３】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、ＨＤＤ９２０は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５は、入力装置の一例である。また、通信ボード９１５、ＬＣＤ９０１、プリンタ９０６は、出力装置の一例である。
【００２４】
通信ボード９１５は、ＬＡＮ（Ｌｏｃａｌ・Ａｒｅａ・Ｎｅｔｗｏｒｋ）等に接続されている。通信ボード９１５は、ＬＡＮに限らず、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）、広域ＬＡＮ、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ・Ｔｒａｎｓｆｅｒ・Ｍｏｄｅ）ネットワークといったＷＡＮ（Ｗｉｄｅ・Ａｒｅａ・Ｎｅｔｗｏｒｋ）、あるいは、インターネットに接続されていても構わない。ＬＡＮ、ＷＡＮ、インターネットは、ネットワークの一例である。
【００２５】
ＨＤＤ９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。プログラム群９２３には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、ＣＰＵ９１１により読み出され実行される。ファイル群９２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ＩＤ（識別子）」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ＲＡＭ９１４やＨＤＤ９２０等の記憶媒体に記憶される。ＲＡＭ９１４やＨＤＤ９２０等の記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったＣＰＵ９１１の処理（動作）に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったＣＰＵ９１１の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００２６】
本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、ＲＡＭ９１４等のメモリ、ＦＤＤ９０４のフレキシブルディスク（ＦＤ）、ＣＤＤ９０５のコンパクトディスク（ＣＤ）、ＨＤＤ９２０の磁気ディスク、光ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）、あるいは、その他の記録媒体に記録される。また、データや信号は、バス９１２、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。
【００２７】
本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００２８】
次に、性能分析装置１１０の動作（本実施の形態に係る性能分析方法、本実施の形態に係る性能分析プログラムの処理手順）について説明する。
【００２９】
図２に示したように、計測対象のサーバ１０１にて、ＰＣ１０５の要求の受信と結果の応答のログは、ログ収集部１５１によって記録される。また、サーバ１０１のＣＰＵ等のリソースの消費状況はシステムモニタ１０３によって統計情報１５４として記録される。
【００３０】
性能分析装置１１０の計測データ処理部１１１は、ログファイル１５３をファイル入力部２０２によって読み込むか、スプリット処理部１５２から標準入力部２０１によって読み込むことで、対象事象抽出フィルタ部２０４の入力を得る。対象事象抽出フィルタ部２０４は、計測の対象となっている事象を処理装置により抽出して、負荷変動収集部２０３、ターンアラウンド算出部２０６、要求種類抽出部２０５にフィルタした事象を通知する。負荷変動収集部２０３は、統計情報１５４もしくは対象事象抽出フィルタ部２０４から得た情報から時間帯ごとの負荷状況を時間別負荷レベル２０７として記憶装置に記憶する。ターンアラウンド算出部２０６は、対象事象抽出フィルタ部２０４から得た情報を入力として、個々の要求と結果（応答）の時刻からターンアラウンド時間を処理装置により算出し、ターンアラウンドリスト２０８として記憶装置に記憶する。要求種類抽出部２０５は、対象事象抽出フィルタ部２０４から得た情報を入力として、発生した要求を処理装置により照査し、要求種リスト２０９として記憶装置により記憶する。
【００３１】
性能分析装置１１０のデータ分析部１１２は、時間別負荷レベル２０７、ターンアラウンドリスト２０８、要求種リスト２０９を入力として、時間性能レポート１１３、性能特性レポート１１４を出力装置により出力する。データ分析部１１２の要求種／負荷レベル別ヒストグラム生成部２１１は、データ分析部１１２の入力から、要求種ごと、負荷レベルごとの要求のターンアラウンド時間のヒストグラムを処理装置により生成し、ヒストグラムデータ２１２として記憶装置に記憶する。ガウス分布／複合ガウス分布係数抽出部２１３は、個々のヒストグラムについて、ガウス分布を仮定した係数抽出を処理装置により行い、統計量データ２１４を出力する。負荷別時間性能評価部２１５は、統計量データ２１４から負荷の上昇とターンアラウンド時間の平均、分散の変動を、時間性能レポート１１３として出力装置により出力する。負荷別特性評価部２１６は、複合ガウス分布が有意なケースについて、複合した分布の構成を性能特性レポート１１４として出力装置により出力する。
【００３２】
図４は、対象事象抽出フィルタ部２０４の動作を示すフローチャートである。
【００３３】
対象事象抽出フィルタ部２０４は、標準入力部２０１又はファイル入力部２０２にて入力があるまで待機する（ステップＳ１０１）。入力があると、対象事象抽出フィルタ部２０４は、入力されたログファイル１５３のレコードを受け取る（ステップＳ１０２）。対象事象抽出フィルタ部２０４は、正常にレコードを受け取った場合にはステップＳ１０３に進み、それ以外の場合には終了する。
【００３４】
標準入力部２０１、ファイル入力部２０２から得られるレコードには、要求と結果を示すレコード以外も含まれているため、対象事象抽出フィルタ部２０４は、予め与えられるレコード定義情報３０１（記憶装置に予め記憶されている、抽出対象のレコードを定義する情報）に従って、レコード評価を処理装置により行う（ステップＳ１０３）。対象事象抽出フィルタ部２０４は、必要なレコード（要求と応答のログのレコード）があれば後続の処理へ当該レコードだけ引き渡し、なければステップＳ１０１に戻る。
【００３５】
図５は、負荷変動収集部２０３の動作を示すフローチャートである。
【００３６】
負荷変動収集部２０３は、統計情報１５４の入力又は対象事象抽出フィルタ部２０４からの入力があるまで待機する（ステップＳ２０１）。入力があると、負荷変動収集部２０３は、入力されたデータを受け取る（ステップＳ２０２）。負荷変動収集部２０３は、正常にデータを受け取った場合には入力の判定を行い、それ以外の場合には終了する。
【００３７】
統計情報１５４が入力の場合、負荷変動収集部２０３は、その中の例えばＣＰＵ使用率を参照して、予め与えられる設定情報である負荷レベル情報４０２（記憶装置に予め記憶されている、負荷レベルを定義する情報）に従って負荷レベルを処理装置により決定する（ステップＳ２０３）。即ち、負荷変動収集部２０３は、統計情報１５４に記録された単位時間ごとのＣＰＵ使用率を負荷レベル情報４０２に照らして段階評価することで負荷レベルを割り出す。そして、負荷変動収集部２０３は、時間別負荷レベル２０７を更新し（ステップＳ２０４）、ステップＳ２０１に戻る。このとき、統計情報１５４と予め与えられる時間粒度情報４０１（記憶装置に予め記憶されている、時間粒度を定義する情報）における時間粒度（単位時間）は一致しているものとする。
【００３８】
対象事象抽出フィルタ部２０４の出力が入力の場合、負荷変動収集部２０３は、予め与えられる設定情報である時間粒度情報４０１に従った時刻のマスク、例えば秒単位や分単位でのマスクを行う（ステップＳ２０５）。負荷変動収集部２０３は、内部情報である時刻別件数データ４０３（記憶装置に記憶されている、所定の時間帯、即ち、時間粒度情報４０１で定義された時間粒度の時刻ごとに、件数を示すデータ）を参照する（ステップＳ２０６）。ステップＳ２０５で得られた時刻が新規時刻（時刻別件数データ４０３に記録されている時刻より後の時刻）であれば、負荷変動収集部２０３は、時刻別件数データ４０３から旧時刻の件数を読み出し、負荷レベル情報４０２に従って負荷レベルを処理装置により決定する（ステップＳ２０７）。即ち、負荷変動収集部２０３は、対象事象抽出フィルタ部２０４から入力されたデータに記録された単位時間ごとの要求の件数を負荷レベル情報４０２に照らして段階評価することで負荷レベルを割り出す。そして、負荷変動収集部２０３は、時間別負荷レベル２０７を更新し（ステップＳ２０８）、時刻別件数データ４０３に現在の粒度の時刻（上記新規時刻）と件数０を設定する（ステップＳ２０９）。続けて、負荷変動収集部２０３は、件数をインクリメントし（ステップＳ２１０）、ステップＳ２０１に戻る。ステップＳ２０５で得られた時刻が既に時刻別件数データ４０３に記録されている時刻と一致する粒度の時刻であれば、負荷変動収集部２０３は、単に件数をインクリメントし（ステップＳ２１０）、ステップＳ２０１に戻る。
【００３９】
図６は、要求種類抽出部２０５の動作を示すフローチャートである。
【００４０】
要求種類抽出部２０５は、対象事象抽出フィルタ部２０４から出力されたデータを入力として（ステップＳ３０１）、レコード定義情報３０１に従って要求の種類を処理装置により評価する（ステップＳ３０２）。要求種リスト２０９に存在しない種類であれば、要求種類抽出部２０５は、当該種類の要求種リスト２０９への追加を行う（ステップＳ３０３）。
【００４１】
図７は、ターンアラウンド算出部２０６の動作を示すフローチャートである。
【００４２】
ターンアラウンド算出部２０６は、対象事象抽出フィルタ部２０４から出力されたデータを入力として（ステップＳ４０１）、レコード定義情報３０１に従って要求と応答、ＰＣ１０５を識別する（ステップＳ４０２）。新規の要求であれば、ターンアラウンド算出部２０６は、要求とＰＣ１０５を識別するコード（例えばＩＰ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ）アドレス）をキーとした内部情報であるキー別時刻データ５０１（記憶装置に記憶されている、キーごとに、サーバ１０１がＰＣ１０５から要求を受信した時刻を示すデータ）にキー及び対応する時刻を記録して（ステップＳ４０３）、終了する。応答であれば、ターンアラウンド算出部２０６は、キー別時刻データ５０１を参照して、キーに対応する要求の時刻を特定し、要求と応答の間の経過時間を処理装置により算出する（ステップＳ４０４）。そして、ターンアラウンド算出部２０６は、キー別時刻データ５０１から当該キー及び対応する時刻を削除し（ステップＳ４０５）、ターンアラウンドリスト２０８に、算出した時間を記録して（ステップＳ４０６）、終了する。
【００４３】
図８は、要求種／負荷レベル別ヒストグラム生成部２１１の動作を示すフローチャートである。
【００４４】
要求種／負荷レベル別ヒストグラム生成部２１１は、時間別負荷レベル２０７、ターンアラウンドリスト２０８、要求種リスト２０９の入力があるまで待機する（ステップＳ５０１）。入力があると、要求種／負荷レベル別ヒストグラム生成部２１１は、入力された時間別負荷レベル２０７、ターンアラウンドリスト２０８、要求種リスト２０９を参照する（ステップＳ５０２）。要求種／負荷レベル別ヒストグラム生成部２１１は、正常に時間別負荷レベル２０７、ターンアラウンドリスト２０８、要求種リスト２０９を参照できた場合にはステップＳ５０３に進み、それ以外の場合には終了する。
【００４５】
要求種／負荷レベル別ヒストグラム生成部２１１は、時間別負荷レベル２０７、ターンアラウンドリスト２０８、要求種リスト２０９に基づき、ターンアラウンドリスト２０８から得た要求のターンアラウンド時間について、そのときの負荷レベル、要求種を識別する（ステップＳ５０３，Ｓ５０４）。そして、要求種／負荷レベル別ヒストグラム生成部２１１は、予め与えられる区間定義情報６０１（記憶装置に予め記憶されている、ヒストグラムの階級を定義する情報）に従い、該当するヒストグラムの階級について度数のインクリメントを処理装置により行う（ステップＳ５０４，５０６）。このとき、ヒストグラムデータ２１２が負荷レベルと要求種の数分、生成される。
【００４６】
上記のように、本実施の形態において、性能分析装置１１０の計測データ処理部１１１は、サーバ１０１が要求を受信してから応答を返信するまでの応答時間（ターンアラウンド時間）を計測した計測値（ターンアラウンドリスト２０８）と、サーバ１０１の負荷を段階評価した負荷レベル（時間別負荷レベル２０７）とを時系列で記憶装置に格納する。
【００４７】
また、本実施の形態において、計測データ処理部１１１は、サーバ１０１の応答時間の計測値を、サーバ１０１が受信した要求の種類とともに記憶装置に格納する。
【００４８】
図９は、ガウス分布／複合ガウス分布係数抽出部２１３の動作を示すフローチャートである。
【００４９】
ガウス分布／複合ガウス分布係数抽出部２１３は、ヒストグラムデータ２１２を入力として（ステップＳ６０１）、次式（１）を仮定した、標準偏差σ（分散σ２）、平均μを処理装置により導出する（ｙは、ヒストグラムの階級）（ステップＳ６０２）。
【００５０】
【数１】
2011186712.tif 000003
【００５１】
また、ガウス分布／複合ガウス分布係数抽出部２１３は、次式（２）、（３）を仮定した、標準偏差σｉ（分散σ２ｉ）、平均μｉを導出する（ｙは、ヒストグラムの階級）（ステップＳ６０３）。
【００５２】
【数２】
2011186712.tif 000004
【００５３】
この導出は、ヒストグラムを確率密度として正規化し、係数を仮定した上記式（１）〜（３）から得られるｇ（ｙ）、ｆ（ｙ）と、χ２が最小となるよう仮定を繰り返すことで行う（χ２検定を行う）。ガウス分布／複合ガウス分布係数抽出部２１３は、導出した結果を統計量データ２１４に出力する（ステップＳ６０４）。
【００５４】
図１０は、負荷別時間性能評価部２１５の動作を示すフローチャートである。
【００５５】
負荷別時間性能評価部２１５は、統計量データ２１４を入力として（ステップＳ７０１）、同一要求種の負荷レベル間の標準偏差σ（分散σ２）、平均μの変動をレポートする時間性能レポート１１３を出力装置により出力する（ステップＳ７０２〜Ｓ７０４）。時間性能レポート１１３は、例えば図１１に示すようなグラフとして表現することも可能である。図１１のグラフでは、４つの負荷レベル“１”、“３０”、“８０”、“１２０”のそれぞれについて、ある１種類の要求に対するサーバ１０１の応答時間の確率密度関数ｇ（ｙ）を示している。そのため、グラフの横軸が応答時間、縦軸が度数となっている。負荷別時間性能評価部２１５は、図１１のようなグラフを、要求の種類ごとに出力装置により出力する。前述したメールサーバの例であれば、例えばＰＣ１０５からログイン要求があった場合（記憶装置へのアクセスが比較的少ないケース）のサーバ１０１の応答時間に関し、図１１のようなグラフを示すことで、多重度やサーバ１０１の実装方法（例えば、記憶装置の構成、具体的には、どのようなキャッシュを実装しているか）等によって変動する特性を統計的に把握することが可能となる。
【００５６】
上記のように、本実施の形態において、性能分析装置１１０のデータ分析部１１２は、計測データ処理部１１１から負荷レベルごとに複数の計測値を処理装置により抽出し、負荷レベルごとにサーバ１０１の応答時間がガウス分布をなすと仮定して、抽出した複数の計測値から負荷レベルごとにサーバ１０１の応答時間の確率密度関数ｇ（ｙ）を処理装置により算出する。また、データ分析部１１２は、負荷レベルごとにサーバ１０１の応答時間の確率密度関数ｇ（ｙ）を表すグラフを出力装置により出力する。
【００５７】
また、本実施の形態において、データ分析部１１２は、計測データ処理部１１１から要求の種類と負荷レベルとの組み合わせごとに複数の計測値を処理装置により抽出し、要求の種類と負荷レベルとの組み合わせごとにサーバ１０１の応答時間がガウス分布をなすと仮定して、抽出した複数の計測値から要求の種類と負荷レベルとの組み合わせごとにサーバ１０１の応答時間の確率密度関数ｇ（ｙ）を処理装置により算出する。
【００５８】
図１２は、負荷別特性評価部２１６の動作を示すフローチャートである。
【００５９】
負荷別特性評価部２１６は、統計量データ２１４を入力として（ステップＳ８０１）、同一要求種、特定負荷レベル間の重み係数αｉ、標準偏差σｉ（分散σ２ｉ）、平均μｉの変動をレポートする性能特性レポート１１４を出力装置により出力する（ステップＳ８０２〜Ｓ８０５）。性能特性レポート１１４は、例えば図１３に示すようなグラフ及び表として表現することも可能である。図１３のグラフでは、ある１つの負荷レベルについて、ある１種類の要求に対するサーバ１０１の応答時間の確率密度関数ｆ（ｙ）を示している。そのため、グラフの横軸が応答時間、縦軸が度数となっている。また、図１３のグラフで度数のピークが３つあることからわかるように、この例では３つのガウス分布が合成された複合ガウス分布が仮定され、図１３の表に示した各３つの重み係数αｉ、分散σ２ｉ、平均μｉが求められている（χ２検定で求められる）。負荷別特性評価部２１６は、図１３のようなグラフ及び表を、要求の種類と負荷レベルとの組み合わせごとに出力装置により出力する。前述したメールサーバの例であれば、例えばＰＣ１０５からメールの一覧要求があった場合（記憶装置へのアクセスを比較的多く要するケース）のサーバ１０１の応答時間に関し、図１３のようなグラフ及び表を示すことで、多重度やサーバ１０１の実装方法（例えば、記憶装置の構成、具体的には、どのようなキャッシュを実装しているか）等によって変動する特性を統計的に把握することが可能となる。
【００６０】
上記のように、本実施の形態において、性能分析装置１１０のデータ分析部１１２は、計測データ処理部１１１から負荷レベルごとに複数の計測値を処理装置により抽出し、負荷レベルごとにサーバ１０１の応答時間が複数のガウス分布をそれぞれ重み係数により重み付けして合成した複合ガウス分布をなすと仮定して、抽出した複数の計測値から負荷レベルごとにサーバ１０１の応答時間の確率密度関数ｆ（ｙ）を処理装置により算出する。そして、データ分析部１１２は、負荷レベルごとにサーバ１０１の応答時間の確率密度関数ｆ（ｙ）における複数の重み係数αｉを出力装置により出力する。データ分析部１１２は、さらに、負荷レベルごとにサーバ１０１の応答時間の確率密度関数ｆ（ｙ）における複数の重み係数αｉのそれぞれに対応する平均μｉと分散σ２ｉとを出力装置により出力する。また、データ分析部１１２は、負荷レベルごとにサーバ１０１の応答時間の確率密度関数ｆ（ｙ）を表すグラフを出力装置により出力する。
【００６１】
また、本実施の形態において、データ分析部１１２は、計測データ処理部１１１から要求の種類と負荷レベルとの組み合わせごとに複数の計測値を処理装置により抽出し、要求の種類と負荷レベルとの組み合わせごとにサーバ１０１の応答時間が複合ガウス分布をなすと仮定して、抽出した複数の計測値から要求の種類と負荷レベルとの組み合わせごとにサーバ１０１の応答時間の確率密度関数ｆ（ｙ）を処理装置により算出する。
【００６２】
以上のように、本実施の形態では、性能分析装置１１０が、稼働中のシステム１００（サーバ１０１，１２１）に対して、ベンチマークテスト等を行うことなく、要求の種類と負荷のレベルを抽出し、利用者の体感するターンアラウンド時間の要求の種類ごと、負荷のレベルごとの平均と分散を把握することができる。また、システム１００（サーバ１０１，１２１）の実現上のアルゴリズム等による性能のばらつきについても分析することができる。
【００６３】
以上説明したように、本実施の形態に係る性能分析装置１１０（システム性能計測装置）は、稼働中のシステム１００（サーバ１０１，１２１）のログ等の情報から、負荷ごとのターンアラウンド時間を抽出し、負荷上昇によるターンアラウンド時間の劣化を定量化することを特徴とする。
【００６４】
また、性能分析装置１１０は、稼働中のシステム１００（サーバ１０１，１２１）のログ等の情報から、要求の種類ごとのターンアラウンド時間を抽出し、要求の違いによるターンアラウンド時間の差異を定量化することを特徴とする。
【００６５】
また、性能分析装置１１０は、ターンアラウンド時間の条件による違いを、ガウス分布を仮定して、平均と分散で評価可能とすることを特徴とする。
【００６６】
また、性能分析装置１１０は、ターンアラウンド時間の同一条件下におけるばらつきを、複合ガウス分布を仮定して、ばらつきの要因数を分析可能とすることを特徴とする。
【符号の説明】
【００６７】
１００  システム、１０１，１２１  サーバ、１０２，１２２  アプリケーション、１０３  システムモニタ、１０４  イベント／ＣＰＵ使用率、１０５  ＰＣ、１１０  性能分析装置、１１１  計測データ処理部、１１２  データ分析部、１１３  時間性能レポート、１１４  性能特性レポート、１５１  ログ収集部、１５２  スプリット処理部、１５３  ログファイル、１５４  統計情報、２０１  標準入力部、２０２  ファイル入力部、２０３  負荷変動収集部、２０４  対象事象抽出フィルタ部、２０５  要求種類抽出部、２０６  ターンアラウンド算出部、２０７  時間別負荷レベル、２０８  ターンアラウンドリスト、２０９  要求種リスト、２１１  要求種／負荷レベル別ヒストグラム生成部、２１２  ヒストグラムデータ、２１３  ガウス分布／複合ガウス分布係数抽出部、２１４  統計量データ、２１５  負荷別時間性能評価部、２１６  負荷別特性評価部、３０１  レコード定義情報、４０１  時間粒度情報、４０２  負荷レベル情報、４０３  時刻別件数データ、５０１  キー別時刻データ、６０１  区間定義情報、９０１  ＬＣＤ、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  ＨＤＤ、９２１  オペレーティングシステム、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
2011186712.tif 000005
【図２】
2011186712.tif 000006
【図３】
2011186712.tif 000007
【図４】
2011186712.tif 000008
【図５】
2011186712.tif 000009
【図６】
2011186712.tif 000010
【図７】
2011186712.tif 000011
【図８】
2011186712.tif 000012
【図９】
2011186712.tif 000013
【図１０】
2011186712.tif 000014
【図１１】
2011186712.tif 000015
【図１２】
2011186712.tif 000016
【図１３】
2011186712.tif 000017