(57)【要約】      （修正有）【課題】ソフトウェアの性能が劣化した要因の推定精度の向上を図る性能劣化要因推定プログラム、および性能劣化要因推定装置を提供する。【解決手段】性能劣化要因推定装置１０１は、正常時間区間ｎｔに含まれる各小時間区間ｓｔ１〜ｓｔ４のアクセス密度を算出する。次に、性能劣化要因推定装置１０１は、各小時間区間のアクセス密度に基づき、正常時間区間ｎｔに含まれる各中時間区間ｍｔ１に対応するアクセス密度の変動係数を算出する。同様に、性能劣化要因推定装置１０１は、分析時間区間ａｔに含まれる各小時間区間ｓｔ５〜ｓｔ８のアクセス密度を算出し、分析時間区間ａｔに含まれる各中時間区間ｍｔ２に対応するアクセス密度の変動係数を算出する。そして、性能劣化要因推定装置１０１は、正常時間区間ｎｔおよび分析時間区間ａｔに含まれる中時間区間ｍｔ１、ｍｔ２のアクセス密度の変動係数の分布の適合度検定を行う。【選択図】図１
2017156888.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する記憶部を参照して、第１の期間を第１の期間長で分割した各期間に対応して、前記各期間に含まれるアクセスのアクセス種別の出現回数分、前記第１の期間における前記複数のアクセス種別の各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第１の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第１の期間を前記第１の期間長より長い第２の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記記憶部を参照して、前記第１の期間とは異なり、アクセスの応答時間が増加したと特定された第２の期間を第３の期間長で分割した各期間に対応して、当該各期間に含まれるアクセスのアクセス種別の出現回数分、前記第２の期間における前記各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第３の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第２の期間を前記第３の期間長より長い第４の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果に基づいて、前記第２の期間の応答時間の増加の要因を特定する、
処理を実行させることを特徴とする性能劣化要因推定プログラム。
【請求項２】
前記コンピュータに、
算出した前記第１の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第１の期間を前記第２の期間で分割した各期間に対応するアクセス密度の平均を算出し、
算出した前記第３の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第２の期間を前記第４の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果に基づいて、前記第２の期間の応答時間の増加の要因を特定する、
処理を実行させることを特徴とする請求項１に記載の性能劣化要因推定プログラム。
【請求項３】
前記特定する処理は、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果によって当該分布が同一であることが示され、かつ、前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果によって当該分布が同一であることが示される場合、前記要因が資源競合であると特定する、
ことを特徴とする請求項２に記載の性能劣化要因推定プログラム。
【請求項４】
前記特定する処理は、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果によって当該分布が異なることが示された場合、または、前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果によって当該分布が異なることが示される場合、前記要因がアクセス負荷の増加であると特定する、
ことを特徴とする請求項２または３に記載の性能劣化要因推定プログラム。
【請求項５】
前記特定する処理は、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果によって当該分布が異なることが示される場合、アクセス負荷のバースト的な増加であると特定する、
ことを特徴とする請求項４に記載の性能劣化要因推定プログラム。
【請求項６】
前記特定する処理は、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果によって当該分布が異なることが示される場合、アクセス負荷の平均的な増加であると特定する、
ことを特徴とする請求項４または５に記載の性能劣化要因推定プログラム。
【請求項７】
前記コンピュータに、
アクセスの応答時間が所定の閾値を超えた時刻に基づいて、前記第２の期間を特定する、
処理を実行させることを特徴とする請求項１〜６のいずれか一つに記載の性能劣化要因推定プログラム。
【請求項８】
前記コンピュータに、
前記各アクセスのアクセス先となるソフトウェアのユーザからのクレームが発生した時刻に基づいて、前記第２の期間を特定する、
処理を実行させることを特徴とする請求項１〜７のいずれか一つに記載の性能劣化要因推定プログラム。
【請求項９】
複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する記憶部を参照して、第１の期間を第１の期間長で分割した各期間に対応して、前記各期間に含まれるアクセスのアクセス種別の出現回数分、前記第１の期間における前記複数のアクセス種別の各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第１の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第１の期間を前記第１の期間長より長い第２の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記記憶部を参照して、前記第１の期間とは異なり、アクセスの応答時間が増加したと特定された第２の期間を第３の期間長で分割した各期間に対応して、当該各期間に含まれるアクセスのアクセス種別の出現回数分、前記第２の期間における前記各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第３の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第２の期間を前記第３の期間長より長い第４の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果に基づいて、前記第２の期間の応答時間の増加の要因を特定する、
制御部を有することを特徴とする性能劣化要因推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、性能劣化要因推定プログラム、および性能劣化要因推定装置に関する。
【背景技術】
【０００２】
従来、提供されるクラウド環境で稼動するアプリケーションソフトウェアがある。また、ユーザによるアプリケーションソフトウェアへのアクセスの応答時間が長くなり性能が劣化した場合に、アクセス頻度と応答時間とに基づいて、性能が劣化した要因が、アプリケーションソフトウェア側またはクラウド環境側にあるのかを推定する技術がある。
【０００３】
関連する先行技術として、例えば、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）サイトのアクセス変動の時系列データから統計的にアクセス変動を予測したデータとサイトの性能監視データから、サイトの構成要素を抽象化したモデルを基に、定められた性能が維持できるか否かを判断する技術がある。また、処理要求の入力頻度の推移、応答の出力頻度の推移に応じて一時高、一定高、一定低のいずれかに入力、出力タイプをそれぞれ決定し、入力、出力タイプの組み合わせに応じて、応答時間が閾値を超えている処理の発生要因を判定する技術がある。また、記録したＷＷＷサーバに対するアクセスパターンに基づきアクセス頻度を増加させながら負荷を再生して性能値を測定し、予め決められたＷＷＷサーバの要求性能を超える時のアクセス頻度を、限界性能値として提示する技術がある。また、負荷生成装置が送信したリクエストの単位時間あたりのリクエスト率から作成した度数分布データと、リクエスト率の分布が所望の確率分布に従うと仮定した場合の期待度数分布データを用いて、その確率分布との適合度検定を行う技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２６８９２２号公報
【特許文献２】特開２０１３−１９１１４５号公報
【特許文献３】特開２００４−３１８４５４号公報
【特許文献４】国際公開第２０１３／１４５６２９号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術によれば、ソフトウェアの性能が劣化した要因の推定を誤る場合がある。例えば、ある期間の一部においてソフトウェアに対してバースト的なアクセスが発生しても、他の部分においてアクセス数が少なければアクセス頻度は低くなるため、性能劣化の要因が、クラウド環境側にあるという誤った推定となる。
【０００６】
１つの側面では、本発明は、ソフトウェアの性能が劣化した要因の推定精度の向上を図る性能劣化要因推定プログラム、および性能劣化要因推定装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する記憶部を参照して、第１の期間を第１の期間長で分割した各期間に対応して、各期間に含まれるアクセスのアクセス種別の出現回数分、第１の期間における複数のアクセス種別の各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、算出した第１の期間長で分割した各期間に対応するアクセス密度に基づいて、第１の期間を第１の期間長より長い第２の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、記憶部を参照して、第１の期間とは異なり、アクセスの応答時間が増加したと特定された第２の期間を第３の期間長で分割した各期間に対応して、当該各期間に含まれるアクセスのアクセス種別の出現回数分、第２の期間における各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、算出した第３の期間長で分割した各期間に対応するアクセス密度に基づいて、第２の期間を第３の期間長より長い第４の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、第２の期間長および第４の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果に基づいて、第２の期間の応答時間の増加の要因を特定する性能劣化要因推定プログラム、および性能劣化要因推定装置が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、ソフトウェアの性能が劣化した要因の推定精度の向上を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施の形態にかかる性能劣化要因推定装置１０１の動作例を示す説明図である。
【図２】図２は、性能劣化要因推定装置１０１のハードウェア構成例を示す説明図である。
【図３】図３は、応答時間悪化の要因の誤判定が発生する第１の例を示す説明図である。
【図４】図４は、応答時間悪化の要因の誤判定が発生する第２の例を示す説明図である。
【図５】図５は、応答時間悪化の要因の誤判定が発生する第３の例を示す説明図である。
【図６】図６は、性能劣化要因推定装置１０１の機能構成例を示す説明図である。
【図７】図７は、要求処理時間の算出方法の一例を示す説明図である。
【図８】図８は、アクセス密度の算出方法の一例を示す説明図である。
【図９】図９は、アクセス密度の算出方法の補正例を示す説明図である。
【図１０】図１０は、アクセス密度平均とアクセス密度変動係数との算出例を示す説明図である。
【図１１】図１１は、適合度検定による性能劣化要因推定の一例を示す説明図（その１）である。
【図１２】図１２は、適合度検定による性能劣化要因推定の一例を示す説明図（その２）である。
【図１３】図１３は、分析時間区間ａｔの第１の特定例を示す説明図である。
【図１４】図１４は、分析時間区間ａｔの第２の特定例を示す説明図である。
【図１５】図１５は、性能劣化要因推定結果の出力例を示す説明図である。
【図１６】図１６は、性能劣化要因推定処理手順の一例を示すフローチャート（その１）である。
【図１７】図１７は、性能劣化要因推定処理手順の一例を示すフローチャート（その２）である。
【図１８】図１８は、性能劣化要因推定処理手順の一例を示すフローチャート（その３）である。
【図１９】図１９は、本実施の形態における性能劣化要因推定処理における効果の一例を示す説明図（その１）である。
【図２０】図２０は、本実施の形態における性能劣化要因推定処理における効果の一例を示す説明図（その２）である。
【図２１】図２１は、本実施の形態における性能劣化要因推定処理における効果の一例を示す説明図（その３）である。
【図２２】図２２は、実施例におけるシステム２２００の構成例を示す説明図である。
【図２３】図２３は、応答ログデータ６１１の記憶内容の一例を示す説明図である。
【図２４】図２４は、要求処理時間の算出例を示す説明図である。
【図２５】図２５は、アクセス密度の算出例を示す説明図である。
【図２６】図２６は、アクセス密度の平均と変動係数との算出例を示す説明図（その１）である。
【図２７】図２７は、アクセス密度の平均と変動係数との算出例を示す説明図（その２）である。
【図２８】図２８は、適合度検定による要因切り分けの一例を示す説明図である。
【図２９】図２９は、適合度検定の一例を示す説明図である。
【図３０】図３０は、適合度検定の他の例を示す説明図である。
【図３１】図３１は、実施例における性能劣化要因推定結果の出力例を示す説明図である。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、開示の性能劣化要因推定プログラム、および性能劣化要因推定装置の実施の形態を詳細に説明する。
【００１１】
図１は、本実施の形態にかかる性能劣化要因推定装置１０１の動作例を示す説明図である。性能劣化要因推定装置１０１は、例えば、サーバである。具体的には、性能劣化要因推定装置１０１は、クラウド環境で稼動するアプリケーションソフトウェアの性能が劣化した要因を特定するコンピュータである。以下、アプリケーションソフトウェアを、「アプリ」と称する。クラウド環境で稼動するアプリとしては、例えば、Ｗｅｂサービスを提供するＷｅｂアプリがある。
【００１２】
ここで、クラウド環境で稼動するＷｅｂアプリについて説明する。クラウド環境で稼動するＷｅｂアプリは、クラウドサービスにより提供された仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）やコンテナ上で稼動する。ここで、コンテナとは、いくつかのアプリをグループ化し、他のグループやグループに属していないアプリからは隔離された空間である。
【００１３】
Ｗｅｂアプリは、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）のリクエストを受け付けると、自身に定義された処理を行い、処理の結果をレスポンスとして返す。リクエストを受け付けた時刻からレスポンスを返すまでの時刻である応答時間は、Ｗｅｂアプリの代表的な性能指標値となる。例えば、Ｗｅｂアプリに対するアクセス負荷が増加した場合、応答時間の増加につながりうる。以下の記載では、応答時間が増加することを、「応答時間の悪化」と呼称する。
【００１４】
また、ＶＭは、ＶＭを動作させるクラウドを形成する物理サーバやネットワークにおける資源競合の影響により、処理能力が低下する場合がある。この場合、ＶＭ上で稼働するＷｅｂアプリの応答時間の悪化につながりうる。
【００１５】
このように、Ｗｅｂアプリの応答時間の悪化の要因が複数ある。また、それぞれの要因に応じた対処を行う管理者が別々の場合がある。具体的には、クラウドを管理する管理者と、Ｗｅｂアプリを管理する管理者とが別人となることがある。従って、Ｗｅｂアプリの応答時間が悪化した際に、要因を適切に切り分けることが求められる。要因を適切に切り分けられず、適切でない管理者に通知してしまうと、適切な対処が行えないため、応答時間の悪化が解消するまでに時間がかかってしまう場合がある。
【００１６】
応答時間の悪化の要因を推定する技術としては、例えば、アクセス頻度と応答時間とに基づいて、応答時間が悪化した要因が、アプリケーションソフトウェア側にあるのか、クラウド環境側にあるのかを推定する技術がある。アプリケーションソフトウェア側の要因としては、Ｗｅｂアプリに対するアクセス負荷の増加である。クラウド環境側の要因とは、クラウドを形成する物理サーバやネットワークにおける資源競合である。以下、２つの要因を、それぞれ、「アクセス負荷の増加」、「資源競合」と呼称する。
【００１７】
しかしながら、アクセス頻度と応答時間とに基づいて要因を推定する技術では、要因の推定を誤る場合がある。例えば、ある期間の一部においてソフトウェアに対してバースト的なアクセスが発生しても、他の部分においてアクセス数が少なければアクセス頻度は低くなるため、性能劣化の要因が、資源競合であるという誤った推定となる。また、アクセスごとに処理要求量が異なる場合にも、要因の推定を誤る場合がある。また、ＶＭ、コンテナのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）使用率等の性能情報を観察することにより、Ｗｅｂアプリへの負荷の増加を判断することも考えられるが、ＣＰＵ使用率が取得できない場合にも、要因の推定を誤る場合がある。要因の推定を誤るケースについては、図３〜図５で説明する。
【００１８】
そこで、本実施の形態では、アクセス種別ごとの最小応答時間に基づくアクセス密度の変動係数の分布が正常時間区間と分析時間区間とで一致するか否かに応じて、応答時間の悪化要因を推定する方法について説明する。ここで、変動係数とは、標準偏差を平均で割った値である。変動係数は、分布のばらつきの程度を表す値である。また、本実施の形態では、アクセス種別ごとの最小応答時間に基づくアクセス密度の平均の分布が正常時間区間と分析時間区間とで一致するか否かに応じて、応答時間悪化要因を推定してもよい。こちらについても併せて図１で説明する。
【００１９】
ここで、アクセス種別は、Ｗｅｂアプリへのリクエストである要求処理と、要求処理の処理結果となる応答結果との組み合わせである。例えば、要求処理として、異なるＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）へのアクセスは、異なるアクセス種別となる。また、同一のＵＲＬへのアクセスであるとしても、応答結果が異なる場合、異なるアクセス種別となる。
【００２０】
また、アクセス密度とは、アクセス種別ごとの出現回数分、アクセス種別に対応する最小の応答時間を累積した値を合計した値である。アクセス種別に対応する最小の応答時間は、アクセス種別ごとの、バーストによる遅延や、資源競合による遅延を含まない基準となる処理時間と近似できる。以下、最小の応答時間を、「要求処理時間」と呼称する場合がある。
【００２１】
図１に示す性能劣化要因推定装置１０１は、複数のアクセス種別のいずれかとなるＷｅｂアプリへの各アクセスの応答時間を記憶する。図１で示すグラフ１０２は、性能劣化要因推定装置１０１が記憶する各アクセスの応答時間のうちの、ある１つのアクセス種別におけるアクセスに対する応答時間を示す。グラフ１０２の横軸は、アクセスのリクエスト時刻を示す。グラフ１０２の縦軸は、アクセスの応答時間を示す。
【００２２】
図１の（１）で示すように、性能劣化要因推定装置１０１は、第１の期間となる正常時間区間ｎｔを、第１の期間長で分割した各期間となる各小時間区間ｓｔに対応するアクセス密度を算出する。図１の例では、性能劣化要因推定装置１０１は、例えば、正常時間区間ｎｔに含まれる小時間区間ｓｔ１〜４それぞれのアクセス密度を算出する。また、小時間区間ｓｔに対応するアクセスは、アクセスのリクエストの時刻が小時間区間ｓｔに含まれているものである。または、小時間区間ｓｔに対応するアクセスは、アクセスのレスポンスの時刻が小時間区間ｓｔに含まれているものとしてもよい。
【００２３】
次に、図１の（２）で示すように、性能劣化要因推定装置１０１は、各小時間区間ｓｔのアクセス密度に基づき、正常時間区間ｎｔを第１の期間長より長い第２の期間長で分割した各期間となる各中時間区間ｍｔに対応するアクセス密度の変動係数を算出する。また、性能劣化要因推定装置１０１は、小時間区間ｓｔに対応するアクセス密度に基づいて、正常時間区間ｎｔに含まれる中時間区間ｍｔに対応するアクセス密度の平均を算出する。図１の例では、中時間区間ｍｔ１には、小時間区間ｓｔ１〜４が含まれる。従って、性能劣化要因推定装置１０１は、小時間区間ｓｔ１〜４に対応するアクセス密度から、中時間区間ｍｔ１の平均と変動係数とを算出する。
【００２４】
また、図１の（３）で示すように、性能劣化要因推定装置１０１は、応答時間が悪化したと特定された第２の期間となる分析時間区間ａｔを、第３の期間長で分割した各期間となる各小時間区間ｓｔに対応するアクセス密度を算出する。ここで、第３の期間長は、第１の期間長と同一であることが好ましい。例えば、第１、第３の期間長は、例えば、１秒間である。また、分析時間区間ａｔの特定例については、図１３、図１４で説明する。図１の例では、性能劣化要因推定装置１０１は、例えば、分析時間区間ａｔに含まれる小時間区間ｓｔ５〜８それぞれのアクセス密度を算出する。
【００２５】
次に、図１の（４）で示すように、性能劣化要因推定装置１０１は、各小時間区間ｓｔのアクセス密度に基づき、分析時間区間ａｔを第３の期間長より長い第４の期間長で分割した各期間となる各中時間区間ｍｔに対応するアクセス密度の変動係数を算出する。ここで、第４の期間長は、第２の期間長と同一であることが好ましい。例えば、第２、第４の期間長は、例えば、１０秒間である。また、性能劣化要因推定装置１０１は、各小時間区間ｓｔに対応するアクセス密度に基づいて、分析時間区間ａｔに含まれる各中時間区間ｍｔに対応するアクセス密度の平均を算出する。図１の例では、中時間区間ｍｔ２には、小時間区間ｓｔ５〜８が含まれる。従って、性能劣化要因推定装置１０１は、小時間区間ｓｔ５〜８に対応するアクセス密度から、中時間区間ｍｔ２の平均と変動係数とを算出する。
【００２６】
そして、図１の（５）で示すように、性能劣化要因推定装置１０１は、正常時間区間ｎｔに含まれる各中時間区間と分析時間区間ａｔに含まれる各中時間区間の間で、アクセス密度の変動係数の分布の適合度検定を行う。また、性能劣化要因推定装置１０１は、正常時間区間ｎｔに含まれる各中時間区間と分析時間区間ａｔに含まれる各中時間区間の間で、アクセス密度の平均の分布の適合度検定を行ってもよい。適合度検定としては、コルモゴロフ・スミルノフ（Ｋ−Ｓ：Ｋｏｌｍｏｇｏｒｏｖ−Ｓｍｉｒｎｏｖ）検定が好ましい。適合度検定により、２つの分布が一致したか否かという検定結果が得られる。
【００２７】
次に、図１の（６）で示すように、性能劣化要因推定装置１０１は、検定結果に基づいて、分析時間区間ａｔの応答時間が悪化した要因を特定する。図１では、アクセス密度の変動係数と平均との関係をグラフ１０３として示す。グラフ１０３の横軸は、アクセス密度の平均を示す。グラフ１０３の縦軸は、アクセス密度の変動係数を示す。また、黒で塗りつぶした点が、正常時間区間ｎｔのデータであり、網掛けを付与した点が、分析時間区間ａｔにバースト的なアクセスが発生した場合のデータであり、白抜きの点が、分析時間区間ａｔに異なる処理要求量のアクセスが含まれる場合のデータである。
【００２８】
グラフ１０３が示すように、バースト的なアクセスが含まれる場合、アクセス密度の変動係数が増加するようになり、検定結果は、正常時間区間ｎｔと分析時間区間ａｔの間で、アクセス密度の変動係数の分布が一致しないことを示す。このような検定結果である場合、性能劣化要因推定装置１０１は、応答時間が悪化した要因が、アクセス負荷の増加であると特定する。より具体的には、性能劣化要因推定装置１０１は、応答時間が悪化した要因が、アクセス負荷のバースト的な増加であると特定してもよい。
【００２９】
また、グラフ１０３が示すように、異なる処理要求量のアクセスが含まれる場合、アクセス密度の平均が増加するようになり、検定結果は、正常時間区間ｎｔと分析時間区間ａｔの間で、アクセス密度の平均の分布が一致しないことを示す。このような検定結果である場合、性能劣化要因推定装置１０１は、応答時間が悪化した要因が、アクセス負荷の増加であると特定する。より具体的には、性能劣化要因推定装置１０１は、応答時間が悪化した要因が、アクセス負荷の平均的な増加であると特定してもよい。
【００３０】
このように、性能劣化要因推定装置１０１は、アクセス密度の変動係数の分布の適合度検定の検定結果から応答時間が悪化した要因を特定することにより、バースト的なアクセスがアクセス密度の変動係数に反映されるため、推定精度を向上させることができる。また、性能劣化要因推定装置１０１は、アクセス密度の平均の分布の適合度検定の検定結果から応答時間が悪化した要因を特定することにより、要求処理量の増加がアクセス密度の平均に反映されるため、推定精度を向上させることができる。
【００３１】
なお、図１の説明では、Ｗｅｂサービスを提供するＷｅｂアプリを本実施の形態の対象としたが、クラウドサービス上で動作し、外部からアクセスを受け付け、応答を返すソフトウェアであれば、どのようなものでもよい。また、本実施の形態の対象となるＷｅｂアプリは、１つでもよいし、複数でもよい。次に、性能劣化要因推定装置１０１のハードウェア構成について、図２を用いて説明する。
【００３２】
図２は、性能劣化要因推定装置１０１のハードウェア構成例を示す説明図である。図２において、性能劣化要因推定装置１０１は、ＣＰＵ２０１と、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、を含む。また、性能劣化要因推定装置１０１は、ディスクドライブ２０４およびディスク２０５と、通信インターフェース２０６と、を含む。また、ＣＰＵ２０１〜ディスクドライブ２０４、通信インターフェース２０６はバス２０７によってそれぞれ接続される。
【００３３】
ＣＰＵ２０１は、性能劣化要因推定装置１０１の全体の制御を司る演算処理装置である。ＣＰＵ２０１は、複数のプロセッサコアを有してもよい。
【００３４】
ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される揮発性メモリである。
【００３５】
ディスクドライブ２０４は、ＣＰＵ２０１の制御に従ってディスク２０５に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ２０４には、例えば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク２０５は、ディスクドライブ２０４の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ２０４が磁気ディスクドライブである場合、ディスク２０５には、磁気ディスクを採用することができる。また、ディスクドライブ２０４が光ディスクドライブである場合、ディスク２０５には、光ディスクを採用することができる。また、ディスクドライブ２０４がソリッドステートドライブである場合、ディスク２０５には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
【００３６】
通信インターフェース２０６は、ネットワーク等と内部のインターフェースを司り、他の装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース２０６は、通信回線を通じてネットワーク等を介して他の装置に接続される。通信インターフェース２０６には、例えば、モデムやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタなどを採用することができる。
【００３７】
また、性能劣化要因推定装置１０１の管理者が、性能劣化要因推定装置１０１を直接操作する場合、性能劣化要因推定装置１０１は、ディスプレイ、キーボード、マウスといったハードウェアを有してもよい。
【００３８】
次に、応答時間悪化の要因の誤判定が発生する３つの例について、図３〜図５を用いて説明する。
【００３９】
図３は、応答時間悪化の要因の誤判定が発生する第１の例を示す説明図である。第１の例は、バースト的なアクセスによる応答悪化があった場合である。図３の上部には、バースト的なアクセスが発生しない一様なアクセス傾向を示すグラフ３０１を示す。また、図３の下部には、バースト的なアクセスが発生したアクセス傾向を示すグラフ３０２を示す。このように、グラフ３０１とグラフ３０２とで示す２つのアクセス傾向は、平均アクセス頻度については同じとなるが、グラフ３０２で示すアクセス傾向の方が、平均応答時間は悪化する。
【００４０】
具体的には、図３で示す楕円３０３内で示した短期間において、バースト的なアクセスが発生しており、この短期間で資源競合が発生する。図３の例では、平均アクセス頻度を用いて判定する場合、平均アクセス頻度が同一であるため、Ｗｅｂアプリへのアクセス負荷の増加であると判定することができない。
【００４１】
図４は、応答時間悪化の要因の誤判定が発生する第２の例を示す説明図である。第２の例は、アクセス種別の違いによる応答悪化があった場合である。図４では、アクセス群４０１、４０２について説明する。一連のアクセス群４０１、４０２は、共にアクセスは３つであるため、平均アクセス頻度は同一となる。しかし、アクセス群４０１の各アクセスは、ＵＲＬが異なるので要求処理が異なることになり、異なるアクセス種別である。従って、アクセス群４０１、４０２は、平均アクセス頻度は同一であっても、図４に示すＷｅｂアプリ４１０に対する負荷は異なるものとなる。以下、一連のアクセス群と、次の一連のアクセス群とに含まれるＵＲＬが異なることを、「ＵＲＬ分布の変更」と呼称する。アクセス群４０１、４０２は、ＵＲＬ分布が異なるものとなる。
【００４２】
ここで、アクセス群４０１についてより詳細に説明する。アクセス群４０１に含まれるアクセス４１１、４１２とは、ＵＲＬが異なるので要求処理が異なることになり、異なるアクセス種別である。そして、異なるアクセス種別のアクセスの応答時間は、異なるものとなる。具体的には、図４の例では、Ｗｅｂアプリ４１０は、アクセス４１１を受け付けた場合にはｉｄ＝１の処理を行うのに対し、アクセス４１２を受け付けた場合にはｉｄ＝２の処理を行うため、処理が異なるので異なる応答時間となる。図４の例で示すＵＲＬ分布の変更があると、平均アクセス頻度を用いて判定する場合、平均アクセス頻度が同一であるため、Ｗｅｂアプリへのアクセス負荷の増加であると判定することができない。
【００４３】
図５は、応答時間悪化の要因の誤判定が発生する第３の例を示す説明図である。第３の例は、受け付けたアクセスに応じて、他サーバへの外部アクセスが発生する場合である。この場合、アクセスを受け付けたサーバは、他サーバのＣＰＵ使用率といった性能情報を取得することができない。従って、アクセスを受け付けたサーバは、他サーバからの応答時間を観察して、他サーバの負荷状況を推定することしかできず、誤判定が発生し得る。
【００４４】
例えば、図５の例では、データセンタ１内のコンピュータ上でＶＭ１が動作しており、ＶＭ１上でＷｅｂアプリ５０１が動作している。また、データセンタ２内のコンピュータ上でＶＭ２が動作しており、ＶＭ２上でＤＢ（ＤａｔａＢａｓｅ）サーバ５０２が動作している。図５の場合、Ｗｅｂアプリ５０１におけるアクセスの応答時間が悪化したとしても、ＶＭ２を動作させているコンピュータのＣＰＵ使用率といった性能情報を取得することができないため、ＶＭ２からの応答時間を観察して、負荷状況を推定するしかない。
【００４５】
図３〜図５のような応答時間悪化の要因の誤判定が発生する例について、誤判定を抑制する機能構成例を、図６を用いて説明する。
【００４６】
（性能劣化要因推定装置１０１の機能構成例）
図６は、性能劣化要因推定装置１０１の機能構成例を示す説明図である。性能劣化要因推定装置１０１は、制御部６００を有する。制御部６００は、第１アクセス算出部６０１と、第１平均・変動係数算出部６０２と、分析時間区間特定部６０３と、第２アクセス算出部６０４と、第２平均・変動係数算出部６０５と、要因特定部６０６とを含む。制御部６００は、記憶装置に記憶されたプログラムをＣＰＵ２０１が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などである。また、各部の処理結果は、ＣＰＵ２０１のレジスタや、ＣＰＵ２０１のキャッシュメモリ、ＲＡＭ２０３等に格納される。
【００４７】
また、性能劣化要因推定装置１０１は、記憶部６１０にアクセス可能である。記憶部６１０は、ＲＡＭ２０３、ディスク２０５等である。記憶部６１０には、応答ログデータ６１１と、分析結果６１２とが含まれる。応答ログデータ６１１は、複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する。応答ログデータ６１１の記憶内容の一例は、図２３で示す。分析結果６１２は、応答時間が悪化した要因を記憶する。分析結果６１２の記憶内容の一例は、図１５、図３１で示す。
【００４８】
第１アクセス算出部６０１は、応答ログデータ６１１を参照して、正常時間区間ｎｔに含まれる小時間区間ｓｔに対応するアクセス密度を算出する。例えば、第１アクセス算出部６０１は、下記（１）式により、小時間区間ｓｔに対応するアクセス密度を算出する。
【００４９】
小時間区間ｓｔに対応するアクセス密度＝Σアクセス種別の出現回数×アクセス種別の要求処理時間  …（１）
【００５０】
第１平均・変動係数算出部６０２は、第１アクセス算出部６０１が算出した各小時間区間ｓｔに対応するアクセス密度に基づいて、正常時間区間ｎｔに含まれる各中時間区間ｍｔに対応する変動係数を算出する。また、第１平均・変動係数算出部６０２は、各小時間区間ｓｔに対応するアクセス密度に基づいて、正常時間区間ｎｔに含まれる各中時間区間ｍｔに対応する平均を算出してもよい。
【００５１】
分析時間区間特定部６０３は、アクセスの応答時間が所定の閾値を超えた時刻に基づいて、分析時間区間ａｔを特定する。例えば、分析時間区間特定部６０３は、所定の閾値を超えた時刻から１０分間を、分析時間区間ａｔとして特定する。また、分析時間区間ａｔは、正常時間区間ｎｔと同一の時間長でもよいし、異なる時間長でもよい。所定の閾値は、例えば、分析対象アプリの管理者が指定する値である。また、所定の閾値は、ＵＲＬごとに事前に定義されたＳＬＡ（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）でもよい。
【００５２】
また、分析時間区間特定部６０３は、Ｗｅｂアプリのユーザからのクレームが発生した時刻に基づいて、分析時間区間ａｔを特定してもよい。例えば、分析時間区間特定部６０３は、Ｗｅｂアプリのユーザが操作するコンピュータから、クレームを示す情報とクレームが発生した時刻を示す情報とを受け付けた際に、クレームが発生した時刻の前後５分間を、分析時間区間ａｔとして特定する。また、クレームが発生した時刻を受け付けず、クレームを示す情報だけを受け付けた場合、分析時間区間特定部６０３は、クレームを示す情報を受け付けた時刻を、クレームが発生した時刻としてもよい。
【００５３】
第２アクセス算出部６０４は、応答ログデータ６１１を参照して、分析時間区間ａｔに含まれる小時間区間ｓｔに対応するアクセス密度を算出する。第２平均・変動係数算出部６０５は、第２アクセス算出部６０４が算出した各小時間区間ｓｔに対応するアクセス密度に基づいて、分析時間区間ａｔに含まれる各中時間区間ｍｔに対応する変動係数を算出する。また、第２平均・変動係数算出部６０５は、各小時間区間ｓｔに対応するアクセス密度に基づいて、分析時間区間ａｔに含まれる各中時間区間ｍｔに対応する平均を算出してもよい。
【００５４】
要因特定部６０６は、正常時間区間ｎｔおよび分析時間区間ａｔに含まれる各中時間区間ｍｔに対応する変動係数の分布の適合度検定による検定結果に基づいて、分析時間区間ｎｔの応答時間の悪化の要因を特定する。また、要因特定部６０６は、正常時間区間ｎｔおよび分析時間区間ａｔに含まれる各中時間区間ｍｔに対応する平均の分布の適合度検定による検定結果に基づいて、分析時間区間ａｔの応答時間の悪化の要因を特定してもよい。
【００５５】
例えば、要因特定部６０６は、変動係数の分布に関する検定結果が、分布が同一であることを示し、かつ、平均の分布に関する検定結果が、分布が同一であることを示す場合、分析時間区間ａｔの応答時間の悪化の要因が資源競合であると特定する。また、要因特定部６０６は、変動係数の分布に関する検定結果が、分布が異なることを示す、または、平均の分布に関する検定結果が、分布が異なることを示す場合、分析時間区間ａｔの応答時間の悪化の要因がアクセス負荷の増加であると特定する。
【００５６】
また、要因特定部６０６は、変動係数の分布に関する検定結果が、分布が異なることを示す場合、分析時間区間ａｔの応答時間の悪化の要因がアクセス負荷のバースト的な増加であると特定してもよい。また、要因特定部６０６は、平均の分布に関する検定結果が、分布が異なることを示す場合、分析時間区間ａｔの応答時間の悪化の要因がアクセス負荷の平均的な増加であると特定してもよい。
【００５７】
要因特定部６０６は、特定した結果を、分析結果６１２に格納する。また、要因特定部６０６は、要因が資源競合であると特定した場合に、クラウドの管理者が操作するコンピュータに通知し、要因がアクセス負荷の増加であると特定した場合に、分析対象アプリの管理者が操作するコンピュータに通知してもよい。
【００５８】
次に、制御部６００で示した機能の詳細を、図７〜図１５を用いて説明する。
【００５９】
図７は、要求処理時間の算出方法の一例を示す説明図である。性能劣化要因推定装置１０１は、アクセスの種別ごとに最小の応答時間、すなわち要求処理時間を記憶する。この最小応答時間は、アクセスの種類ごとの遅延を含まない基準となる処理時間とみなすことができる。
【００６０】
図７の例で示すグラフ７０１は、正常時間区間ｎｔにおける、ある１種のアクセスの種別に対する、アクセスごとの応答時間を示す。グラフ７０１の横軸は、時刻を示し、グラフ７０１の縦軸は、応答時間を示す。グラフ７０１の各点は、アクセスの時刻と、アクセスの応答時間を示す。グラフ７０１の各点が示すように、ある１種のアクセスの種別での最小の応答時間は、約４［ｍｓｅｃ］となる。従って、性能劣化要因推定装置１０１は、ある１種のアクセスの種別の要求処理時間を、約４［ｍｓｅｃ］と記憶する。
【００６１】
図８は、アクセス密度の算出方法の一例を示す説明図である。性能劣化要因推定装置１０１は、正常時間区間より短い各小時間区間に対して、アクセス密度を算出する。要求処理時間の総和が、アクセス密度となる。
【００６２】
例えば、性能劣化要因推定装置１０１は、図８に示す小時間区間ｓｔ１のアクセス密度を、小時間区間ｓｔ１に含まれるアクセスの回数に、要求処理時間を乗じた値を算出して得られた値とする。
【００６３】
図９は、アクセス密度の算出方法の補正例を示す説明図である。ここで、アクセス密度を算出する際に、分析対象アプリが、外部アプリのサービス、例えば、外部ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を利用する場合には、性能劣化要因推定装置１０１は、外部アプリへのアクセス密度を全て算出し、分析対象アプリへのアクセス密度から減算する。
【００６４】
例えば、図９では、分析対象アプリ９０１は、外部アプリ９０２−１、２を利用する。この場合、性能劣化要因推定装置１０１は、分析対象アプリ９０１へのアクセス密度を、下記（２）式を用いて算出する。
【００６５】
分析対象アプリ９０１へのアクセス密度＝アクセス密度１−アクセス密度２−アクセス密度３  …（２）
【００６６】
ここで、アクセス密度１〜３は、それぞれ、図８で説明した方法により算出したアクセス密度である。アクセス密度１が、図８で説明した方法により算出した分析対象アプリ９０１へのアクセス密度である。同様に、アクセス密度２、３が、それぞれ、図８で説明した方法により算出した外部アプリ９０２−１、２へのアクセス密度である。ここで、外部アプリ９０２−１、２のどちらかが性能低下した場合、性能劣化要因推定装置１０１は、アクセス密度２、３のうちの対応するアクセス密度を観察することで性能低下を検知することが可能である。
【００６７】
図１０は、アクセス密度平均とアクセス密度変動係数との算出例を示す説明図である。性能劣化要因推定装置１０１は、各中時間区間に対して、各中時間区間内の各小時間区間のアクセス密度から、平均と変動係数とを算出する。
【００６８】
例えば、性能劣化要因推定装置１０１は、図１０に示す中時間区間ｍｔ１のアクセス密度の平均と変動係数とを、図１０に示す小時間区間ｓｔ１〜８のアクセス密度から算出する。
【００６９】
また、性能劣化要因推定装置１０１は、応答時間が悪化した時間を含む分析時間区間ａｔについても、同様にアクセス密度の平均と変動係数とを算出する。
【００７０】
図１１は、適合度検定による性能劣化要因推定の一例を示す説明図（その１）である。性能劣化要因推定装置１０１は、正常時間区間ｎｔと分析時間区間ａｔの間で、アクセス密度の平均の分布と、変動係数の分布とに関して、適合度検定を行い、分布が同一のものかどうか判定する。
【００７１】
アクセス密度の平均の分布が異なる場合、性能劣化要因推定装置１０１は、アクセス負荷の平均的な増加による応答悪化であると判定する。平均的な増加としては、アクセス頻度の増加や、各アクセスの処理量の増加が挙げられる。
【００７２】
アクセス密度の変動係数の分布が異なる場合、性能劣化要因推定装置１０１は、アクセス負荷のバースト的な増加による応答悪化であると判定する。変動係数の分布が異なる場合とは、アクセス密度のばらつきが大きいため、アクセス負荷のバースト的な増加が要因であると推定することができる。
【００７３】
アクセス密度の平均の分布およびアクセス密度の変動係数の分布が同一である場合、性能劣化要因推定装置１０１は、資源競合による応答悪化であると判定する。このように、アクセス負荷が正常時と変化がない場合には、アクセス負荷の増加が要因ではなく、資源競合が要因であると推定することができる。
【００７４】
図１１に示すグラフ１１０１は、正常時間区間ｎｔと、分析時間区間ａｔ１、２とのアクセス密度の平均と変動係数との関係を示したグラフである。グラフ１１０１の横軸は、アクセス密度の平均を１０００倍した値を示す。また、グラフ１１０１の縦軸は、アクセス密度の変動係数を示す。そして、黒で塗りつぶした点が、正常時間区間ｎｔのデータであり、白抜きの点が、分析時間区間ａｔ１のデータであり、網掛けを付与した点が、分析時間区間ａｔ２のデータであることを示す。
【００７５】
分析時間区間ａｔ１のデータは、正常時間区間ｎｔのデータと比較すると、アクセス密度の平均の分布が異なっている。従って、性能劣化要因推定装置１０１は、分析時間区間ａｔ１の性能劣化の要因が、アクセス負荷の平均的な増加による応答悪化であると判定する。
【００７６】
また、分析時間区間ａｔ２のデータは、正常時間区間ｎｔのデータと比較すると、アクセス密度の平均の分布も同一であるし、アクセス密度の変動係数の分布も同一である。従って、性能劣化要因推定装置１０１は、分析時間区間ａｔ２の性能劣化の要因が、資源競合による応答悪化であると判定する。
【００７７】
図１２は、適合度検定による性能劣化要因推定の一例を示す説明図（その２）である。図１２では、具体的な値を示して、適合度検定について説明する。図１２で示す表１２０１、１２０２は、それぞれ、正常時間区間ｎｔ、分析時間区間ａｔから得た各中時間区間のアクセス密度の平均と変動係数との算出結果である。図１２に示す表１２０１は、レコード１２０１−１〜１０を有する。また、図１２に示す表１２０２は、レコード１２０２−１〜１０を有する。
【００７８】
表１２０１、１２０２は、それぞれ、中時間区間ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）と、アクセス密度平均と、アクセス密度変動係数というフィールドを含む。中時間区間ＩＤフィールドには、中時間区間を識別する値が格納される。アクセス密度平均フィールドには、アクセス密度の平均が格納される。アクセス密度変動係数フィールドには、アクセス密度の変動係数が格納される。例えば、レコード１２０１−１は、中時間区間１のアクセス密度の平均が７２．６７５であり、アクセス密度の変動係数が０．７１９であることを示す。
【００７９】
性能劣化要因推定装置１０１は、表１２０１のアクセス密度平均フィールドの各値と、表１２０２のアクセス密度平均フィールドの各値とに対して、適合度検定を行う。また、性能劣化要因推定装置１０１は、表１２０１のアクセス密度変動係数フィールドの各値と、表１２０２のアクセス密度変動係数フィールドの各値とに対して、適合度検定を行う。性能劣化要因推定装置１０１は、アクセス密度の平均および変動係数の両方の分布が同一であると判定した場合、図１１で示したように、性能劣化の要因が、資源競合による応答悪化であると判定する。また、性能劣化要因推定装置１０１は、アクセス密度の平均および変動係数の両方の分布の一方でも異なると判定した場合、図１１で示したように、性能劣化の要因が、アクセス負荷の増加による応答悪化であると判定する。
【００８０】
次に、分析時間区間ａｔの２つの特定例について、図１３、図１４を用いて説明する。具体的には、図１３において、ＳＬＡが達成されなかったという事象が起きた際に分析時間区間ａｔを特定する方法を説明し、図１４において、クレームが発生したという事象が起きた際に、分析時間区間ａｔを特定する方法について説明する。
【００８１】
図１３は、分析時間区間ａｔの第１の特定例を示す説明図である。分析時間区間ａｔの第１の特定例は、ＵＲＬごとに事前定義された応答時間に関するＳＬＡが達成されなかったという事象が起きた際に、性能劣化が発生したと特定する方法である。ＳＬＡの一例としては、９９％以上のアクセスで応答時間が所定の応答時間閾値以内に抑えられている等が挙げられる。性能劣化要因推定装置１０１は、ＳＬＡ未達成と判定された時点から所定時間、例えば、５分間、１０分間などが経過した時点までの時間区間を、分析時間区間ａｔとして特定する。
【００８２】
例えば、図１３で示すグラフ１３０１は、ある期間における、アクセスに対する応答時間を示す。そして、応答時間閾値が１５［ｍｓｅｃ］に設定されていたとする。そして、グラフ１３０１で示すように、性能劣化要因推定装置１０１が、時刻ｔ１において、ＳＬＡ未達成であると判定したとする。この場合、性能劣化要因推定装置１０１は、時刻ｔ１から所定時間が経過するまでの時間区間を、分析時間区間ａｔとして特定する。
【００８３】
図１４は、分析時間区間ａｔの第２の特定例を示す説明図である。分析時間区間ａｔの第２の特定例は、Ｗｅｂアプリのユーザといった外部から性能に関するクレームが発生した事象が発生した際に、性能劣化が発生したと特定する方法である。例えば、性能劣化要因推定装置１０１は、クレームを受け付けた時刻を含む周辺、例えば、前後５分間を分析時間区間ａｔとして特定する。
【００８４】
例えば、図１４で示すグラフ１４０１は、ある期間における、アクセスに対する応答時間を示す。そして、グラフ１４０１で示すように、時刻ｔ１に、クレームが発生したとする。この場合、性能劣化要因推定装置１０１は、時刻ｔ１の前後５分間を分析時間区間ａｔとして特定する。
【００８５】
図１５は、性能劣化要因推定結果の出力例を示す説明図である。図１５に示す分析結果６１２は、性能劣化要因推定装置１０１が図１３、図１４で示した特定した分析時間区間ａｔごとに、要因推定結果を出力したものをまとめたテーブルである。図１５に示す分析結果６１２は、レコード１５０１−１〜５を有する。
【００８６】
分析結果６１２は、時刻と、事象と、要因推定結果というフィールドを含む。時刻フィールドには、事象フィールドにより特定した事象を示す値が格納される。事象フィールドには、図１３や図１４で示した分析時間区間ａｔを特定した事象を示す文字列が格納される。要因推定結果フィールドには、要因推定結果を示す値が格納される。例えば、レコード１５０１−１は、２０１５．１１．１２Ｔ１３：３５：０９に、ＳＬＡ未達成という事象が発生しており、要因推定結果が、アクセス負荷の増加であることを示す。
【００８７】
図１５に示す管理者ｍは、分析対象となるＷｅｂアプリの管理者、または、Ｗｅｂアプリを動作させるクラウドの管理者である。例えば、管理者ｍが、クラウドの管理者であるとする。この場合、管理者ｍは、例えば、レコード１５０１−２の内容を閲覧して、Ｗｅｂアプリの管理者に、アクセス負荷の増加があったことを通知する。また、管理者ｍは、例えば、レコード１５０１−３の内容を閲覧して、ＶＭやコンテナへの資源割り当てを確認する。
【００８８】
また、管理者ｍが、Ｗｅｂアプリの管理者であるとする。この場合、管理者ｍは、レコード１５０１−２の内容を閲覧して、アクセス負荷の増加であることがわかるため、例えば、応答ログデータ６１１の確認やＷｅｂアプリの処理内容の確認を行う。
【００８９】
図１６は、性能劣化要因推定処理手順の一例を示すフローチャート（その１）である。また、図１７は、性能劣化要因推定処理手順の一例を示すフローチャート（その２）である。また、図１８は、性能劣化要因推定処理手順の一例を示すフローチャート（その３）である。
【００９０】
性能劣化要因推定装置１０１は、正常時間区間ｎｔの応答ログデータ６１１を取得する（ステップＳ１６０１）。例えば、性能劣化要因推定装置１０１は、正常時間区間ｎｔとして、直近１０分間の応答ログデータ６１１を取得する。
【００９１】
次に、性能劣化要因推定装置１０１は、正常時間区間ｎｔに含まれる小時間区間ごとにアクセス密度を算出する（ステップＳ１６０２）。そして、性能劣化要因推定装置１０１は、正常時間区間ｎｔに含まれる中時間区間ごとにアクセス密度の平均・変動係数を算出する（ステップＳ１６０３）。次に、性能劣化要因推定装置１０１は、各中時間区間のアクセス密度平均・変動係数を記憶する（ステップＳ１６０４）。ここで、性能劣化要因推定装置１０１は、既に記憶されている平均・変動係数があれば、今回算出した値で更新する。そして、性能劣化要因推定装置１０１は、一定時間待機する（ステップＳ１６０５）。
【００９２】
そして、性能劣化要因推定装置１０１は、一定割合以上のアクセスで応答時間が応答時間閾値を超過したか否かを判断する（ステップＳ１６０６）。一定割合以上のアクセスで応答時間が応答時間閾値を超過していない場合（ステップＳ１６０６：Ｎｏ）、性能劣化要因推定装置１０１は、続けて、クレームが発生したか否かを判断する（ステップＳ１６０７）。クレームが発生していない場合（ステップＳ１６０７：Ｎｏ）、性能劣化要因推定装置１０１は、正常時間区間を更新する（ステップＳ１６０８）。
【００９３】
一方、一定割合以上のアクセスで応答時間が応答時間閾値を超過した場合（ステップＳ１６０６：Ｙｅｓ）、またはクレームが発生した場合（ステップＳ１６０７：Ｙｅｓ）、性能劣化要因推定装置１０１は、閾値を超過した時刻や、クレームが発生した時刻に基づいて、分析時間区間ａｔを特定する（ステップＳ１７０１）。そして、性能劣化要因推定装置１０１は、分析時間区間ａｔの応答ログデータ６１１を取得する（ステップＳ１７０２）。次に、性能劣化要因推定装置１０１は、分析時間区間ａｔに含まれる小時間区間ごとにアクセス密度を算出する（ステップＳ１７０３）。そして、性能劣化要因推定装置１０１は、分析時間区間ａｔに含まれる中時間区間ごとにアクセス密度平均・変動係数を算出する（ステップＳ１７０４）。次に、性能劣化要因推定装置１０１は、各中時間区間のアクセス密度平均・変動係数を記憶する（ステップＳ１７０５）。
【００９４】
そして、性能劣化要因推定装置１０１は、記憶した正常時間区間ｎｔと分析時間区間ａｔとのアクセス密度の平均分布について、適合度を正常時間区間ｎｔと分析時間区間ａｔとの間で検定する（ステップＳ１８０１）。次に、性能劣化要因推定装置１０１は、検定結果が同一分布を示すか否かを判断する（ステップＳ１８０２）。検定結果が同一分布を示す場合（ステップＳ１８０２：Ｙｅｓ）、性能劣化要因推定装置１０１は、続けて、記憶した正常時間区間ｎｔと分析時間区間ａｔとのアクセス密度変動係数分布について、適合度を正常時間区間ｎｔと分析時間区間ａｔとの間で検定する（ステップＳ１８０３）。そして、性能劣化要因推定装置１０１は、検定結果が同一分布を示すか否かを判断する（ステップＳ１８０４）。
【００９５】
検定結果が同一分布を示さない場合（ステップＳ１８０２：Ｎｏ、ステップＳ１８０４：Ｎｏ）、性能劣化要因推定装置１０１は、アクセス負荷の増加が要因と特定する（ステップＳ１８０５）。ここで、性能劣化要因推定装置１０１は、ステップＳ１８０２：Ｎｏであった際に、要因がアクセス負荷の平均的な増加であると特定し、ステップＳ１８０４：Ｎｏであった際に、要因がアクセス負荷のバースト的な増加であると特定してもよい。
【００９６】
一方、検定結果が同一分布を示す場合（ステップＳ１８０４：Ｙｅｓ）、性能劣化要因推定装置１０１は、資源競合が要因と特定する（ステップＳ１８０６）。ステップＳ１８０５、またはステップＳ１８０６の処理終了後、性能劣化要因推定装置１０１は、ステップＳ１８０５、またはステップＳ１８０６の処理で特定した要因を、要因推定結果として出力する（ステップＳ１８０７）。そして、性能劣化要因推定装置１０１は、性能劣化要因推定処理を終了する。
【００９７】
図１９は、本実施の形態における性能劣化要因推定処理における効果の一例を示す説明図（その１）である。図１９では、グラフ１９０１を用いて、本実施の形態における性能劣化要因推定処理における効果を説明する。グラフ１９０１では、平均アクセス頻度と、アクセス密度と、平均応答時間とを示す。グラフ１９０１では、平均アクセス頻度の変化を示す線を、点線で示す。同様に、アクセス密度の変化を示す線を、破線で示し、平均応答時間の変化を示す線を、実線で示す。
【００９８】
グラフ１９０１の横軸は、時間を示す。具体的には、グラフ１９０１の横軸は、中時間区間の秒数を乗じた時間を示す。例えば、中時間区間が５［秒間］である場合、グラフ１９０１上の１６９は、１６９×５＝８４５［秒］を示す。グラフ１９０１の縦軸は、アクセス頻度、アクセス密度×１０００、応答時間を示す。
【００９９】
ＵＲＬ分布が変更した場合、グラフ１９０１が示すように、アクセス密度が増加するため、アクセス密度を用いることにより、性能劣化の要因が、アクセス負荷の増加による応答悪化であると判定することができる。これに対し、ＵＲＬ分布が変更しても、アクセス頻度には変化がないため、誤判定する可能性がある。このように、本実施の形態では、アクセス密度を用いることにより、誤判定を抑制し、要因の切り分け精度を向上させることができる。
【０１００】
また、資源競合時には、アクセス密度の変化は、平均アクセス頻度と同様となる。従って、本実施の形態は、性能劣化の要因が、資源競合による場合であっても、平均アクセス頻度を用いる場合と同程度に判定することができ、適切に判定することができる。
【０１０１】
図２０は、本実施の形態における性能劣化要因推定処理における効果の一例を示す説明図（その２）である。図２０で示すグラフ２００１は、正常時、ＵＲＬ分布の変更時、資源競合時のそれぞれの平均アクセス頻度を示す。グラフ２００１の横軸は、平均アクセス頻度を示す。そして、黒で塗りつぶした点が、正常時のデータであり、白抜きの点が、ＵＲＬ分布の変更時のデータであり、網掛けを付与した点が、資源競合時のデータであることを示す。
【０１０２】
グラフ２００１が示すように、ＵＲＬ分布の変更時のデータおよび資源競合時のデータともに、平均アクセス頻度には大きな変化が現れない。従って、平均アクセス頻度を用いて判定すると、ＵＲＬ分布の変更時でも資源競合時でも、性能劣化の要因が資源競合であると判定してしまうことになる。このように、平均アクセス頻度を用いて判定すると、ＵＲＬ分布の変更時の場合、誤判定となる。
【０１０３】
図２１は、本実施の形態における性能劣化要因推定処理における効果の一例を示す説明図（その３）である。図２１で示すグラフ２１０１は、正常時、ＵＲＬ分布の変更時、資源競合時のそれぞれのアクセス密度平均とアクセス密度変動係数との関係を示す。グラフ２１０１の横軸は、アクセス密度の平均を示す。また、グラフ２１０１の縦軸は、アクセス密度の変動係数を示す。そして、黒で塗りつぶした点が、正常時のデータであり、白抜きの点が、ＵＲＬ分布の変更時のデータであり、網掛けを付与した点が、資源競合時のデータであることを示す。
【０１０４】
グラフ２１０１が示すように、ＵＲＬ分布の変更時のデータは、ＵＲＬ分布が変わることによって、アクセス密度の平均が変化することがわかる。従って、本実施の形態では、アクセス密度を用いて判定することにより、ＵＲＬ分布の変更時にアクセス負荷の増加であると判定することができ、誤判定を削減することができる。
【０１０５】
（実施例）
次に、実施例として、性能劣化要因推定装置１０１をシステムに組み込んだ際について説明する。
【０１０６】
図２２は、実施例におけるシステム２２００の構成例を示す説明図である。システム２２００は、応答ログデータ蓄積サーバ２２０１と、性能劣化要因推定装置１０１と、分析結果保存サーバ２２０２とを有する。
【０１０７】
応答ログデータ蓄積サーバ２２０１は、ロードバランサから得られたデータ、アプリログ、パケットキャプチャ、プロキシサーバから得られたデータ等を、応答ログデータ蓄積ＤＢ（ＤａｔａＢａｓｅ）２２１１に格納する。
【０１０８】
性能劣化要因推定装置１０１は、応答ログデータ蓄積サーバ２２０１にデータを要求し、応答ログデータ蓄積サーバ２２０１は、要求に応じて、応答ログデータ６１１を性能劣化要因推定装置１０１に送信する。そして、性能劣化要因推定装置１０１は、分析結果６１２を、分析結果保存サーバ２２０２へ出力する。分析結果保存サーバ２２０２は、受信した分析結果６１２を、分析結果保存ＤＢ２２１２に蓄積する。
【０１０９】
図２３は、応答ログデータ６１１の記憶内容の一例を示す説明図である。図２３に示す応答ログデータ６１１は、レコード２３０１−１〜Ｎを有する。
【０１１０】
応答ログデータ６１１は、時刻と、リクエストと、リクエストＵＲＬと、ＨＴＴＰステータスコードと、応答時間と、ボディサイズというフィールドを含む。時刻フィールドには、リクエストの時刻を示す値が格納される。また、時刻フィールドに、レスポンスの時刻を示す値が格納されている際に、正常時間区間、分析時間区間ａｔ、小時間区間、中時間区間に含まれるアクセスか否かを判定する際には、レスポンスの時刻から応答時間を減じた値によって判定すればよい。リクエストフィールドには、リクエスト種別を示す文字列が格納される。具体的には、リクエストフィールドには、ＨＴＴＰのリクエスト行で指定されるメソッドを識別する文字列が格納される。ＨＴＴＰのリクエスト行で指定されるメソッドには、例えば、ＧＥＴ、ＰＯＳＴ等がある。
【０１１１】
リクエストＵＲＬフィールドには、ＨＴＴＰのリクエスト行に含まれるＵＲＬを示す値が格納される。ＨＴＴＰステータスコードフィールドには、ＨＴＴＰのレスポンス行に含まれるステータスコードを示す値が格納される。ステータスコードには、例えば、リクエストが成功したことを示す２００、ＵＲＬで指定されたリソースが見つからなかったことを示す４０４等がある。応答時間フィールドには、リクエストからレスポンスまでの時間を示す応答時間を示す値が格納される。ボディサイズフィールドには、レスポンスのボディサイズを示す値が格納される。
【０１１２】
例えば、レコード２３０１−１は、時刻２０１５−１２−０１Ｔ１７：５２：３５．８０＋０９００において、ＧＥＴメソッドでありＵＲＬが「／ｄｉａｇｎｏｓｉｓ？ｉｄ＝３」となるアクセスが、２００というレスポンスであったことを示す。さらに、レコード２３０１−１は、リクエストからレスポンスまでの応答時間が３．８６［秒］であり、ボディサイズが３６７３６［バイト］であることを示す。
【０１１３】
図２４は、要求処理時間の算出例を示す説明図である。性能劣化要因推定装置１０１は、応答ログデータ６１１から、アクセスの種別ごとに、正常時間区間ｎｔ内、例えば、１０分間で最小応答時間、すなわち、要求処理時間を記憶する。図２４では、アクセス種別ごとの要求処理時間を記憶した要求処理時間テーブル２４０１を示す。図２４で示す要求処理時間テーブル２４０１は、レコード２４０１−１〜８を有する。
【０１１４】
要求処理時間テーブル２４０１は、アクセスの種別と、要求処理時間というフィールドを有する。アクセス種別フィールドには、応答ログデータ６１１のリクエストフィールド、リクエストＵＲＬフィールド、ＨＴＴＰステータスコードフィールドの組み合わせを特定する情報が格納される。要求処理時間フィールドには、上述の組み合わせで特定されるアクセスの中で最小の応答時間を示す値が格納される。
【０１１５】
例えば、レコード２４０１−１は、ＧＥＴメソッドでありＵＲＬが「／ａｌｅｒｔ」でありＨＴＴＰステータスコードが２００となったアクセスのうち、最小の応答時間が０．３７４［秒］であることを示す。
【０１１６】
図２５は、アクセス密度の算出例を示す説明図である。性能劣化要因推定装置１０１は、小時間区間、例えば１秒間ごとに、全アクセスの要求処理時間の総和、アクセス密度を算出する。
【０１１７】
図２５の例で示す要求処理時間テーブル２５０１は、レコード２５０１−１〜８を有する。レコード２５０１−１〜８は、要求処理時間テーブル２４０１の各レコードに、アクセス回数フィールドと、要求処理時間×アクセス回数フィールドとを追加したものである。アクセス回数フィールドには、アクセスの種別フィールドに格納された情報で特定されるアクセスの回数を示す値が格納される。要求処理時間×アクセス回数フィールドには、要求処理時間にアクセス回数を乗算した値が格納される。レコード２３０１−１〜Ｎまでを１つの小時間区間とすると、性能劣化要因推定装置１０１は、下記式により、小時間区間のアクセス密度を算出する。
【０１１８】
小時間区間のアクセス密度＝０．３７４×６＋１．５０７×５＋…＋０．３３１×５＝５７．７５２
【０１１９】
図２６は、アクセス密度の平均と変動係数との算出例を示す説明図（その１）である。図２６では、正常時間区間ｎｔをいくつかの中時間区間、例えば１０秒間に、分割し、ある中時間区間に含まれる小時間区間ごとに算出したアクセス密度を記憶したアクセス密度情報テーブル２６０１を示す。図２６に示すアクセス密度情報テーブル２６０１は、レコード２６０１−１〜１０を有する。
【０１２０】
性能劣化要因推定装置１０１は、各中時間区間ｍｔにおけるアクセス密度の平均と変動係数とを算出する。図２６では、性能劣化要因推定装置１０１は、図２６に示すアクセス密度情報テーブル２６０１が有するレコード群から、アクセス密度の平均として７２．６７５２と、アクセス密度の変動係数として０．７１９２８７８３４とを算出する。
【０１２１】
図２７は、アクセス密度の平均と変動係数との算出例を示す説明図（その２）である。図２７では、中時間区間ごとに算出したアクセス密度の平均と変動係数とを記憶したアクセス密度平均・変動係数テーブル２７０１を示す。図２７で示したアクセス密度平均・変動係数テーブル２７０１には、レコード２７０１−１〜１０を有する。
【０１２２】
図２８は、適合度検定による要因切り分けの一例を示す説明図である。図２８では、正常時間区間ｎｔにおけるアクセス密度平均・変動係数テーブル２７０１と、分析時間区間ａｔにおけるアクセス密度平均・変動係数テーブル２８０１とを示す。図２８に示す分析時間区間ａｔにおけるアクセス密度平均・変動係数テーブル２８０１は、レコード２８０１−１〜１０を有する。性能劣化要因推定装置１０１は、アクセス密度平均・変動係数テーブル２７０１、２８０１を参照して、アクセス密度の平均、変動係数それぞれの分布の適合度検定を行う。
【０１２３】
次に、適合度検定の２つの例を、図２９、図３０で示す。図２９、図３０において、正常時間区間ｎｔのデータを、実線で示し、分析時間区間ａｔのデータを、破線で示す。
【０１２４】
図２９は、適合度検定の一例を示す説明図である。図２９では、正常時間区間ｎｔ、分析時間区間ａｔの累積分布の一例を示したグラフ２９０１を示す。グラフ２９０１の例では、Ｋ−Ｓ検定ｐ値は、０．０３３８であったとする。有意水準０．０１の場合、性能劣化要因推定装置１０１は、同一分布であると判定する。
【０１２５】
図３０は、適合度検定の他の例を示す説明図である。図３０では、正常時間区間ｎｔ、分析時間区間ａｔの累積分布の他の例を示したグラフ３００１を示す。グラフ３００１の例では、Ｋ−Ｓ検定ｐ値は、０．０００００００４１４であったとする。同一分布である可能性が非常に低いため、性能劣化要因推定装置１０１は、異なる分布であると判定する。
【０１２６】
図３１は、実施例における性能劣化要因推定結果の出力例を示す説明図である。図３１では、分析結果保存ＤＢ２２１２の具体的な内容を、レコード３１０１−１〜５として表示する。また、図３１では、要因推定結果がアクセス負荷の増加であった場合に、アクセス負荷の平均的な増加なのか、アクセス負荷のバースト的な増加であるのかまで表示した例を示す。例えば、レコード３１０１−２は、２０１５．１１．１６Ｔ０８：１５：２１に、クレーム受付という事象が発生しており、要因推定結果が、アクセス負荷のバースト的な増加であることを示す。
【０１２７】
図３１に示す管理者ｍは、分析対象となるＷｅｂアプリの管理者であるとする。この場合、例えば、管理者ｍは、例えば、レコード３１０１−２の内容を閲覧して、アクセス密度がバースト的に増加したことから、応答ログデータ６１１の中からバースト的にアクセス負荷が増加した箇所を探す。
【０１２８】
以上説明したように、性能劣化要因推定装置１０１は、アクセス種別ごとの最小応答時間に基づくアクセス密度の変動係数の分布が正常時間区間ｎｔと分析時間区間ａｔとで一致するか否かに応じて、応答時間の悪化の要因を推定する。これにより、バースト的なアクセスが変動係数に反映されるため、性能劣化要因推定装置１０１は、推定精度を向上させることができる。判定精度が向上することにより、適切な管理者が適切な対処を迅速に行うことができる。
【０１２９】
また、性能劣化要因推定装置１０１は、アクセス密度の平均の分布が正常時間区間ｎｔと分析時間区間ａｔとで一致するか否かに応じて応答時間の悪化の要因を特定してもよい。これにより、ＵＲＬ変更による処理時間増加がアクセス密度の平均に反映されるため、性能劣化要因推定装置１０１は、要因推定の精度を向上させることができる。
【０１３０】
また、性能劣化要因推定装置１０１は、変動係数と平均との分布がともに一致する場合、応答時間の悪化の要因が資源競合であると特定してもよい。これにより、性能劣化要因推定装置１０１は、要因が資源競合であれば、クラウドの管理者に通知し、クラウドの管理者は、資源割り当てを確認する等といった適切な対処にすぐに取り掛かることができる。
【０１３１】
また、性能劣化要因推定装置１０１は、変動係数と平均との分布のいずれか一方が異なる場合、応答時間の悪化の要因がアクセス負荷の増加であると特定してもよい。これにより、性能劣化要因推定装置１０１は、要因がアクセス負荷の増加であればＷｅｂアプリの管理者に通知し、通知を受けた管理者は、応答ログデータ６１１の確認やＷｅｂアプリの処理内容の確認等といった適切な対処にすぐに取り掛かることができる。
【０１３２】
また、性能劣化要因推定装置１０１は、変動係数の分布が異なる場合、応答時間の悪化の要因がアクセス負荷のバースト的な増加であると特定してもよい。これにより、性能劣化要因推定装置１０１は、応答時間の悪化の要因がアクセス負荷のバースト的な増加であるとＷｅｂアプリの管理者に通知することができる。そして、通知を受けた管理者は、応答ログデータ６１１から、バースト的な増加が発生している箇所の確認といった適切な対処にすぐに取り掛かることができる。
【０１３３】
また、性能劣化要因推定装置１０１は、平均の分布が異なる場合、応答時間の悪化の要因がアクセス負荷の平均的な増加であると特定してもよい。これにより、性能劣化要因推定装置１０１は、応答時間の悪化の要因がアクセス負荷の平均的な増加であると、Ｗｅｂアプリの管理者に通知することができる。そして、通知を受けた管理者は、応答ログデータ６１１から、Ｗｅｂアプリの処理内容の確認といった適切な対処にすぐに取り掛かることができる。
【０１３４】
また、性能劣化要因推定装置１０１は、アクセスの応答時間が所定の閾値を超えた時刻に基づいて、分析時間区間ａｔを特定してもよい。これにより、性能劣化要因推定装置１０１は、アクセスの応答時間が増加した時間区間を分析時間区間ａｔとして、要因の推定を行うことができる。
【０１３５】
また、性能劣化要因推定装置１０１は、アクセスのアクセス先となるＷｅｂアプリのユーザからのクレームが発生した時刻に基づいて、分析時間区間ａｔを特定してもよい。これにより、性能劣化要因推定装置１０１は、アクセスの応答時間が増加したとユーザが感じた時間区間を分析時間区間ａｔとして、要因の推定を行うことができる。
【０１３６】
なお、本実施の形態で説明した性能劣化要因推定方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本性能劣化要因推定プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本性能劣化要因推定プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１３７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１３８】
（付記１）コンピュータに、
複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する記憶部を参照して、第１の期間を第１の期間長で分割した各期間に対応して、前記各期間に含まれるアクセスのアクセス種別の出現回数分、前記第１の期間における前記複数のアクセス種別の各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第１の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第１の期間を前記第１の期間長より長い第２の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記記憶部を参照して、前記第１の期間とは異なり、アクセスの応答時間が増加したと特定された第２の期間を第３の期間長で分割した各期間に対応して、当該各期間に含まれるアクセスのアクセス種別の出現回数分、前記第２の期間における前記各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第３の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第２の期間を前記第３の期間長より長い第４の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果に基づいて、前記第２の期間の応答時間の増加の要因を特定する、
処理を実行させることを特徴とする性能劣化要因推定プログラム。
【０１３９】
（付記２）前記コンピュータに、
算出した前記第１の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第１の期間を前記第２の期間で分割した各期間に対応するアクセス密度の平均を算出し、
算出した前記第３の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第２の期間を前記第４の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果に基づいて、前記第２の期間の応答時間の増加の要因を特定する、
処理を実行させることを特徴とする付記１に記載の性能劣化要因推定プログラム。
【０１４０】
（付記３）前記特定する処理は、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果によって当該分布が同一であることが示され、かつ、前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果によって当該分布が同一であることが示される場合、前記要因が資源競合であると特定する、
ことを特徴とする付記２に記載の性能劣化要因推定プログラム。
【０１４１】
（付記４）前記特定する処理は、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果によって当該分布が異なることが示された場合、または、前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果によって当該分布が異なることが示される場合、前記要因がアクセス負荷の増加であると特定する、
ことを特徴とする付記２または３に記載の性能劣化要因推定プログラム。
【０１４２】
（付記５）前記特定する処理は、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果によって当該分布が異なることが示される場合、アクセス負荷のバースト的な増加であると特定する、
ことを特徴とする付記４に記載の性能劣化要因推定プログラム。
【０１４３】
（付記６）前記特定する処理は、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果によって当該分布が異なることが示される場合、アクセス負荷の平均的な増加であると特定する、
ことを特徴とする付記４または５に記載の性能劣化要因推定プログラム。
【０１４４】
（付記７）前記コンピュータに、
アクセスの応答時間が所定の閾値を超えた時刻に基づいて、前記第２の期間を特定する、
処理を実行させることを特徴とする付記１〜６のいずれか一つに記載の性能劣化要因推定プログラム。
【０１４５】
（付記８）前記コンピュータに、
前記各アクセスのアクセス先となるソフトウェアのユーザからのクレームが発生した時刻に基づいて、前記第２の期間を特定する、
処理を実行させることを特徴とする付記１〜７のいずれか一つに記載の性能劣化要因推定プログラム。
【０１４６】
（付記９）複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する記憶部を参照して、第１の期間を第１の期間長で分割した各期間に対応して、前記各期間に含まれるアクセスのアクセス種別の出現回数分、前記第１の期間における前記複数のアクセス種別の各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第１の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第１の期間を前記第１の期間長より長い第２の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記記憶部を参照して、前記第１の期間とは異なり、アクセスの応答時間が増加したと特定された第２の期間を第３の期間長で分割した各期間に対応して、当該各期間に含まれるアクセスのアクセス種別の出現回数分、前記第２の期間における前記各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第３の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第２の期間を前記第３の期間長より長い第４の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果に基づいて、前記第２の期間の応答時間の増加の要因を特定する、
制御部を有することを特徴とする性能劣化要因推定装置。
【０１４７】
（付記１０）コンピュータが、
複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する記憶部を参照して、第１の期間を第１の期間長で分割した各期間に対応して、前記各期間に含まれるアクセスのアクセス種別の出現回数分、前記第１の期間における前記複数のアクセス種別の各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第１の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第１の期間を前記第１の期間長より長い第２の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記記憶部を参照して、前記第１の期間とは異なり、アクセスの応答時間が増加したと特定された第２の期間を第３の期間長で分割した各期間に対応して、当該各期間に含まれるアクセスのアクセス種別の出現回数分、前記第２の期間における前記各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第３の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第２の期間を前記第３の期間長より長い第４の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記第２の期間長および前記第４の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果に基づいて、前記第２の期間の応答時間の増加の要因を特定する、
処理を実行することを特徴とする性能劣化要因推定方法。
【符号の説明】
【０１４８】
１０１  性能劣化要因推定装置
６００  制御部
６０１  第１アクセス算出部
６０２  第１平均・変動係数算出部
６０３  分析時間区間特定部
６０４  第２アクセス算出部
６０５  第２平均・変動係数算出部
６０６  要因特定部
６１０  記憶部
６１１  応答ログデータ
６１２  分析結果
【図１】
2017156888.tif 000003
【図２】
2017156888.tif 000004
【図３】
2017156888.tif 000005
【図４】
2017156888.tif 000006
【図５】
2017156888.tif 000007
【図６】
2017156888.tif 000008
【図７】
2017156888.tif 000009
【図８】
2017156888.tif 000010
【図９】
2017156888.tif 000011
【図１０】
2017156888.tif 000012
【図１１】
2017156888.tif 000013
【図１２】
2017156888.tif 000014
【図１３】
2017156888.tif 000015
【図１４】
2017156888.tif 000016
【図１５】
2017156888.tif 000017
【図１６】
2017156888.tif 000018
【図１７】
2017156888.tif 000019
【図１８】
2017156888.tif 000020
【図１９】
2017156888.tif 000021
【図２０】
2017156888.tif 000022
【図２１】
2017156888.tif 000023
【図２２】
2017156888.tif 000024
【図２３】
2017156888.tif 000025
【図２４】
2017156888.tif 000026
【図２５】
2017156888.tif 000027
【図２６】
2017156888.tif 000028
【図２７】
2017156888.tif 000029
【図２８】
2017156888.tif 000030
【図２９】
2017156888.tif 000031
【図３０】
2017156888.tif 000032
【図３１】
2017156888.tif 000033