(57)【特許請求の範囲】
【請求項１】
コンピュータシステムを監視する監視装置であって、
前記コンピュータシステムの性能に係る複数の性能項目に関する性能データを収集するデータ収集部と、
原因事象と、前記原因事象によって劣化する一以上の性能項目である劣化性能項目とを関連付けた性能劣化原因モデルと、
前記原因事象について、前記一以上の劣化性能項目の性能データの正常範囲が予め定められていて、前記データ収集部により収集された前記劣化性能項目の性能データである対象性能データが前記正常範囲から外れるとき、その外れ度合いを特定する外れ度合い特定部と、
前記外れ度合いの経時変化に基づいて、前記原因事象に関する情報を出力する出力部と、を有するコンピュータシステムの監視装置。
【請求項２】
前記コンピュータシステムで実行されたジョブの種類及びジョブの実行期間を含むジョブ実行履歴を有し、
前記外れ度合い特定部は、前記ジョブ実行履歴及び前記対象性能データに基づいて、ジョブの種類別及びジョブの実行期間別に前記外れ度合いを特定する、請求項１記載のコンピュータシステムの監視装置。
【請求項３】
複数の原因事象に係る複数の性能劣化原因モデルを有し、
前記外れ度合い特定部は、ジョブの種類別及びジョブの実行期間別に、前記複数の原因事象別の前記外れ度合いを特定し、
前記監視装置は、
前記複数の原因事象別の外れ度合いの経時変化のうち、各ジョブの実行に要した時間である所要時間の長さの変化と最もマッチする経時変化に係る原因事象を特定する分析部をさらに有し、
前記出力部は、前記分析部で特定された原因事象を示す情報を出力する、請求項２記載のコンピュータシステムの監視装置。
【請求項４】
前記原因事象が生じていないときの前記一以上の劣化性能項目の過去の性能データに基づいて前記正常範囲を特定する正常範囲特定部を、さらに有する請求項１記載のコンピュータシステムの監視装置。
【請求項５】
コンピュータシステムを監視する監視装置であって、
前記コンピュータシステムの性能に係る複数の性能項目に関する性能データを収集するデータ収集部と、
前記コンピュータシステムの評価指標と、前記評価指標と関連する複数の性能項目である関連性能項目とを関連付けた評価指標モデルと、
前記評価指標が劣化しているときの、前記複数の関連性能項目の性能データをグルーピングして得られた複数の性能データグループであって、それぞれが有する特徴に基づくラベルを有する前記複数の性能データグループと、前記データ収集部により収集された前記関連性能項目の性能データである対象性能データとの類似度を判定する類似度判定部と、
前記対象性能データに最も類似する性能データグループ及びその性能データグループのラベルを出力する出力部と、を有するコンピュータシステムの監視装置。
【請求項６】
前記出力部は、前記評価指標の劣化に寄与している複数の関連性能項目の性能データに基づいて、各関連性能項目の前記評価指標の劣化への寄与度を示す情報を出力する、請求項５記載のコンピュータシステムの監視装置。
【請求項７】
前記劣化への寄与度を示す情報は、各関連性能項目のそれぞれの寄与度が長さで示された１次元のグラフである、請求項６記載のコンピュータシステムの監視装置。
【請求項８】
前記１次元のグラフには、前記劣化への寄与度が所定よりも大きい関連性能項目の前記劣化への寄与度が含まれる、請求項７記載のコンピュータシステムの監視装置。
【請求項９】
前記対象性能データが、前記複数の性能データグループのいずれとも類似しないとき、
前記出力部は、前記評価指標の劣化に寄与している複数の関連性能項目の性能データに基づいて、各関連性能項目の前記評価指標の劣化への寄与度を示す情報を出力し、前記対象性能データが属する新たな性能データグループに付与するラベルに関する情報の入力を受け付ける画面を出力する、請求項５記載のコンピュータシステムの監視装置。
【請求項１０】
前記評価指標が劣化しているときの前記一以上の関連性能項目の過去の性能データを前記性能データが有する特徴に基づいてグルーピングして前記複数の性能データグループを生成し、生成された性能データグループに各性能データグループの特徴に基づく前記ラベルを付与するグループ生成部を、さらに有する請求項５記載のコンピュータシステムの監視装置。
【請求項１１】
コンピュータシステムを監視する監視装置が行う方法であって、
前記監視装置は、原因事象と、前記原因事象によって劣化する一以上の性能項目である劣化性能項目とを関連付けた性能劣化原因モデルを有し、
前記コンピュータシステムの性能に係る複数の性能項目に関する性能データを収集するステップと、
前記原因事象について、前記一以上の劣化性能項目の性能データの正常範囲が予め定められていて、データ収集部により収集された前記劣化性能項目の性能データである対象性能データが前記正常範囲から外れるとき、その外れ度合いを特定するステップと、
前記外れ度合いの経時変化に基づいて、前記原因事象に関する情報を出力するステップと、を行うコンピュータシステムの監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの性能を計測し、性能劣化の原因分析を支援する技術に関する。
【背景技術】
【０００２】
コンピュータシステムの性能が劣化すると、そのコンピュータシステム利用者の快適な利用を妨げ、利用者満足度が低下する。そのため、コンピュータシステムの監視装置がコンピュータシステムから収集した性能データを分析し、性能劣化の発生時刻、劣化原因（性能を劣化させたコンピュータシステムの構成要素）を特定する。コンピュータシステムの管理者は、監視装置の分析結果に基づいて、コンピュータシステムの性能を回復させるための対策を実行する。【０００３】
性能の劣化を検知する方法には様々なものが知られている。例えば、特許文献１には、コンピュータシステムから収集した性能データを学習することで、相互に相関する性能項目を発見する方法が記載されている。この方法によれば、監視装置は、複数の性能項目の性能データを収集するごとに、性能項目間の相関を計算し、正常時に存在した相関関係の喪失を検出することで、性能劣化を検知する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１９９５３４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、コンピュータシステムにおいて明らかに性能が劣化しているときはその検出が比較的容易である一方、性能劣化が必ずしも明らかではなく、徐々に性能が劣化している場面でそれを検知するのは容易ではない。一般には、閾値を用いて性能劣化の有無の判定を行うことが行われているが、様々な理由で誤判定も多い。【０００６】
また、性能の劣化が検出されたときでも、計測された性能データから直ちにその原因事象を特定できないことも多い。
【課題を解決するための手段】
【０００７】
本発明の一つの態様に係るコンピュータシステムを監視する監視装置は、原因事象と関連する性能項目の性能データの正常範囲が予め定められているとき、その性能項目に係る性能データが正常範囲から外れるとき、その外れ度合いを特定し、その外れ度合いの経時変化に基づいて、原因事象に関する情報を出力する。【０００８】
本発明の他の態様に係るコンピュータシステムを監視する監視装置は、コンピュータシステムの評価指標と関連する複数の性能項目の性能データをグルーピングして得られた複数の性能データグループであるとき、その性能項目に係る性能データと性能データグループとの類似度を判定し、最も類似する性能データグループのラベルを出力する。
【図面の簡単な説明】
【０００９】
【図１Ａ】第１及び第２実施形態の性能監視システムのハードウェア構成図
【図１Ｂ】第１実施形態のメモリ３が有するデータ
【図１Ｃ】第１実施形態のストレージ４が有するデータ
【図２Ａ】性能劣化原因モデル３０の説明図
【図２Ｂ】性能劣化原因モデル３０の具体例
【図２Ｃ】性能劣化原因モデル３０の具体例
【図３】性能データテーブル４０の説明図
【図４】外れ値スコア算出器５０の説明図
【図５】外れ値スコア履歴テーブル６０の説明図
【図６】外れ値スコア集計テーブル７０の説明図
【図７】バッチ用外れ値スコア集計テーブル８０の説明図
【図８】第１実施形態の処理概要のフローチャート
【図９】外れ値スコア算出器作成処理のフローチャート
【図１０】外れ値スコア算出処理のフローチャート
【図１１】性能劣化傾向分析処理のフローチャート
【図１２】バッチジョブの性能劣化傾向分析処理のフローチャート
【図１３Ａ】第２実施形態のメモリ３が有するデータ
【図１３Ｂ】第２実施形態のストレージ４が有するデータ
【図１４Ａ】ＫＰＩ性能モデル２３０の説明図
【図１４Ｂ】ＫＰＩ性能モデル２３０の具体例
【図１５】パタンスコアテーブル２６０の説明図
【図１６】性能劣化パタンテーブル２７０の説明図
【図１７】第１実施形態の処理概要のフローチャート
【図１８】パタンスコア算出処理のフローチャート
【図１９】性能劣化パタン分類器作成処理のフローチャート
【図２０】表示装置に表示される画面３００の一例
【図２１】表示装置に表示される画面４００の一例
【図２２】画面を表示する処理のフローチャート
【図２３】パタンスコアの経時変化傾向の分析処理のフローチャート
【発明を実施するための形態】
【００１０】
本発明の一つの実施形態に係る性能分析システムは、コンピュータシステムを監視する監視装置である管理計算機１を有する。管理計算機１は、コンピュータシステムの性能に係る複数の性能項目に関する性能データを収集するデータ収集部と、原因事象と、その原因事象によって劣化する一以上の性能項目である劣化性能項目とを関連付けた性能劣化原因モデルと、を有する。さらに、管理計算機１は、原因事象に対する一以上の劣化性能項目の性能データの正常範囲が予め定められているとき、劣化性能項目の性能データである対象性能データが正常範囲から外れるとき、その外れ度合いを特定する外れ度合い特定部と、外れ度合いの経時変化に基づいて、原因事象に関する情報を出力する出力部と、を有する。
【００１１】
管理計算機１は、さらに、コンピュータシステムで実行されたジョブの種類及びジョブの実行期間を含むジョブ実行履歴を有してもよい。外れ度合い特定部は、ジョブ実行履歴及び対象性能データに基づいて、ジョブの種類別及びジョブの実行期間別に外れ度合いを特定してもよい。
【００１２】
管理計算機１は、複数の原因事象に係る複数種類の性能劣化原因モデルを有してもよい。外れ度合い特定部は、ジョブの種類別及びジョブの実行期間別に、複数の原因事象別の外れ度合いを特定してもよい。管理計算機１は、複数の原因事象別の外れ度合いの経時変化のうち、各ジョブの実行に要した時間である所要時間の長さの変化と最もマッチする経時変化に係る原因事象を特定する分析部をさらに有してもよい。出力部は、分析部で特定された原因事象を示す情報を出力してもよい。
【００１３】
管理計算機１は、原因事象が生じていないときの一以上の劣化性能項目の過去の性能データに基づいて、原因事象に対する一以上の劣化性能項目の性能データの正常範囲を特定する正常範囲特定部をさらに有してもよい。
【００１４】
本発明の別の一つの実施形態に係る性能分析システムは、コンピュータシステムを監視する管理計算機１を有する。管理計算機１は、コンピュータシステムの性能に係る複数の性能項目に関する性能データを収集するデータ収集部と、コンピュータシステムの評価指標と、評価指標と関連する複数の性能項目である関連性能項目とを関連付けた評価指標モデルと、を有する。管理計算機１は、さらに、評価指標が劣化しているときの、前記複数の関連性能項目の性能データをグルーピングして得られた複数の性能データグループと、データ収集部により収集された関連性能項目の性能データである対象性能データとの類似度を判定する類似度判定部を有する。管理計算機１は、対象性能データに最も類似する性能データグループと、その性能データグループの特徴を示すラベルを出力する。
【００１５】
管理計算機１は、評価指標の劣化に寄与している複数の関連性能項目の性能データに基づいて、各関連性能項目の評価指標の劣化への寄与度を示す情報を出力してもよい。
【００１６】
劣化への寄与度を示す情報は、例えば、各関連性能項目のそれぞれの寄与度が長さで示された１次元のグラフである。
【００１７】
１次元のグラフには、劣化への寄与度が所定よりも大きい関連性能項目の劣化への寄与度が含まれていてもよい。
【００１８】
対象性能データが、複数の性能データグループのいずれとも類似しないとき、管理計算機１は、評価指標の劣化に寄与している複数の関連性能項目の性能データに基づいて、新たな性能データグループを生成しても良い。さらに、管理計算機１は、各関連性能項目の評価指標の劣化への寄与度を示す情報を出力し、対象性能データが属する新たな性能データグループに付与するラベルに関する情報の入力を受け付けるようにしてもよい。
【００１９】
管理計算機１は、評価指標が劣化しているときの一以上の関連性能項目の過去の性能データ性能データが有する特徴に基づいてグルーピングして複数の性能データグループを生成するグループ生成部を、さらに有してもよい。グループ生成部は、生成された性能データグループに各性能データグループの特徴に基づくラベルを付与してもよい。
【００２０】
以下、本発明の実施形態に係る性能分析システムについて、図面を参照しながら説明する。
【００２１】
図１Ａは、本発明の第１の実施形態に係る性能分析システムのハードウェア構成図である。
【００２２】
同図に示すように、性能分析システムは管理計算機１を有する。管理計算機１は、ＣＰＵ２、メモリ３、ストレージ４、出力Ｉ／Ｆ５、ネットワークＩ／Ｆ７及び入力Ｉ／Ｆ８を備える。管理計算機１は、ストレージ４に格納されたプログラムをＣＰＵ２に読み込み実行する。プログラムの実行に必要な各種のデータ等はメモリ３に格納される。また、管理計算機１は、出力Ｉ／Ｆ５を介して、後述する性能監視及び性能分析結果などのインタフェース画面を表示装置６に表示させる。管理計算機１は、表示装置６以外に、電子メールの送信、音声出力などの出力手段を有していてもよい。管理計算機１は、ネットワークＩ／Ｆ７を介して、管理対象計算機であるホスト（９a〜９c）あるいはストレージ１０と通信し、性能データを収集する。管理計算機１は、入力Ｉ／Ｆ８を介して、管理者からのマウス、キーボード等の入力デバイスによる情報入力を受け取り、ＣＰＵ２へ送る。
【００２３】
図１Ｂ及び図１Ｃは、本発明の第１の実施形態に係る管理計算機１のメモリ３及びストレージ４が有するデータを示す。
【００２４】
図１Ｃに示すように、本実施形態では、ストレージ４には性能監視プログラム１２及び性能分析プログラム１３が格納されている。
【００２５】
性能監視プログラム１２は、ＣＰＵ２に実行されてデータ収集部として動作する。性能監視プログラム１２は、監視対象であるホスト９及びストレージシステム１０から定期的または不定期に複数の性能項目に関する計測値を性能データとして収集し、収集したデータを性能データテーブル４０に格納する。
【００２６】
性能分析プログラム１３は、ＣＰＵ２に実行されて性能データの正常範囲を特定して外れ値スコア算出器５０を生成する正常範囲特定部と、外れ値スコア算出器５０を用いて正常範囲からの外れ度合いに係る外れ値スコアを算出する外れ度合い特定部と、外れ値スコアの経時変化を分析して原因事象を特定する分析部として動作する。
【００２７】
性能分析プログラム１３は、正常時の性能データに基づいて、正常の範囲からの外れ度合いを示す外れ値スコアを算出する外れ値スコア算出器５０を作成する。性能分析プログラム１３は、外れ値スコア算出器５０を用いて外れ値スコアを算出する。さらに、性能分析プログラム１３は、外れ値スコア算出器５０が算出した外れ値スコアを統計処理して監視対象システムの性能劣化傾向を分析する。
【００２８】
図１Ｂに示すように、本実施形態では、メモリ３には性能劣化原因モデル３０、性能データテーブル４０、外れ値スコア算出器５０、外れ値スコア履歴テーブル６０、外れ値スコア集計テーブル７０、バッチ用外れ値スコア集計テーブル８０及びジョブ実行履歴９０が格納されている。
【００２９】
性能劣化原因モデル３０は、性能劣化の原因となる原因事象３１と、その原因事象３１によって劣化する性能項目３２とを関連付ける因果関係モデルである。
【００３０】
図２Ａは、性能劣化原因モデル３０の構成の一例を示す。性能劣化原因モデル３０では、一つの原因事象３１に対して複数の性能項目３２が関連付けられてもよい。また、性能項目３２の関連は、図のように階層構造を有してもよい。
【００３１】
図２Ｂ及び図２Ｃは、性能劣化原因モデル３０の具体例を示す。図２Ｂは、データベースの性能障害「ロック競合待ち」という原因事象３１ａと、その原因事象によって劣化する「トランザクション数」、「セッション待機時間」及び「ロック待機回数」という性能項目３２ａ〜ｃとが関連付けられている。図２Ｃは、ストレージの性能障害「Ｒｅａｄ  Ｉ／Ｏ処理遅延」という原因事象３１ｂと、その事象によって劣化する「ランダムＲｅａｄＩＯＰＳ」、「シーケンシャルＲｅａｄＩＯＰＳ」及び「ランダムＲｅａｄキャッシュヒット率」という性能項目３２ｄ〜ｆとが対応付けられている。
【００３２】
性能データテーブル４０は、監視対象のコンピュータシステムのホスト９またはストレージシステム１０から収集した性能データを有する。
【００３３】
図３は、性能データテーブル４０の一例を示す。
【００３４】
性能データテーブル４０は、データ項目として、監視対象のシステムの名称を示すシステム４１と、性能項目４２と、計測値４４を計測した時刻を示す計測時刻４３と、計測値４４とを有する。性能データテーブル４０には性能監視プログラム１２によって適宜データが保存される。
【００３５】
外れ値スコア算出器５０に基づく外れ値スコア算出処理で、性能劣化原因モデル３０に定める原因事象３１ごとに、対応する性能項目３２の性能データの正常範囲からの外れ度合いに係る外れ値スコアが特定される。外れ値スコア算出器５０は、機械学習によって生成された学習済みモデルでよく、例えば、回帰分析により生成された回帰モデルでよい。ここでは、外れ値スコア算出器５０はいくつかの数値パラメタの集合体でよい。外れ値スコア算出器５０を生成するために用いた回帰アルゴリズムの種類によって、数値パラメタの内容は異なる。
【００３６】
図４は、外れ値スコア算出器５０の一例を示す。
【００３７】
同図に示す通り、外れ値スコア算出器５０は、データ項目として、監視対象のシステムの名称を示すシステム５１と、原因事象の識別情報である原因事象ＩＤ５２と、原因事象５３と、数値パラメタ集合５４とを有する。つまり、外れ値スコア算出器５０は、システム５１および原因事象ＩＤ５２別に、数値パラメタ集合５４を有する。
【００３８】
外れ値スコア履歴テーブル６０は、外れ値スコア算出器５０により算出された外れ値スコアを有する。
【００３９】
図５は、外れ値スコア履歴テーブル６０の一例を示す。
【００４０】
同図に示す通り、外れ値スコア履歴テーブル６０は、データ項目として、システム６１と、計測時刻６２と、原因事象ＩＤ６３と、外れ値スコア６４とを有する。外れ値スコア６４は、後述する外れ値スコア算出処理で算出されたスコアである。
【００４１】
外れ値スコア集計テーブル７０は、外れ値スコアを集計した統計値等を有する。
【００４２】
図６は、外れ値スコア集計テーブル７０の一例を示す。
【００４３】
同図に示す通り、外れ値スコア集計テーブル７０は、データ項目として、システム７１と、集計を行った期間の識別情報である期間ＩＤ７２と、原因事象ＩＤ７３と、外れ値スコア統計値７４とを有する。
【００４４】
外れ値スコア統計値７４は、システム７１、期間ＩＤ７２及び原因事象ＩＤ７３ごとに外れ値スコアが統計処理された値である。外れ値スコア統計値７４は、例えば、外れ値スコア履歴テーブル６０のデータに基づいて算出された値である。この図では、外れ値スコア統計値７４は、計測時刻６２が期間ＩＤ７２に示す期間内である外れ値スコア６４の平均値および標準偏差である。
【００４５】
図７は、バッチ用外れ値スコア集計テーブル８０の一例を示す。
【００４６】
バッチ用外れ値スコア集計テーブル８０は、バッチ処理に関する外れ値スコアを記憶するテーブルであり、外れ値スコア集計テーブル７０の変形である。
【００４７】
同図に示す通り、バッチ用外れ値スコア集計テーブル８０は、データ項目として、システム８１と、バッチ種類８５と、実行期間８６と、原因事象ＩＤ８３と、外れ値スコア統計値８４とを有する。実行期間８６は、バッチ種類８５に示すバッチジョブの開始時刻及び終了時刻を示す。つまり、バッチ用外れ値スコア集計テーブル８０は、バッチ種類８５、実行期間８６及び原因事象ＩＤ８３ごとに算出された外れ値スコア統計値８４を有する。
【００４８】
ジョブ実行履歴９０は、コンピュータシステムで実行されたジョブの種類、開始時刻及び終了時刻等を有する。ジョブ実行履歴９０は、ジョブスケジューラ１９から取得する。
【００４９】
図８は、性能分析プログラム１３が行う処理の流れの概略を示す。この図は、主要な処理ステップであるＳ１〜Ｓ３と、その入出力データとの関係を示している。以下、各ステップの動作を説明する。
【００５０】
まず、性能分析プログラム１３は、性能劣化原因モデル３０と性能データテーブル４０に格納された正常時の性能データとに基づいて外れ値スコア算出器５０を作成する（Ｓ１）。例えば、性能分析プログラム１３は、性能劣化の原因事象別に定義された性能劣化原因モデル３０に従って、機械学習技術により、外れ値原因事象別の外れ値スコア算出器５０を作成してもよい。
【００５１】
次に、性能分析プログラム１３は、ステップＳ１で生成された外れ値スコア算出器５０を用いて、解析対象の性能データの外れ値スコアを算出する（Ｓ２）。例えば、性能分析プログラム１３は、性能劣化原因モデル３０に従って、原因事象３１別にそれぞれの外れ値スコアを計算する。外れ値スコア算出器５０で生成された外れ値スコアは、外れ値スコア履歴テーブル６０に格納される。
【００５２】
ここで、外れ値スコアとは、性能劣化が発生した確からしさを示すスコアでよい。外れ値スコアは、正常からどの程度乖離しているかの外れ度合いを示している。
【００５３】
性能分析プログラム１３は、外れ値スコア履歴テーブル６０に格納されたデータに基づいて、性能劣化傾向を分析する（Ｓ３）。例えば、性能分析プログラム１３は、一定期間の外れ値スコアを統計処理して、外れ値スコアの変化傾向（経時変化）を分析する。性能分析プログラム１３が傾向変化を検知したときは、その旨を管理者へ通知してもよい。
【００５４】
つぎに、上述のステップＳ１〜Ｓ３の詳細をそれぞれ説明する。
【００５５】
図９は、ステップＳ１の外れ値スコア算出器作成処理の詳細な処理手順を示す。
【００５６】
性能分析プログラム１３は、学習期間として、監視対象のシステムが正常なふるまいを示した期間の指定を受領する（Ｓ２１）。例えば、管理者が入力デバイスを用いて指定してもよい。この期間は、少なくとも対象としている原因事象が発生していない期間でよい。
【００５７】
性能分析プログラム１３は、性能劣化原因モデル３０から原因事象３１を一つ選択する（Ｓ２２）。
【００５８】
性能分析プログラム１３は、選択された原因事象３１に対応する性能劣化原因モデル３０を参照し、原因事象３１に関連する性能項目３２の種類を特定する。さらに、性能分析プログラム１３は、ステップＳ２１で指定された学習期間分の特定された性能項目４２の計測値４４を性能データテーブル４０から取得する（Ｓ２３）。
【００５９】
性能分析プログラム１３は、ステップＳ２３で取得した計測値４４に基づいて、機械学習により、外れ値スコア算出器５０を作成する（Ｓ２４）。外れ値スコア算出器５０の作成アルゴリズムは様々なものが採用可能である。例えば、その作成アルゴリズムは、回帰分析、クラスタリング、ニューラルネット等でもよいし、それらを組み合わせたものでもよい。
【００６０】
例えば、外れ値スコア算出器５０の作成アルゴリズムとして回帰分析が採用された場合について説明する。性能分析プログラム１３は、原因事象３１に関連する性能項目３２の一つを選択する（例えば、性能項目１とする）。次に、性能分析プログラム１３は、性能項目１と、他の性能項目３２（性能項目２）との関係性を示す回帰モデルを回帰分析により作成する。回帰分析に用いるアルゴリズムは、特に限定しない。単純な線形回帰分析でもよいし、Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅやニューラルネット、Ｒａｎｄｏｍ  Ｆｏｒｅｓｔのような集合学習でもよい。この外れ値スコア算出器５０では、性能項目２に対する性能項目１の予測値が得られる。従って、この外れ値スコア算出器５０によれば、性能項目１の予測値と実測値との乖離を外れ値スコアとしてもよい。
【００６１】
性能分析プログラム１３は、ステップＳ２４で作成した外れ値スコア算出器５０をストレージ４に保存する（Ｓ２５）。
【００６２】
複数の原因事象３１の外れ値スコア算出器５０を生成する場合、性能分析プログラム１３は、それぞれの原因事象３１について上記の処理を繰り返して実行してもよい。
【００６３】
図１０は、ステップＳ２の外れ値スコア算出処理の詳細な処理手順を示す。
【００６４】
ステップＳ２では、ステップＳ１で作成された外れ値スコア算出器５０を用いて、分析対象データの外れ値のスコアを算出する。ここで、外れ値スコアが大きいほど、対象とする原因事象が発生している確度が高いことを意味する。ステップＳ２は、性能分析プログラム１３によって定期的に実行されてもよい。性能分析プログラム１３は、前回の実行時の後に蓄積された新規データを対象にして外れ値スコアを算出してもよい。以下、各ステップについて説明する。
【００６５】
性能分析プログラム１３は、監視対象システムの複数ある原因事象３１の一つを選択する（Ｓ３０）。性能分析プログラム１３は、さらに、選択した原因事象３１に対応する、性能劣化原因モデル３０を取得する。
【００６６】
性能分析プログラム１３は、ステップＳ３０で選択された原因事象３１に対応する外れ値スコア算出器５０を選択する（Ｓ３１）。
【００６７】
性能分析プログラム１３は、対象の性能データを性能データテーブル４０から取得する（Ｓ３２）。ここで性能データテーブル４０から取得するデータは、例えば、ステップＳ３０で取得した性能劣化原因モデル３０の性能項目４２の、計測時刻４３が分析対象の期間内の計測値４４でよい。
【００６８】
性能分析プログラム１３は、ステップＳ３２で取得した性能データを、ステップＳ３１で取得した外れ値スコア算出器５０に入力する。外れ値スコア算出器５０は、入力されたデータに基づいて外れ値スコアを算出し、外れ値スコア履歴テーブル６０に保存する（Ｓ３３）。
【００６９】
例えば、上述の回帰分析を用いて作成された外れ値スコア算出器５０では、分析対象の性能項目２に対する性能項目１の予測値を算出して、性能項目１の実測値と算出された予測値との差を外れ値スコアとしてもよい。
【００７０】
図１１は、ステップＳ３の性能劣化傾向分析処理の詳細な処理手順を示す。
【００７１】
ステップＳ３では、ステップＳ２で算出された外れ値スコアの経時変化の傾向を分析し、性能劣化の兆候を検知する。以下、各ステップについて説明する。
【００７２】
性能分析プログラム１３は、外れ値スコア履歴テーブル６０に格納された外れ値スコア６４を読み出して統計処理する（Ｓ４０）。例えば、性能分析プログラム１３は、外れ値スコア６４を、システム６１別、原因事象ＩＤ６３別にグルーピングし、計測時刻６２に基づいて一定期間（例えば、１日や１週間）ごとに統計処理してもよい。統計処理は、例えば、平均値、標準偏差、分散、中央値、最大値、最小値、最頻値などを求める処理でよい。ここで算出された外れ値スコアの統計値は外れ値スコア集計テーブル７０に格納される。
【００７３】
性能分析プログラム１３は、ステップＳ４０で算出された外れ値スコアの統計値７４の経時変化量を計算する（Ｓ４１）。経時変化量は、例えば、一定期間ごとに算出された統計値の隣り合う期間同士の差分値でよい。
【００７４】
性能分析プログラム１３は、ステップＳ４１で求めた外れ値スコアの統計値の経時変化量に基づいて、傾向変化の有無を判定する（Ｓ４２）。傾向変化の有無の判定は、例えば、経時変化量が所定の閾値を超過しているか否かで行ってもよい。
【００７５】
傾向変化が認められないときは、ステップＳ４３をスキップして終了する。
【００７６】
傾向変化が認められたときは、性能分析プログラム１３は傾向変化が認められた原因事象およびその期間を、電子メールや画面表示等の手段で管理者へ通知する（Ｓ４３）。
【００７７】
これにより、原因事象の発生、または原因事象の兆候をいち早く検知できる。この通知を受けた管理者は、システムの性能が大幅に劣化する前に原因事象の解消または予防のためのアクションをとることができる。
【００７８】
傾向変化を検出する方法は、上記の方法以外にも多く研究されており、それらの方法を使用しても構わない。例えば、各期間の外れ値スコア統計値７４の更なる平均値及び標準偏差等を求め、これらの中の更なる外れ値を検出して傾向変化を検出してもよい。あるいは、機械学習技術を用いて外れ値スコア統計値７４の回帰モデルを作成し、回帰による予測値と実測値とのずれの大きさで傾向変化を検出してもよい。さらには、ＡＲＩＭＡモデル等に基づき外れ値スコア統計値７４を予測し、実測値との差の大きさが所定の閾値と比較して傾向変化の判定をしてもよい。
【００７９】
次に、バッチジョブが実行されているときの性能劣化傾向の分析について説明する。
【００８０】
バッチジョブは、システムのリソースを最大限使って、特定の処理を短期間で完了させることが目的となる。そのため、一般に、バッチジョブの種類によって処理の内容（ワークロード）が大きく異なる。そこで、バッチジョブに関連して、ステップＳ３の性能劣化傾向分析処理を次のようにしてもよい。
【００８１】
図１２は、ステップＳ３で行われるバッチジョブの性能劣化傾向分析処理の手順を示す。
【００８２】
性能分析プログラム１３は、バッチジョブの実行期間別に外れ値スコアを統計処理する（Ｓ５０）。例えば、性能分析プログラム１３は、ジョブスケジューラ１９から取得した情報に基づいて、一定の期間内（例えば、数日〜１ヶ月）について、ジョブ種類ごとにその実行期間（開始時刻から終了時刻まで）を特定する。性能分析プログラム１３は、外れ値スコア履歴テーブル６０を参照し、計測時刻６２がこのバッチジョブの実行期間内の外れ値スコア６４を統計処理する。性能分析プログラム１３は、上記の統計処理の結果をバッチ用外れ値スコア集計テーブル８０に格納する。
【００８３】
性能分析プログラム１３は、さらに、各バッチジョブの実行時間、すなわち実行期間８６の開始時刻から終了時刻までのバッチジョブの実行に要した所要時間を算出する（Ｓ５１）。
【００８４】
性能分析プログラム１３は、一定期間内のバッチジョブの実行時間の傾向変化をバッチジョブの種類ごとに分析し、実行時間が増加傾向にあるか否かを判定する（Ｓ５２）。バッチジョブの実行時間が増加傾向にある否かの判定方法は、例えば、バッチジョブの実行時間を時系列に並べ、その線形回帰式における時間項の係数が所定の閾値よりも大きいか否かで判定してもよい。
【００８５】
バッチジョブの実行時間が増加傾向でないときは、ステップＳ５３をスキップして終了するする。
【００８６】
バッチジョブの実行時間が増加傾向であるときは、性能分析プログラム１３は、その増加を引き起こしている原因事象を推定する（Ｓ５３）。例えば、性能分析プログラム１３は、バッチジョブ実行時間と外れ値スコア統計値８４とをマッチングして原因事象を推定してもよい。性能分析プログラム１３は、例えば、バッチ用外れ値スコア集計テーブル８０を参照して、原因事象ＩＤ８３ごとに、一定期間内のバッチジョブの実行時間と外れ値スコア統計値８４との相関係数を算出してもよい。そして、性能分析プログラム１３は、相関係数が最も高い原因事象ＩＤ８３を、バッチジョブの実行時間の増加の原因事象と推定してもよい。性能分析プログラム１３は、この原因事象を管理者へ通知してもよい。
【００８７】
これにより、バッチジョブを実行中の性能劣化の原因事象を推定できる。
【００８８】
以上、性能劣化原因モデル３０を用いた性能分析について説明した。
【００８９】
次に、本発明の第２の実施形態に係る性能分析システムについて説明する。なお、以下の第２の実施形態の説明では、第１の実施形態と共通する機能ないし構成については同一の符号を付して説明を省略する場合がある。
【００９０】
本実施形態に係る性能分析システムは、性能データに基づいてコンピュータシステムの評価指標の劣化原因を分析する。本実施形態では、管理者との最小限のやり取りで、性能劣化の原因を特定するノウハウを蓄積することができる。
【００９１】
本実施形態に係る性能分析システムのハードウェア構成は、第１の実施形態と同様である。
【００９２】
本実施形態における管理計算機１は、コンピュータシステムの評価指標であるＫＰＩ（Ｋｅｙ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｉｎｄｉｃａｔｏｒ）が劣化した時点における性能データで機械学習することにより、それぞれ異なる特徴を有する複数の性能データのパタンを生成する。そして、分析対象データが既知のパタンに合致すると、そのパタンを特徴付けるラベルを管理者へ通知する。これにより、分析対象データが検出された時間帯に発生した原因事象を推定できる。管理計算機１は、既知のパタンとは異なる特徴を有する未知の性能データのパタンを検出すると、その旨を管理者へ通知する。管理者は、そのパタンが示す特徴に基づいてそのパタンを特徴付けるラベルを付与してもよい。そのラベルは、例えば、性能劣化の原因の事象でよい。管理計算機１は、パタンとラベルとを関連づけて記録し、類似するパタンの増加等を監視する。
【００９３】
図１３Ａ及び図１３Ｂは、本発明の第２の実施形態に係る管理計算機１のメモリ３及びストレージ４が有するデータを示す。
【００９４】
図１３Ｂに示すように、本実施形態では、ストレージ４には性能監視プログラム１２及び性能分析プログラム２１３が格納されている。
【００９５】
性能分析プログラム２１３は、ＣＰＵ２に実行されて、性能データが有する特徴に基づいてグループ化してＫＰＩの劣化パタンを判定する性能劣化パタン分類器２５０を生成するグループ生成部と、性能劣化パタン分類器２５０を用いて分析対象の性能データとＫＰＩの劣化パタンとの類似度を判定する類似度判定部と、ＫＰＩが劣化しているときの性能項目別にその劣化への寄与度を示す情報を出力する出力部として動作する。
【００９６】
性能分析プログラム２１３は、ＫＰＩが劣化したときの性能データに基づいて、性能データの特徴別のグループに分類するための性能劣化パタン分類器２５０を作成する。性能分析プログラム２１３は、性能劣化パタン分類器２５０を用いて分析対象の性能データと性能劣化パタンとの類似度を判定する。さらに、性能分析プログラム２１３は、性能劣化パタン分類器２５０の判定結果を表示装置６に表させる。
【００９７】
図１３Ａに示すように、本実施形態では、メモリ３にはＫＰＩ性能モデル２３０、性能データテーブル４０、性能劣化パタン分類器２５０、パタンスコアテーブル２６０及び性能劣化パタンテーブル２７０が格納されている。
【００９８】
ＫＰＩ性能モデル２３０は、コンピュータシステムの評価指標であるＫＰＩ２３１とそのＫＰＩ２３１の劣化に寄与しうる複数の性能項目２３２とが関連付けられている。
【００９９】
図１４Ａは、ＫＰＩ性能モデル２３０の構成の一例を示す。ＫＰＩ性能モデル２３０では、一つのＫＰＩ２２３と、ＫＰＩ２２３に連動すると考えられる複数の性能項目２３２とが関連付けられてもよい。複数の性能項目２３２は階層関係があってもよい。なお、ＫＰＩ２２３は、ＫＰＩと対応する性能項目でもよく、ＫＰＩの性能は性能データとして性能監視プログラム１２により収集されてもよい。
【０１００】
図１４Ｂは、ＫＰＩ性能モデル２３０の具体例を示す。図１４Ｂは、「ストレージのＲｅａｄ応答時間」をＫＰＩ２２３としたとき、「プロセッサ使用率」（ストレージ内部のプロセッサ使用率）、「キャッシュヒット率」（同じくストレージ内部のキャッシュのヒット率）、及び「ＩＯＰＳ」という性能項目２３２a、２３２ｂ、２３２ｃが関連付けられている。
【０１０１】
性能劣化パタン分類器２５０は、分析対象の性能データと既存の性能劣化パタンとの類似度を示すパタンスコアを算出する。性能劣化パタン分類器２５０は、例えば、機械学習によって生成された学習済みモデルでよく、例えば、クラスタリングによって生成されたクラスタモデルでよい。
【０１０２】
パタンスコアテーブル２６０は、性能劣化パタン分類器２５０で算出されたパタンスコアを有する。
【０１０３】
図１５は、パタンスコアテーブル２６０の一例を示す。
【０１０４】
同図に示す通り、パタンスコアテーブル２６０は、データ項目として、システム２６１、ＫＰＩ２６２、計測時刻２６３、性能劣化パタン分類器２５０が分類したパタンのパタンＩＤ２６４、およびパタンスコア２６５を有する。パタンスコア２６５は、後述するパタンスコア算出処理で性能データテーブル４０の計測値４４に基づいて算出される。
【０１０５】
性能劣化パタンテーブル２７０は、性能劣化パタンに関する情報を有する。
【０１０６】
図１６は、性能劣化パタンテーブル２７０の一例を示す。
【０１０７】
同図に示す通り、性能劣化パタンテーブル２７０は、データ項目として、システム２７１、ＫＰＩ２７２、パタンＩＤ２７３、特徴性能項目２７４及びラベル２７５を有する。特徴性能項目２７４は、パタンＩＤ２７３で特定される性能劣化パタンで特徴的な値を示す性能項目である。特徴性能項目２７４は複数の性能項目を含んでよい。ラベル２７５はパタンの特徴を示す識別情報であり、例えば、パタンを生じさせた原因事象を示す文字列でよい。
【０１０８】
例えば、同図の例では、ストレージシステムのＫＰＩ「平均Ｒｅａｄ応答時間」について得られたパタンが、特徴性能項目２７４にある「ＩＯＰＳ」および「キャッシュヒット率」で規定されている。そして、このパタンには「Ｗｒｉｔｅ処理衝突」という文字列がラベル２７５として付与されている。ラベル２７５が付与されていないパタンには「Ｎｏ  Ｄａｔａ」が格納されている。
【０１０９】
図１７は、性能分析プログラム２１３が行う処理の流れの概略を示す。この図は、主要な処理ステップであるＳ４〜Ｓ７と、その入出力データとの関係を示している。以下、各ステップの動作を説明する。
【０１１０】
まず、性能分析プログラム２１３は、ＫＰＩ性能モデル２３０と性能データテーブル４０に格納された性能データとに基づいて性能劣化パタン分類器２５０を作成する（Ｓ４）。ここではＫＰＩが劣化しているときの性能データを用いて行う。特に、劣化の程度が軽微なときの性能データを用いてもよい。例えば、性能分析プログラム２１３は、機械学習技術により、性能データを複数にグルーピングして得られたグループで構成される性能劣化パタンを有する性能劣化パタン分類器２５０を作成してもよい。
【０１１１】
ここで未知パタンが出願したときは、ステップＳ６へ進んでもよい。
【０１１２】
次に、性能分析プログラム２１３は、ステップＳ４で生成された性能劣化パタン分類器２５０を用いて、分析対象の性能データのパタンスコアを算出する（Ｓ５）。例えば、性能分析プログラム２１３は、性能劣化パタン分類器２５０に従って、ＫＰＩ２３１別に、それぞれの性能劣化パタンのパタンスコアを計算する。性能劣化パタン分類器２５０で生成されたパタンスコアは、パタンスコアテーブル２６０に格納される。
【０１１３】
ここで、性能劣化パタン分類器２５０で算出されたパタンスコアにより、分析対象データがどの既存のパタンとも類似しないとき（例えば、パタンスコアが所定の閾値よりも大きい（または小さい）とき）、ステップＳ６へ進む。
【０１１４】
性能分析プログラム２１３は、後述するインタフェース画面（図２０、図２１参照）を表示装置６に表させる（Ｓ６）。この画面で管理者はその未知パタンが示す事象、つまり、ＫＰＩが劣化している原因事象等を示すラベルを付与することができる。
【０１１５】
性能分析プログラム２１３は、パタンスコアテーブル２６０に格納されたデータに基づいて、性能劣化傾向を分析する（Ｓ７）。例えば、性能分析プログラム２１３は、一定期間のパタンスコアを統計処理して、パタンの出現頻度、または、パタンスコアの変化傾向（経時変化）などを分析する。性能分析プログラム２１３が傾向変化を検知したときは、その旨を管理者へ通知してもよい。
【０１１６】
つぎに、上述のステップＳ４〜Ｓ７の詳細をそれぞれ説明する。
【０１１７】
図１８は、ステップＳ４の性能劣化パタン分類器作成処理の詳細な処理手順を示す。
【０１１８】
性能分析プログラム１３は、ＫＰＩと学習期間の指定を受領する（Ｓ５１）。これは、例えば、管理者が入力デバイスを用いて指定してもよい。学習期間は、少なくとも対象のＫＰＩが劣化している期間でよい。
【０１１９】
性能分析プログラム２１３は、ＫＰＩが劣化している期間を特定する（Ｓ５２）。例えば、性能分析プログラム２１３は、性能データテーブル４０から指定されたＫＰＩの性能データを取得し、指定された学習期間内のＫＰＩの値の分布のうち、所定の基準より悪い（劣化した）値を示す期間を、ＫＰＩの性能劣化期間としてもよい。所定の基準は、例えば、ＫＰＩの値の分布のうちのワースト５％の値でもよい。ＫＰＩの劣化期間は方法で特定しても構わない。例えば、平均値からの偏差が、所定の閾値を超過した期間としてもよい。
【０１２０】
性能分析プログラム２１３は、ＫＰＩ性能モデル２３０で指定されたＫＰＩ２３１と関連付けられている性能項目２３２を特定する。さらに、性能分析プログラム２１３は、学習期間内の特定された性能項目４２の計測値４４を性能データテーブル４０から取得する（Ｓ５３）。性能分析プログラム２１３は、ここで取得した性能データを、ステップＳ５２で指定されたＫＰＩの性能劣化期間のデータ群と、その他の期間のＫＰＩが正常であると判断された期間のデータ群とに分ける。
【０１２１】
性能分析プログラム２１３は、ステップＳ５３で取得した性能データの前処理を行う（Ｓ５４）。
【０１２２】
例えば、性能分析プログラム２１３は、性能データの計測値を性能項目ごとに正規化する。正規化には様々な方法があるが、例えば、性能項目ごとのデータ集合の平均値と標準偏差を求め、それぞれのデータから平均値を引き、標準偏差で除算する方法がある。
【０１２３】
また、性能分析プログラム２１３は、ＫＰＩと各関連性能データとの相関係数を算出してもよい。このとき、負相関であれば相関係数が０未満の負の値になる。本実施形態では、関連の強さは相関係数の絶対値で評価されるので、符号を無視する。つまり、負相関の場合は、相関係数に−１を乗算して符号を反転させる。例えば、ＫＰＩが「応答時間」で、関連性能項目が「キャッシュヒット率」の場合、一般に、「キャッシュヒット率」が低いほど「応答時間」が大きくなるため、両者は負相関の関係にある。この場合、「キャッシュヒット率」の計測値に−１を乗算し符号を反転させ、正相関の関係とする。
【０１２４】
さらに、性能分析プログラム２１３は性能データのスクリーニングを行っても良い。例えば、性能分析プログラム２１３は、正規化済みの性能データのうち所定の閾値未満である性能項目を除外し、所定の閾値以上である性能項目のみを以下の処理対象としてもよい。つまり、ＫＰＩの劣化への寄与が所定以上の性能項目を処理対象としてもよい。
【０１２５】
性能分析プログラム２１３は、ステップＳ５４で前処理された性能データに基づいて、機械学習により、性能劣化パタン分類器２５０を作成する（Ｓ５５）。性能劣化パタン分類器２５０の作成アルゴリズムは様々なものが採用可能である。例えば、その作成アルゴリズムは、回帰分析、クラスタリング、ニューラルネット等でもよいし、それらを組み合わせたものでもよい。クラスタリングのアルゴリズムは、どのようなものでも良く、例えば、K-means や X-means 等のアルゴリズムでよい。
【０１２６】
例えば、性能劣化パタン分類器２５０の作成アルゴリズムとしてクラスタ分析が採用された場合の例について説明する。性能分析プログラム２１３は、ＫＰＩ性能モデル２３０で定義されているＫＰＩ２３１ごとに、ＫＰＩ２３１と関連付けられているｎ個（ｎは一以上）の性能項目２３２の計測値４４をデータグループとしてクラスタリングする。例えば、性能分析プログラム２１３は、一つのＫＰＩ２３１に関連する複数の性能項目２３２の計測値４４をｎ次元ベクトルとして扱う。そして、性能分析プログラム２１３は、正常に分類されたデータ群から、正常範囲を示すｎ次元空間のクラスタを生成してもよい。正常範囲は単一のクラスタで表現されてもよいし、複数のクラスタの組み合わせで表現されてもよい。また、性能分析プログラム２１３は、ＫＰＩ性能劣化期間の性能データに基づいて、性能劣化時の計測値の範囲を示す複数のクラスタを生成しても良い。これらのクラスタは性能劣化の要因別に作成されてよい。各クラスタが類似の特徴を有する計測値で構成されるグループであり、性能劣化パタンである。計測値で構成される性能データのｎ次元ベクトルと各クラスタとの距離が、その性能データとクラスタとの類似度を示す。例えば、各ベクトルとクラスタとの距離または距離の逆数をパタンスコアとしてもよい。
【０１２７】
性能分析プログラム２１３は、性能劣化パタンテーブル２７０を参照し、ステップＳ５５で生成したそれぞれのパタンに対して「ラベル」を自動付与してもよい（Ｓ５６）。例えば、あるシステムである原因事象が起きると影響を受ける性能項目と、それにより悪化するＫＰＩとの組合わせが既知のとき、性能分析プログラム２１３はこれらの組を予め有していてもよい。そして、性能分析プログラム２１３は、生成されたクラスタのパタンと既知の組合わせと合致するものがあれば、その原因事象をラベル２７５に設定してもよい。生成されたクラスタのパタンと既知の組合わせと合致するものがなければ、性能分析プログラム２１３はラベル２７５に「Ｎｏ  Ｄａｔａ」を設定する。正常範囲のクラスタには「正常」ラベルが付与されてもよい。
【０１２８】
性能分析プログラム２１３は、性能劣化パタンテーブル２７０を参照し、ラベルのない（ラベル２７５が「Ｎｏ  Ｄａｔａ」である）未知パタンの有無を調べる（Ｓ５７）。
【０１２９】
未知パタンがないときは、そのまま終了する。
【０１３０】
未知パタンがあるときは、性能分析プログラム２１３は、未知パタンについての情報を表示装置６に表示し、管理者が未知パタンに手動でラベルを付与する（Ｓ５８）。管理者は、未知パタンに付与するラベルの文字列を入力デバイスを使って入力してもよい。性能分析プログラム２１３は、入力された文字列を、当該パタンのエントリのラベル２７５へ格納する。
【０１３１】
ＫＰＩごとに性能劣化パタン分類器２５０が作成される場合、性能分析プログラム２１３はＫＰＩごとに上記の処理を繰り返し実行してもよい。
【０１３２】
図１９は、ステップＳ５のパタンスコア算出処理の詳細な処理手順を示す。
【０１３３】
性能分析プログラム２１３が、新規に計測した性能データを２５０を用いてパタンに分類する。
【０１３４】
性能分析プログラム２１３は、性能データテーブル４０から分析対象の性能データを取得する（Ｓ６０）。
【０１３５】
性能分析プログラム２１３は、性能劣化パタン分類器２５０を用いてステップＳ６０で取得した性能データを既存パタンに分類し、パタンスコアを算出する（Ｓ６１）。性能分析プログラム１３は、この結果を、パタンスコアテーブル２６０へ格納する。
【０１３６】
例えば、性能分析プログラム２１３は、ステップＳ６０で取得した性能データにステップＳ５４と同じ前処理を施し、同一時刻のデータをまとめてｎ次元ベクトルとする。性能分析プログラム１３は、このｎ次元ベクトルを性能劣化パタン分類器２５０へ入力する。性能劣化パタン分類器２５０は、各ｎ次元ベクトルと既存パタンとの類似度に係るパタンスコアを算出する。
【０１３７】
性能分析プログラム２１３は、既存のどのパタンとも類似しないデータで構成される未知のパタンの有無を判定する（Ｓ６２）。例えば、性能分析プログラム２１３は、既存のクラスタのいずれとも異なる新たなクラスタが生成されたか否かを判定してもよい。
【０１３８】
未知のパタンがないときは、そのまま終了する。
【０１３９】
未知のパタンがあるときは、ステップＳ４におけるステップＳ５８と同様の処理により、管理者が手動でラベルを付与する（Ｓ６３）。
【０１４０】
以上により、性能分析プログラム１３は、新規の性能データが、どのパタンに該当するかを分類することができる。
【０１４１】
次に、ステップＳ５８およびステップＳ６３におけるラベルの手動付与について詳細に説明する。
【０１４２】
まず、表示装置６に表示されるＧＵＩの一例を図２０および図２１に示す。
【０１４３】
図２０は、表示装置６に表示される画面３００の一例を示す。画面３００は、性能分析プログラム２１３が管理者から未知パタンに関する情報を受領するための画面である。
【０１４４】
画面３００は、チャート表示領域３１０を有する。チャート表示領域３１０は、ＫＰＩを示す細線９３と、ＫＰＩに関連する性能データを示す棒グラフ９０a〜９０cと、性能データが示すパタンを示す矩形９１a〜９１bとを有する。
【０１４５】
細線９３は時刻ごとのＫＰＩを示す。
【０１４６】
棒グラフ９０a〜９０cは、ＫＰＩの劣化に寄与している複数の関連性能項目の性能データに基づいて、各関連性能項目のＫＰＩの劣化への寄与度を示す。同図の例では、棒グラフ９０a〜９０cは、各時刻の性能項目の値を積み上げた１次元のグラフである。積み上げる各性能データの値は、例えば、上述した前処理が施された値でよい。棒グラフにおける各性能項目の領域の長さが各関連性能項目のそれぞれの寄与度に対応する。このような表示にすることで、管理者は各性能劣化パターンを直感的に理解しやすい。
【０１４７】
矩形９１a〜９１ｂは、背景として棒グラフに重ねて表示されていて、各時刻におけるパタンを示している。矩形９１a〜９１ｂの領域が選択されると、選択された領域のパタンに対応するラベル９４が表示されるようにしてもよい。
【０１４８】
チャート表示領域３１０は、さらに、未知パタンを示す矩形９２を有する。管理者は、この未知パタンに対するラベルを付与する。例えば、未知パタンの矩形９２が選択されると、パタン情報入力ダイアログ９５が表示されるようにしてもよい。この場合、管理者は、棒グラフ９０の性能項目の組合せから考察した、この時点における発生事象の内容をラベル入力フォーム９６に入力することができる。フォームに入力された情報は、性能分析プログラム２１３が、性能劣化パタンテーブル２７０のラベル２７５へ格納する。
【０１４９】
図２１は、別の画面４００の例を示す。
【０１５０】
画面４００は、複数のチャート表示領域を有する。すなわち、画面４００は、外部性能データチャート領域４１０と、内部性能データチャート領域４２０とを有する。
【０１５１】
外部性能データチャート領域４１０には、外部からシステムに与えられるワークロード量にあたる性能データに関するチャートが表示される。内部性能データチャート領域４２０には、外部から与えられるワークロード量におけるシステム内部の性能データが表示される。このように外部性能データチャートと内部性能データチャートとを分けて表示することで、管理者による因果関係の理解を助け、未知パタンを考察しやすくする。
【０１５２】
ワークロード量に相当する性能データは、例えば、ストレージにおける秒間Ｉ／Ｏ量（ＩＯＰＳ）、データベースにおける秒間トランザクション数、秒間ＳＱＬ数などでよい。また、このように性能データの種類（ワークロード量か否か）を区別するために、図２および図１４の性能項目３２、２３２に、性能データの種類を示すデータ構造が付与されていてもよい。
【０１５３】
図２２は、図２０及び図２１の画面３００、４００に関して、性能分析プログラム２１３が行う処理のフローで、図１６のステップＳ５８および図１７のステップＳ６３の詳細な処理である。
【０１５４】
未知パタンが出現したとき、性能分析プログラム２１３は、未知パタンを含む一定の期間と未知パタンに対応するＫＰＩとを特定する（Ｓ７０）。
【０１５５】
性能分析プログラム２１３は、ＫＰＩ性能モデル２３０を参照して、特定されたＫＰＩ２３１と関連する性能項目２３２を特定する（Ｓ７１）。
【０１５６】
性能分析プログラム２１３は、性能劣化パタンテーブル２７０とパタンスコアテーブル２６０を参照し、ステップＳ７０で特定されたＫＰＩ及び期間に対応するパタンおよびパタンのラベル２７５を取得する（Ｓ７２）。
【０１５７】
性能分析プログラム２１３は、ステップＳ７１で特定された性能項目の各時刻における計測値４４を性能データテーブル４０から取得する（Ｓ７３）。
【０１５８】
性能分析プログラム２１３は、ステップＳ７３で取得した計測値に基づいてチャートを作成し、表示装置６に表示させる（Ｓ７４）。例えば、性能分析プログラム２１３は、ステップＳ５４と同じ前処理をした性能データに基づいてチャートを作成してもよい。
【０１５９】
性能分析プログラム２１３は、画面３００、４００に対して管理者が入力した、新規ラベルを受領し、性能劣化パタンテーブル２７０のラベル２７５へ格納する（Ｓ７５）。
【０１６０】
次に、図２３を用いて、ステップＳ７の詳細を述べる。
【０１６１】
ステップＳ７では、ステップＳ５で算出されたパタンスコアの経時変化の傾向を分析し、ＫＰＩ劣化の兆候を検知する。以下、各ステップについて説明する。
【０１６２】
性能分析プログラム２１３は、パタンスコアテーブル２６０に格納されたパタンスコア２６５を統計処理してパタンスコア統計値を算出する（Ｓ８０）。例えば、パタンスコア２６５がパタンのクラスタからの距離であるときは、パタンスコア２６５が小さいほどパタンに類似し、大きいほど非類似である。そこで、性能分析プログラム２１３はパタンＩＤ２６４別にパタンスコア２６５の値が所定値よりも大きい行数をカウントし、これを統計値としてもよい。
【０１６３】
性能分析プログラム２１３は、ステップＳ８０で算出されたパタンスコア統計値の経時変化量を計算する（Ｓ８１）。経時変化量は、例えば、一定期間ごとに算出された統計値の隣り合う期間同士の差分値でよい。
【０１６４】
性能分析プログラム２１３は、ステップＳ８１で求めたパタンスコアの統計値の経時変化量に基づいて、傾向変化の有無を判定する（Ｓ８２）。傾向変化の有無の判定は、例えば、経時変化量が所定の閾値を超過しているか否かで行ってもよい。
【０１６５】
傾向変化が認められないときは、ステップＳ８３をスキップして終了する。
【０１６６】
傾向変化が認められたときは、性能分析プログラム２１３は傾向変化が見られたＫＰＩおよびその期間を、電子メールや画面表示等の手段で管理者へ通知してもよい（Ｓ８３）。
【０１６７】
これにより、ＫＰＩの劣化、または劣化の兆候をいち早く検知できる。この通知を受けた管理者は、システムの性能が大幅に劣化する前に原因事象の解消または予防のためのアクションをとることができる。
【符号の説明】
【０１６８】
１  管理計算機、１２  性能監視プログラム、１３  性能分析プログラム、３０  性能劣化原因モデル、４０  性能データテーブル、５０  外れ値スコア算出器、６０  外れ値スコア履歴テーブル、７０  外れ値スコア集計テーブル、８０  バッチ用外れ値スコア集計テーブル、９０  ジョブ実行履歴、２１３  性能分析プログラム、２３０  ＫＰＩ性能モデル、２５０  性能劣化パタン分類器、２６０  パタンスコアテーブル、２７０  性能劣化パタンテーブル
【図１Ａ】
0006689995.tif 000002
【図１Ｂ】
0006689995.tif 000003
【図１Ｃ】
0006689995.tif 000004
【図２Ａ】
0006689995.tif 000005
【図２Ｂ】
0006689995.tif 000006
【図２Ｃ】
0006689995.tif 000007
【図３】
0006689995.tif 000008
【図４】
0006689995.tif 000009
【図５】
0006689995.tif 000010
【図６】
0006689995.tif 000011
【図７】
0006689995.tif 000012
【図８】
0006689995.tif 000013
【図９】
0006689995.tif 000014
【図１０】
0006689995.tif 000015
【図１１】
0006689995.tif 000016
【図１２】
0006689995.tif 000017
【図１３Ａ】
0006689995.tif 000018
【図１３Ｂ】
0006689995.tif 000019
【図１４Ａ】
0006689995.tif 000020
【図１４Ｂ】
0006689995.tif 000021
【図１５】
0006689995.tif 000022
【図１６】
0006689995.tif 000023
【図１７】
0006689995.tif 000024
【図１８】
0006689995.tif 000025
【図１９】
0006689995.tif 000026
【図２０】
0006689995.tif 000027
【図２１】
0006689995.tif 000028
【図２２】
0006689995.tif 000029
【図２３】
0006689995.tif 000030