JP2017156888A - 性能劣化要因推定プログラム、および性能劣化要因推定装置 - Google Patents

性能劣化要因推定プログラム、および性能劣化要因推定装置 Download PDF

Info

Publication number
JP2017156888A
JP2017156888A JP2016038084A JP2016038084A JP2017156888A JP 2017156888 A JP2017156888 A JP 2017156888A JP 2016038084 A JP2016038084 A JP 2016038084A JP 2016038084 A JP2016038084 A JP 2016038084A JP 2017156888 A JP2017156888 A JP 2017156888A
Authority
JP
Japan
Prior art keywords
access
period
density
factor estimation
period length
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016038084A
Other languages
English (en)
Inventor
辰真 松木
Tatsumasa Matsuki
辰真 松木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016038084A priority Critical patent/JP2017156888A/ja
Priority to US15/423,219 priority patent/US20170249232A1/en
Publication of JP2017156888A publication Critical patent/JP2017156888A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ソフトウェアの性能が劣化した要因の推定精度の向上を図る性能劣化要因推定プログラム、および性能劣化要因推定装置を提供する。【解決手段】性能劣化要因推定装置101は、正常時間区間ntに含まれる各小時間区間st1〜st4のアクセス密度を算出する。次に、性能劣化要因推定装置101は、各小時間区間のアクセス密度に基づき、正常時間区間ntに含まれる各中時間区間mt1に対応するアクセス密度の変動係数を算出する。同様に、性能劣化要因推定装置101は、分析時間区間atに含まれる各小時間区間st5〜st8のアクセス密度を算出し、分析時間区間atに含まれる各中時間区間mt2に対応するアクセス密度の変動係数を算出する。そして、性能劣化要因推定装置101は、正常時間区間ntおよび分析時間区間atに含まれる中時間区間mt1、mt2のアクセス密度の変動係数の分布の適合度検定を行う。【選択図】図1

Description

本発明は、性能劣化要因推定プログラム、および性能劣化要因推定装置に関する。
従来、提供されるクラウド環境で稼動するアプリケーションソフトウェアがある。また、ユーザによるアプリケーションソフトウェアへのアクセスの応答時間が長くなり性能が劣化した場合に、アクセス頻度と応答時間とに基づいて、性能が劣化した要因が、アプリケーションソフトウェア側またはクラウド環境側にあるのかを推定する技術がある。
関連する先行技術として、例えば、WWW(World Wide Web)サイトのアクセス変動の時系列データから統計的にアクセス変動を予測したデータとサイトの性能監視データから、サイトの構成要素を抽象化したモデルを基に、定められた性能が維持できるか否かを判断する技術がある。また、処理要求の入力頻度の推移、応答の出力頻度の推移に応じて一時高、一定高、一定低のいずれかに入力、出力タイプをそれぞれ決定し、入力、出力タイプの組み合わせに応じて、応答時間が閾値を超えている処理の発生要因を判定する技術がある。また、記録したWWWサーバに対するアクセスパターンに基づきアクセス頻度を増加させながら負荷を再生して性能値を測定し、予め決められたWWWサーバの要求性能を超える時のアクセス頻度を、限界性能値として提示する技術がある。また、負荷生成装置が送信したリクエストの単位時間あたりのリクエスト率から作成した度数分布データと、リクエスト率の分布が所望の確率分布に従うと仮定した場合の期待度数分布データを用いて、その確率分布との適合度検定を行う技術がある。
特開2002−268922号公報 特開2013−191145号公報 特開2004−318454号公報 国際公開第2013/145629号
しかしながら、従来技術によれば、ソフトウェアの性能が劣化した要因の推定を誤る場合がある。例えば、ある期間の一部においてソフトウェアに対してバースト的なアクセスが発生しても、他の部分においてアクセス数が少なければアクセス頻度は低くなるため、性能劣化の要因が、クラウド環境側にあるという誤った推定となる。
1つの側面では、本発明は、ソフトウェアの性能が劣化した要因の推定精度の向上を図る性能劣化要因推定プログラム、および性能劣化要因推定装置を提供することを目的とする。
本発明の一側面によれば、複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する記憶部を参照して、第1の期間を第1の期間長で分割した各期間に対応して、各期間に含まれるアクセスのアクセス種別の出現回数分、第1の期間における複数のアクセス種別の各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、算出した第1の期間長で分割した各期間に対応するアクセス密度に基づいて、第1の期間を第1の期間長より長い第2の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、記憶部を参照して、第1の期間とは異なり、アクセスの応答時間が増加したと特定された第2の期間を第3の期間長で分割した各期間に対応して、当該各期間に含まれるアクセスのアクセス種別の出現回数分、第2の期間における各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、算出した第3の期間長で分割した各期間に対応するアクセス密度に基づいて、第2の期間を第3の期間長より長い第4の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、第2の期間長および第4の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果に基づいて、第2の期間の応答時間の増加の要因を特定する性能劣化要因推定プログラム、および性能劣化要因推定装置が提案される。
本発明の一態様によれば、ソフトウェアの性能が劣化した要因の推定精度の向上を図ることができるという効果を奏する。
図1は、本実施の形態にかかる性能劣化要因推定装置101の動作例を示す説明図である。 図2は、性能劣化要因推定装置101のハードウェア構成例を示す説明図である。 図3は、応答時間悪化の要因の誤判定が発生する第1の例を示す説明図である。 図4は、応答時間悪化の要因の誤判定が発生する第2の例を示す説明図である。 図5は、応答時間悪化の要因の誤判定が発生する第3の例を示す説明図である。 図6は、性能劣化要因推定装置101の機能構成例を示す説明図である。 図7は、要求処理時間の算出方法の一例を示す説明図である。 図8は、アクセス密度の算出方法の一例を示す説明図である。 図9は、アクセス密度の算出方法の補正例を示す説明図である。 図10は、アクセス密度平均とアクセス密度変動係数との算出例を示す説明図である。 図11は、適合度検定による性能劣化要因推定の一例を示す説明図(その1)である。 図12は、適合度検定による性能劣化要因推定の一例を示す説明図(その2)である。 図13は、分析時間区間atの第1の特定例を示す説明図である。 図14は、分析時間区間atの第2の特定例を示す説明図である。 図15は、性能劣化要因推定結果の出力例を示す説明図である。 図16は、性能劣化要因推定処理手順の一例を示すフローチャート(その1)である。 図17は、性能劣化要因推定処理手順の一例を示すフローチャート(その2)である。 図18は、性能劣化要因推定処理手順の一例を示すフローチャート(その3)である。 図19は、本実施の形態における性能劣化要因推定処理における効果の一例を示す説明図(その1)である。 図20は、本実施の形態における性能劣化要因推定処理における効果の一例を示す説明図(その2)である。 図21は、本実施の形態における性能劣化要因推定処理における効果の一例を示す説明図(その3)である。 図22は、実施例におけるシステム2200の構成例を示す説明図である。 図23は、応答ログデータ611の記憶内容の一例を示す説明図である。 図24は、要求処理時間の算出例を示す説明図である。 図25は、アクセス密度の算出例を示す説明図である。 図26は、アクセス密度の平均と変動係数との算出例を示す説明図(その1)である。 図27は、アクセス密度の平均と変動係数との算出例を示す説明図(その2)である。 図28は、適合度検定による要因切り分けの一例を示す説明図である。 図29は、適合度検定の一例を示す説明図である。 図30は、適合度検定の他の例を示す説明図である。 図31は、実施例における性能劣化要因推定結果の出力例を示す説明図である。
以下に図面を参照して、開示の性能劣化要因推定プログラム、および性能劣化要因推定装置の実施の形態を詳細に説明する。
図1は、本実施の形態にかかる性能劣化要因推定装置101の動作例を示す説明図である。性能劣化要因推定装置101は、例えば、サーバである。具体的には、性能劣化要因推定装置101は、クラウド環境で稼動するアプリケーションソフトウェアの性能が劣化した要因を特定するコンピュータである。以下、アプリケーションソフトウェアを、「アプリ」と称する。クラウド環境で稼動するアプリとしては、例えば、Webサービスを提供するWebアプリがある。
ここで、クラウド環境で稼動するWebアプリについて説明する。クラウド環境で稼動するWebアプリは、クラウドサービスにより提供された仮想マシン(VM:Virtual Machine)やコンテナ上で稼動する。ここで、コンテナとは、いくつかのアプリをグループ化し、他のグループやグループに属していないアプリからは隔離された空間である。
Webアプリは、HTTP(HyperText Transfer Protocol)のリクエストを受け付けると、自身に定義された処理を行い、処理の結果をレスポンスとして返す。リクエストを受け付けた時刻からレスポンスを返すまでの時刻である応答時間は、Webアプリの代表的な性能指標値となる。例えば、Webアプリに対するアクセス負荷が増加した場合、応答時間の増加につながりうる。以下の記載では、応答時間が増加することを、「応答時間の悪化」と呼称する。
また、VMは、VMを動作させるクラウドを形成する物理サーバやネットワークにおける資源競合の影響により、処理能力が低下する場合がある。この場合、VM上で稼働するWebアプリの応答時間の悪化につながりうる。
このように、Webアプリの応答時間の悪化の要因が複数ある。また、それぞれの要因に応じた対処を行う管理者が別々の場合がある。具体的には、クラウドを管理する管理者と、Webアプリを管理する管理者とが別人となることがある。従って、Webアプリの応答時間が悪化した際に、要因を適切に切り分けることが求められる。要因を適切に切り分けられず、適切でない管理者に通知してしまうと、適切な対処が行えないため、応答時間の悪化が解消するまでに時間がかかってしまう場合がある。
応答時間の悪化の要因を推定する技術としては、例えば、アクセス頻度と応答時間とに基づいて、応答時間が悪化した要因が、アプリケーションソフトウェア側にあるのか、クラウド環境側にあるのかを推定する技術がある。アプリケーションソフトウェア側の要因としては、Webアプリに対するアクセス負荷の増加である。クラウド環境側の要因とは、クラウドを形成する物理サーバやネットワークにおける資源競合である。以下、2つの要因を、それぞれ、「アクセス負荷の増加」、「資源競合」と呼称する。
しかしながら、アクセス頻度と応答時間とに基づいて要因を推定する技術では、要因の推定を誤る場合がある。例えば、ある期間の一部においてソフトウェアに対してバースト的なアクセスが発生しても、他の部分においてアクセス数が少なければアクセス頻度は低くなるため、性能劣化の要因が、資源競合であるという誤った推定となる。また、アクセスごとに処理要求量が異なる場合にも、要因の推定を誤る場合がある。また、VM、コンテナのCPU(Central Processing Unit)使用率等の性能情報を観察することにより、Webアプリへの負荷の増加を判断することも考えられるが、CPU使用率が取得できない場合にも、要因の推定を誤る場合がある。要因の推定を誤るケースについては、図3〜図5で説明する。
そこで、本実施の形態では、アクセス種別ごとの最小応答時間に基づくアクセス密度の変動係数の分布が正常時間区間と分析時間区間とで一致するか否かに応じて、応答時間の悪化要因を推定する方法について説明する。ここで、変動係数とは、標準偏差を平均で割った値である。変動係数は、分布のばらつきの程度を表す値である。また、本実施の形態では、アクセス種別ごとの最小応答時間に基づくアクセス密度の平均の分布が正常時間区間と分析時間区間とで一致するか否かに応じて、応答時間悪化要因を推定してもよい。こちらについても併せて図1で説明する。
ここで、アクセス種別は、Webアプリへのリクエストである要求処理と、要求処理の処理結果となる応答結果との組み合わせである。例えば、要求処理として、異なるURL(Uniform Resource Locator)へのアクセスは、異なるアクセス種別となる。また、同一のURLへのアクセスであるとしても、応答結果が異なる場合、異なるアクセス種別となる。
また、アクセス密度とは、アクセス種別ごとの出現回数分、アクセス種別に対応する最小の応答時間を累積した値を合計した値である。アクセス種別に対応する最小の応答時間は、アクセス種別ごとの、バーストによる遅延や、資源競合による遅延を含まない基準となる処理時間と近似できる。以下、最小の応答時間を、「要求処理時間」と呼称する場合がある。
図1に示す性能劣化要因推定装置101は、複数のアクセス種別のいずれかとなるWebアプリへの各アクセスの応答時間を記憶する。図1で示すグラフ102は、性能劣化要因推定装置101が記憶する各アクセスの応答時間のうちの、ある1つのアクセス種別におけるアクセスに対する応答時間を示す。グラフ102の横軸は、アクセスのリクエスト時刻を示す。グラフ102の縦軸は、アクセスの応答時間を示す。
図1の(1)で示すように、性能劣化要因推定装置101は、第1の期間となる正常時間区間ntを、第1の期間長で分割した各期間となる各小時間区間stに対応するアクセス密度を算出する。図1の例では、性能劣化要因推定装置101は、例えば、正常時間区間ntに含まれる小時間区間st1〜4それぞれのアクセス密度を算出する。また、小時間区間stに対応するアクセスは、アクセスのリクエストの時刻が小時間区間stに含まれているものである。または、小時間区間stに対応するアクセスは、アクセスのレスポンスの時刻が小時間区間stに含まれているものとしてもよい。
次に、図1の(2)で示すように、性能劣化要因推定装置101は、各小時間区間stのアクセス密度に基づき、正常時間区間ntを第1の期間長より長い第2の期間長で分割した各期間となる各中時間区間mtに対応するアクセス密度の変動係数を算出する。また、性能劣化要因推定装置101は、小時間区間stに対応するアクセス密度に基づいて、正常時間区間ntに含まれる中時間区間mtに対応するアクセス密度の平均を算出する。図1の例では、中時間区間mt1には、小時間区間st1〜4が含まれる。従って、性能劣化要因推定装置101は、小時間区間st1〜4に対応するアクセス密度から、中時間区間mt1の平均と変動係数とを算出する。
また、図1の(3)で示すように、性能劣化要因推定装置101は、応答時間が悪化したと特定された第2の期間となる分析時間区間atを、第3の期間長で分割した各期間となる各小時間区間stに対応するアクセス密度を算出する。ここで、第3の期間長は、第1の期間長と同一であることが好ましい。例えば、第1、第3の期間長は、例えば、1秒間である。また、分析時間区間atの特定例については、図13、図14で説明する。図1の例では、性能劣化要因推定装置101は、例えば、分析時間区間atに含まれる小時間区間st5〜8それぞれのアクセス密度を算出する。
次に、図1の(4)で示すように、性能劣化要因推定装置101は、各小時間区間stのアクセス密度に基づき、分析時間区間atを第3の期間長より長い第4の期間長で分割した各期間となる各中時間区間mtに対応するアクセス密度の変動係数を算出する。ここで、第4の期間長は、第2の期間長と同一であることが好ましい。例えば、第2、第4の期間長は、例えば、10秒間である。また、性能劣化要因推定装置101は、各小時間区間stに対応するアクセス密度に基づいて、分析時間区間atに含まれる各中時間区間mtに対応するアクセス密度の平均を算出する。図1の例では、中時間区間mt2には、小時間区間st5〜8が含まれる。従って、性能劣化要因推定装置101は、小時間区間st5〜8に対応するアクセス密度から、中時間区間mt2の平均と変動係数とを算出する。
そして、図1の(5)で示すように、性能劣化要因推定装置101は、正常時間区間ntに含まれる各中時間区間と分析時間区間atに含まれる各中時間区間の間で、アクセス密度の変動係数の分布の適合度検定を行う。また、性能劣化要因推定装置101は、正常時間区間ntに含まれる各中時間区間と分析時間区間atに含まれる各中時間区間の間で、アクセス密度の平均の分布の適合度検定を行ってもよい。適合度検定としては、コルモゴロフ・スミルノフ(K−S:Kolmogorov−Smirnov)検定が好ましい。適合度検定により、2つの分布が一致したか否かという検定結果が得られる。
次に、図1の(6)で示すように、性能劣化要因推定装置101は、検定結果に基づいて、分析時間区間atの応答時間が悪化した要因を特定する。図1では、アクセス密度の変動係数と平均との関係をグラフ103として示す。グラフ103の横軸は、アクセス密度の平均を示す。グラフ103の縦軸は、アクセス密度の変動係数を示す。また、黒で塗りつぶした点が、正常時間区間ntのデータであり、網掛けを付与した点が、分析時間区間atにバースト的なアクセスが発生した場合のデータであり、白抜きの点が、分析時間区間atに異なる処理要求量のアクセスが含まれる場合のデータである。
グラフ103が示すように、バースト的なアクセスが含まれる場合、アクセス密度の変動係数が増加するようになり、検定結果は、正常時間区間ntと分析時間区間atの間で、アクセス密度の変動係数の分布が一致しないことを示す。このような検定結果である場合、性能劣化要因推定装置101は、応答時間が悪化した要因が、アクセス負荷の増加であると特定する。より具体的には、性能劣化要因推定装置101は、応答時間が悪化した要因が、アクセス負荷のバースト的な増加であると特定してもよい。
また、グラフ103が示すように、異なる処理要求量のアクセスが含まれる場合、アクセス密度の平均が増加するようになり、検定結果は、正常時間区間ntと分析時間区間atの間で、アクセス密度の平均の分布が一致しないことを示す。このような検定結果である場合、性能劣化要因推定装置101は、応答時間が悪化した要因が、アクセス負荷の増加であると特定する。より具体的には、性能劣化要因推定装置101は、応答時間が悪化した要因が、アクセス負荷の平均的な増加であると特定してもよい。
このように、性能劣化要因推定装置101は、アクセス密度の変動係数の分布の適合度検定の検定結果から応答時間が悪化した要因を特定することにより、バースト的なアクセスがアクセス密度の変動係数に反映されるため、推定精度を向上させることができる。また、性能劣化要因推定装置101は、アクセス密度の平均の分布の適合度検定の検定結果から応答時間が悪化した要因を特定することにより、要求処理量の増加がアクセス密度の平均に反映されるため、推定精度を向上させることができる。
なお、図1の説明では、Webサービスを提供するWebアプリを本実施の形態の対象としたが、クラウドサービス上で動作し、外部からアクセスを受け付け、応答を返すソフトウェアであれば、どのようなものでもよい。また、本実施の形態の対象となるWebアプリは、1つでもよいし、複数でもよい。次に、性能劣化要因推定装置101のハードウェア構成について、図2を用いて説明する。
図2は、性能劣化要因推定装置101のハードウェア構成例を示す説明図である。図2において、性能劣化要因推定装置101は、CPU201と、ROM(Read−Only Memory)202と、RAM(Random Access Memory)203と、を含む。また、性能劣化要因推定装置101は、ディスクドライブ204およびディスク205と、通信インターフェース206と、を含む。また、CPU201〜ディスクドライブ204、通信インターフェース206はバス207によってそれぞれ接続される。
CPU201は、性能劣化要因推定装置101の全体の制御を司る演算処理装置である。CPU201は、複数のプロセッサコアを有してもよい。
ROM202は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM203は、CPU201のワークエリアとして使用される揮発性メモリである。
ディスクドライブ204は、CPU201の制御に従ってディスク205に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ204には、例えば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク205は、ディスクドライブ204の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ204が磁気ディスクドライブである場合、ディスク205には、磁気ディスクを採用することができる。また、ディスクドライブ204が光ディスクドライブである場合、ディスク205には、光ディスクを採用することができる。また、ディスクドライブ204がソリッドステートドライブである場合、ディスク205には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
通信インターフェース206は、ネットワーク等と内部のインターフェースを司り、他の装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース206は、通信回線を通じてネットワーク等を介して他の装置に接続される。通信インターフェース206には、例えば、モデムやLAN(Local Area Network)アダプタなどを採用することができる。
また、性能劣化要因推定装置101の管理者が、性能劣化要因推定装置101を直接操作する場合、性能劣化要因推定装置101は、ディスプレイ、キーボード、マウスといったハードウェアを有してもよい。
次に、応答時間悪化の要因の誤判定が発生する3つの例について、図3〜図5を用いて説明する。
図3は、応答時間悪化の要因の誤判定が発生する第1の例を示す説明図である。第1の例は、バースト的なアクセスによる応答悪化があった場合である。図3の上部には、バースト的なアクセスが発生しない一様なアクセス傾向を示すグラフ301を示す。また、図3の下部には、バースト的なアクセスが発生したアクセス傾向を示すグラフ302を示す。このように、グラフ301とグラフ302とで示す2つのアクセス傾向は、平均アクセス頻度については同じとなるが、グラフ302で示すアクセス傾向の方が、平均応答時間は悪化する。
具体的には、図3で示す楕円303内で示した短期間において、バースト的なアクセスが発生しており、この短期間で資源競合が発生する。図3の例では、平均アクセス頻度を用いて判定する場合、平均アクセス頻度が同一であるため、Webアプリへのアクセス負荷の増加であると判定することができない。
図4は、応答時間悪化の要因の誤判定が発生する第2の例を示す説明図である。第2の例は、アクセス種別の違いによる応答悪化があった場合である。図4では、アクセス群401、402について説明する。一連のアクセス群401、402は、共にアクセスは3つであるため、平均アクセス頻度は同一となる。しかし、アクセス群401の各アクセスは、URLが異なるので要求処理が異なることになり、異なるアクセス種別である。従って、アクセス群401、402は、平均アクセス頻度は同一であっても、図4に示すWebアプリ410に対する負荷は異なるものとなる。以下、一連のアクセス群と、次の一連のアクセス群とに含まれるURLが異なることを、「URL分布の変更」と呼称する。アクセス群401、402は、URL分布が異なるものとなる。
ここで、アクセス群401についてより詳細に説明する。アクセス群401に含まれるアクセス411、412とは、URLが異なるので要求処理が異なることになり、異なるアクセス種別である。そして、異なるアクセス種別のアクセスの応答時間は、異なるものとなる。具体的には、図4の例では、Webアプリ410は、アクセス411を受け付けた場合にはid=1の処理を行うのに対し、アクセス412を受け付けた場合にはid=2の処理を行うため、処理が異なるので異なる応答時間となる。図4の例で示すURL分布の変更があると、平均アクセス頻度を用いて判定する場合、平均アクセス頻度が同一であるため、Webアプリへのアクセス負荷の増加であると判定することができない。
図5は、応答時間悪化の要因の誤判定が発生する第3の例を示す説明図である。第3の例は、受け付けたアクセスに応じて、他サーバへの外部アクセスが発生する場合である。この場合、アクセスを受け付けたサーバは、他サーバのCPU使用率といった性能情報を取得することができない。従って、アクセスを受け付けたサーバは、他サーバからの応答時間を観察して、他サーバの負荷状況を推定することしかできず、誤判定が発生し得る。
例えば、図5の例では、データセンタ1内のコンピュータ上でVM1が動作しており、VM1上でWebアプリ501が動作している。また、データセンタ2内のコンピュータ上でVM2が動作しており、VM2上でDB(DataBase)サーバ502が動作している。図5の場合、Webアプリ501におけるアクセスの応答時間が悪化したとしても、VM2を動作させているコンピュータのCPU使用率といった性能情報を取得することができないため、VM2からの応答時間を観察して、負荷状況を推定するしかない。
図3〜図5のような応答時間悪化の要因の誤判定が発生する例について、誤判定を抑制する機能構成例を、図6を用いて説明する。
(性能劣化要因推定装置101の機能構成例)
図6は、性能劣化要因推定装置101の機能構成例を示す説明図である。性能劣化要因推定装置101は、制御部600を有する。制御部600は、第1アクセス算出部601と、第1平均・変動係数算出部602と、分析時間区間特定部603と、第2アクセス算出部604と、第2平均・変動係数算出部605と、要因特定部606とを含む。制御部600は、記憶装置に記憶されたプログラムをCPU201が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図2に示したROM202、RAM203、ディスク205などである。また、各部の処理結果は、CPU201のレジスタや、CPU201のキャッシュメモリ、RAM203等に格納される。
また、性能劣化要因推定装置101は、記憶部610にアクセス可能である。記憶部610は、RAM203、ディスク205等である。記憶部610には、応答ログデータ611と、分析結果612とが含まれる。応答ログデータ611は、複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する。応答ログデータ611の記憶内容の一例は、図23で示す。分析結果612は、応答時間が悪化した要因を記憶する。分析結果612の記憶内容の一例は、図15、図31で示す。
第1アクセス算出部601は、応答ログデータ611を参照して、正常時間区間ntに含まれる小時間区間stに対応するアクセス密度を算出する。例えば、第1アクセス算出部601は、下記(1)式により、小時間区間stに対応するアクセス密度を算出する。
小時間区間stに対応するアクセス密度=Σアクセス種別の出現回数×アクセス種別の要求処理時間 …(1)
第1平均・変動係数算出部602は、第1アクセス算出部601が算出した各小時間区間stに対応するアクセス密度に基づいて、正常時間区間ntに含まれる各中時間区間mtに対応する変動係数を算出する。また、第1平均・変動係数算出部602は、各小時間区間stに対応するアクセス密度に基づいて、正常時間区間ntに含まれる各中時間区間mtに対応する平均を算出してもよい。
分析時間区間特定部603は、アクセスの応答時間が所定の閾値を超えた時刻に基づいて、分析時間区間atを特定する。例えば、分析時間区間特定部603は、所定の閾値を超えた時刻から10分間を、分析時間区間atとして特定する。また、分析時間区間atは、正常時間区間ntと同一の時間長でもよいし、異なる時間長でもよい。所定の閾値は、例えば、分析対象アプリの管理者が指定する値である。また、所定の閾値は、URLごとに事前に定義されたSLA(Service Level Agreement)でもよい。
また、分析時間区間特定部603は、Webアプリのユーザからのクレームが発生した時刻に基づいて、分析時間区間atを特定してもよい。例えば、分析時間区間特定部603は、Webアプリのユーザが操作するコンピュータから、クレームを示す情報とクレームが発生した時刻を示す情報とを受け付けた際に、クレームが発生した時刻の前後5分間を、分析時間区間atとして特定する。また、クレームが発生した時刻を受け付けず、クレームを示す情報だけを受け付けた場合、分析時間区間特定部603は、クレームを示す情報を受け付けた時刻を、クレームが発生した時刻としてもよい。
第2アクセス算出部604は、応答ログデータ611を参照して、分析時間区間atに含まれる小時間区間stに対応するアクセス密度を算出する。第2平均・変動係数算出部605は、第2アクセス算出部604が算出した各小時間区間stに対応するアクセス密度に基づいて、分析時間区間atに含まれる各中時間区間mtに対応する変動係数を算出する。また、第2平均・変動係数算出部605は、各小時間区間stに対応するアクセス密度に基づいて、分析時間区間atに含まれる各中時間区間mtに対応する平均を算出してもよい。
要因特定部606は、正常時間区間ntおよび分析時間区間atに含まれる各中時間区間mtに対応する変動係数の分布の適合度検定による検定結果に基づいて、分析時間区間ntの応答時間の悪化の要因を特定する。また、要因特定部606は、正常時間区間ntおよび分析時間区間atに含まれる各中時間区間mtに対応する平均の分布の適合度検定による検定結果に基づいて、分析時間区間atの応答時間の悪化の要因を特定してもよい。
例えば、要因特定部606は、変動係数の分布に関する検定結果が、分布が同一であることを示し、かつ、平均の分布に関する検定結果が、分布が同一であることを示す場合、分析時間区間atの応答時間の悪化の要因が資源競合であると特定する。また、要因特定部606は、変動係数の分布に関する検定結果が、分布が異なることを示す、または、平均の分布に関する検定結果が、分布が異なることを示す場合、分析時間区間atの応答時間の悪化の要因がアクセス負荷の増加であると特定する。
また、要因特定部606は、変動係数の分布に関する検定結果が、分布が異なることを示す場合、分析時間区間atの応答時間の悪化の要因がアクセス負荷のバースト的な増加であると特定してもよい。また、要因特定部606は、平均の分布に関する検定結果が、分布が異なることを示す場合、分析時間区間atの応答時間の悪化の要因がアクセス負荷の平均的な増加であると特定してもよい。
要因特定部606は、特定した結果を、分析結果612に格納する。また、要因特定部606は、要因が資源競合であると特定した場合に、クラウドの管理者が操作するコンピュータに通知し、要因がアクセス負荷の増加であると特定した場合に、分析対象アプリの管理者が操作するコンピュータに通知してもよい。
次に、制御部600で示した機能の詳細を、図7〜図15を用いて説明する。
図7は、要求処理時間の算出方法の一例を示す説明図である。性能劣化要因推定装置101は、アクセスの種別ごとに最小の応答時間、すなわち要求処理時間を記憶する。この最小応答時間は、アクセスの種類ごとの遅延を含まない基準となる処理時間とみなすことができる。
図7の例で示すグラフ701は、正常時間区間ntにおける、ある1種のアクセスの種別に対する、アクセスごとの応答時間を示す。グラフ701の横軸は、時刻を示し、グラフ701の縦軸は、応答時間を示す。グラフ701の各点は、アクセスの時刻と、アクセスの応答時間を示す。グラフ701の各点が示すように、ある1種のアクセスの種別での最小の応答時間は、約4[msec]となる。従って、性能劣化要因推定装置101は、ある1種のアクセスの種別の要求処理時間を、約4[msec]と記憶する。
図8は、アクセス密度の算出方法の一例を示す説明図である。性能劣化要因推定装置101は、正常時間区間より短い各小時間区間に対して、アクセス密度を算出する。要求処理時間の総和が、アクセス密度となる。
例えば、性能劣化要因推定装置101は、図8に示す小時間区間st1のアクセス密度を、小時間区間st1に含まれるアクセスの回数に、要求処理時間を乗じた値を算出して得られた値とする。
図9は、アクセス密度の算出方法の補正例を示す説明図である。ここで、アクセス密度を算出する際に、分析対象アプリが、外部アプリのサービス、例えば、外部API(Application Programming Interface)を利用する場合には、性能劣化要因推定装置101は、外部アプリへのアクセス密度を全て算出し、分析対象アプリへのアクセス密度から減算する。
例えば、図9では、分析対象アプリ901は、外部アプリ902−1、2を利用する。この場合、性能劣化要因推定装置101は、分析対象アプリ901へのアクセス密度を、下記(2)式を用いて算出する。
分析対象アプリ901へのアクセス密度=アクセス密度1−アクセス密度2−アクセス密度3 …(2)
ここで、アクセス密度1〜3は、それぞれ、図8で説明した方法により算出したアクセス密度である。アクセス密度1が、図8で説明した方法により算出した分析対象アプリ901へのアクセス密度である。同様に、アクセス密度2、3が、それぞれ、図8で説明した方法により算出した外部アプリ902−1、2へのアクセス密度である。ここで、外部アプリ902−1、2のどちらかが性能低下した場合、性能劣化要因推定装置101は、アクセス密度2、3のうちの対応するアクセス密度を観察することで性能低下を検知することが可能である。
図10は、アクセス密度平均とアクセス密度変動係数との算出例を示す説明図である。性能劣化要因推定装置101は、各中時間区間に対して、各中時間区間内の各小時間区間のアクセス密度から、平均と変動係数とを算出する。
例えば、性能劣化要因推定装置101は、図10に示す中時間区間mt1のアクセス密度の平均と変動係数とを、図10に示す小時間区間st1〜8のアクセス密度から算出する。
また、性能劣化要因推定装置101は、応答時間が悪化した時間を含む分析時間区間atについても、同様にアクセス密度の平均と変動係数とを算出する。
図11は、適合度検定による性能劣化要因推定の一例を示す説明図(その1)である。性能劣化要因推定装置101は、正常時間区間ntと分析時間区間atの間で、アクセス密度の平均の分布と、変動係数の分布とに関して、適合度検定を行い、分布が同一のものかどうか判定する。
アクセス密度の平均の分布が異なる場合、性能劣化要因推定装置101は、アクセス負荷の平均的な増加による応答悪化であると判定する。平均的な増加としては、アクセス頻度の増加や、各アクセスの処理量の増加が挙げられる。
アクセス密度の変動係数の分布が異なる場合、性能劣化要因推定装置101は、アクセス負荷のバースト的な増加による応答悪化であると判定する。変動係数の分布が異なる場合とは、アクセス密度のばらつきが大きいため、アクセス負荷のバースト的な増加が要因であると推定することができる。
アクセス密度の平均の分布およびアクセス密度の変動係数の分布が同一である場合、性能劣化要因推定装置101は、資源競合による応答悪化であると判定する。このように、アクセス負荷が正常時と変化がない場合には、アクセス負荷の増加が要因ではなく、資源競合が要因であると推定することができる。
図11に示すグラフ1101は、正常時間区間ntと、分析時間区間at1、2とのアクセス密度の平均と変動係数との関係を示したグラフである。グラフ1101の横軸は、アクセス密度の平均を1000倍した値を示す。また、グラフ1101の縦軸は、アクセス密度の変動係数を示す。そして、黒で塗りつぶした点が、正常時間区間ntのデータであり、白抜きの点が、分析時間区間at1のデータであり、網掛けを付与した点が、分析時間区間at2のデータであることを示す。
分析時間区間at1のデータは、正常時間区間ntのデータと比較すると、アクセス密度の平均の分布が異なっている。従って、性能劣化要因推定装置101は、分析時間区間at1の性能劣化の要因が、アクセス負荷の平均的な増加による応答悪化であると判定する。
また、分析時間区間at2のデータは、正常時間区間ntのデータと比較すると、アクセス密度の平均の分布も同一であるし、アクセス密度の変動係数の分布も同一である。従って、性能劣化要因推定装置101は、分析時間区間at2の性能劣化の要因が、資源競合による応答悪化であると判定する。
図12は、適合度検定による性能劣化要因推定の一例を示す説明図(その2)である。図12では、具体的な値を示して、適合度検定について説明する。図12で示す表1201、1202は、それぞれ、正常時間区間nt、分析時間区間atから得た各中時間区間のアクセス密度の平均と変動係数との算出結果である。図12に示す表1201は、レコード1201−1〜10を有する。また、図12に示す表1202は、レコード1202−1〜10を有する。
表1201、1202は、それぞれ、中時間区間ID(IDentifier)と、アクセス密度平均と、アクセス密度変動係数というフィールドを含む。中時間区間IDフィールドには、中時間区間を識別する値が格納される。アクセス密度平均フィールドには、アクセス密度の平均が格納される。アクセス密度変動係数フィールドには、アクセス密度の変動係数が格納される。例えば、レコード1201−1は、中時間区間1のアクセス密度の平均が72.675であり、アクセス密度の変動係数が0.719であることを示す。
性能劣化要因推定装置101は、表1201のアクセス密度平均フィールドの各値と、表1202のアクセス密度平均フィールドの各値とに対して、適合度検定を行う。また、性能劣化要因推定装置101は、表1201のアクセス密度変動係数フィールドの各値と、表1202のアクセス密度変動係数フィールドの各値とに対して、適合度検定を行う。性能劣化要因推定装置101は、アクセス密度の平均および変動係数の両方の分布が同一であると判定した場合、図11で示したように、性能劣化の要因が、資源競合による応答悪化であると判定する。また、性能劣化要因推定装置101は、アクセス密度の平均および変動係数の両方の分布の一方でも異なると判定した場合、図11で示したように、性能劣化の要因が、アクセス負荷の増加による応答悪化であると判定する。
次に、分析時間区間atの2つの特定例について、図13、図14を用いて説明する。具体的には、図13において、SLAが達成されなかったという事象が起きた際に分析時間区間atを特定する方法を説明し、図14において、クレームが発生したという事象が起きた際に、分析時間区間atを特定する方法について説明する。
図13は、分析時間区間atの第1の特定例を示す説明図である。分析時間区間atの第1の特定例は、URLごとに事前定義された応答時間に関するSLAが達成されなかったという事象が起きた際に、性能劣化が発生したと特定する方法である。SLAの一例としては、99%以上のアクセスで応答時間が所定の応答時間閾値以内に抑えられている等が挙げられる。性能劣化要因推定装置101は、SLA未達成と判定された時点から所定時間、例えば、5分間、10分間などが経過した時点までの時間区間を、分析時間区間atとして特定する。
例えば、図13で示すグラフ1301は、ある期間における、アクセスに対する応答時間を示す。そして、応答時間閾値が15[msec]に設定されていたとする。そして、グラフ1301で示すように、性能劣化要因推定装置101が、時刻t1において、SLA未達成であると判定したとする。この場合、性能劣化要因推定装置101は、時刻t1から所定時間が経過するまでの時間区間を、分析時間区間atとして特定する。
図14は、分析時間区間atの第2の特定例を示す説明図である。分析時間区間atの第2の特定例は、Webアプリのユーザといった外部から性能に関するクレームが発生した事象が発生した際に、性能劣化が発生したと特定する方法である。例えば、性能劣化要因推定装置101は、クレームを受け付けた時刻を含む周辺、例えば、前後5分間を分析時間区間atとして特定する。
例えば、図14で示すグラフ1401は、ある期間における、アクセスに対する応答時間を示す。そして、グラフ1401で示すように、時刻t1に、クレームが発生したとする。この場合、性能劣化要因推定装置101は、時刻t1の前後5分間を分析時間区間atとして特定する。
図15は、性能劣化要因推定結果の出力例を示す説明図である。図15に示す分析結果612は、性能劣化要因推定装置101が図13、図14で示した特定した分析時間区間atごとに、要因推定結果を出力したものをまとめたテーブルである。図15に示す分析結果612は、レコード1501−1〜5を有する。
分析結果612は、時刻と、事象と、要因推定結果というフィールドを含む。時刻フィールドには、事象フィールドにより特定した事象を示す値が格納される。事象フィールドには、図13や図14で示した分析時間区間atを特定した事象を示す文字列が格納される。要因推定結果フィールドには、要因推定結果を示す値が格納される。例えば、レコード1501−1は、2015.11.12T13:35:09に、SLA未達成という事象が発生しており、要因推定結果が、アクセス負荷の増加であることを示す。
図15に示す管理者mは、分析対象となるWebアプリの管理者、または、Webアプリを動作させるクラウドの管理者である。例えば、管理者mが、クラウドの管理者であるとする。この場合、管理者mは、例えば、レコード1501−2の内容を閲覧して、Webアプリの管理者に、アクセス負荷の増加があったことを通知する。また、管理者mは、例えば、レコード1501−3の内容を閲覧して、VMやコンテナへの資源割り当てを確認する。
また、管理者mが、Webアプリの管理者であるとする。この場合、管理者mは、レコード1501−2の内容を閲覧して、アクセス負荷の増加であることがわかるため、例えば、応答ログデータ611の確認やWebアプリの処理内容の確認を行う。
図16は、性能劣化要因推定処理手順の一例を示すフローチャート(その1)である。また、図17は、性能劣化要因推定処理手順の一例を示すフローチャート(その2)である。また、図18は、性能劣化要因推定処理手順の一例を示すフローチャート(その3)である。
性能劣化要因推定装置101は、正常時間区間ntの応答ログデータ611を取得する(ステップS1601)。例えば、性能劣化要因推定装置101は、正常時間区間ntとして、直近10分間の応答ログデータ611を取得する。
次に、性能劣化要因推定装置101は、正常時間区間ntに含まれる小時間区間ごとにアクセス密度を算出する(ステップS1602)。そして、性能劣化要因推定装置101は、正常時間区間ntに含まれる中時間区間ごとにアクセス密度の平均・変動係数を算出する(ステップS1603)。次に、性能劣化要因推定装置101は、各中時間区間のアクセス密度平均・変動係数を記憶する(ステップS1604)。ここで、性能劣化要因推定装置101は、既に記憶されている平均・変動係数があれば、今回算出した値で更新する。そして、性能劣化要因推定装置101は、一定時間待機する(ステップS1605)。
そして、性能劣化要因推定装置101は、一定割合以上のアクセスで応答時間が応答時間閾値を超過したか否かを判断する(ステップS1606)。一定割合以上のアクセスで応答時間が応答時間閾値を超過していない場合(ステップS1606:No)、性能劣化要因推定装置101は、続けて、クレームが発生したか否かを判断する(ステップS1607)。クレームが発生していない場合(ステップS1607:No)、性能劣化要因推定装置101は、正常時間区間を更新する(ステップS1608)。
一方、一定割合以上のアクセスで応答時間が応答時間閾値を超過した場合(ステップS1606:Yes)、またはクレームが発生した場合(ステップS1607:Yes)、性能劣化要因推定装置101は、閾値を超過した時刻や、クレームが発生した時刻に基づいて、分析時間区間atを特定する(ステップS1701)。そして、性能劣化要因推定装置101は、分析時間区間atの応答ログデータ611を取得する(ステップS1702)。次に、性能劣化要因推定装置101は、分析時間区間atに含まれる小時間区間ごとにアクセス密度を算出する(ステップS1703)。そして、性能劣化要因推定装置101は、分析時間区間atに含まれる中時間区間ごとにアクセス密度平均・変動係数を算出する(ステップS1704)。次に、性能劣化要因推定装置101は、各中時間区間のアクセス密度平均・変動係数を記憶する(ステップS1705)。
そして、性能劣化要因推定装置101は、記憶した正常時間区間ntと分析時間区間atとのアクセス密度の平均分布について、適合度を正常時間区間ntと分析時間区間atとの間で検定する(ステップS1801)。次に、性能劣化要因推定装置101は、検定結果が同一分布を示すか否かを判断する(ステップS1802)。検定結果が同一分布を示す場合(ステップS1802:Yes)、性能劣化要因推定装置101は、続けて、記憶した正常時間区間ntと分析時間区間atとのアクセス密度変動係数分布について、適合度を正常時間区間ntと分析時間区間atとの間で検定する(ステップS1803)。そして、性能劣化要因推定装置101は、検定結果が同一分布を示すか否かを判断する(ステップS1804)。
検定結果が同一分布を示さない場合(ステップS1802:No、ステップS1804:No)、性能劣化要因推定装置101は、アクセス負荷の増加が要因と特定する(ステップS1805)。ここで、性能劣化要因推定装置101は、ステップS1802:Noであった際に、要因がアクセス負荷の平均的な増加であると特定し、ステップS1804:Noであった際に、要因がアクセス負荷のバースト的な増加であると特定してもよい。
一方、検定結果が同一分布を示す場合(ステップS1804:Yes)、性能劣化要因推定装置101は、資源競合が要因と特定する(ステップS1806)。ステップS1805、またはステップS1806の処理終了後、性能劣化要因推定装置101は、ステップS1805、またはステップS1806の処理で特定した要因を、要因推定結果として出力する(ステップS1807)。そして、性能劣化要因推定装置101は、性能劣化要因推定処理を終了する。
図19は、本実施の形態における性能劣化要因推定処理における効果の一例を示す説明図(その1)である。図19では、グラフ1901を用いて、本実施の形態における性能劣化要因推定処理における効果を説明する。グラフ1901では、平均アクセス頻度と、アクセス密度と、平均応答時間とを示す。グラフ1901では、平均アクセス頻度の変化を示す線を、点線で示す。同様に、アクセス密度の変化を示す線を、破線で示し、平均応答時間の変化を示す線を、実線で示す。
グラフ1901の横軸は、時間を示す。具体的には、グラフ1901の横軸は、中時間区間の秒数を乗じた時間を示す。例えば、中時間区間が5[秒間]である場合、グラフ1901上の169は、169×5=845[秒]を示す。グラフ1901の縦軸は、アクセス頻度、アクセス密度×1000、応答時間を示す。
URL分布が変更した場合、グラフ1901が示すように、アクセス密度が増加するため、アクセス密度を用いることにより、性能劣化の要因が、アクセス負荷の増加による応答悪化であると判定することができる。これに対し、URL分布が変更しても、アクセス頻度には変化がないため、誤判定する可能性がある。このように、本実施の形態では、アクセス密度を用いることにより、誤判定を抑制し、要因の切り分け精度を向上させることができる。
また、資源競合時には、アクセス密度の変化は、平均アクセス頻度と同様となる。従って、本実施の形態は、性能劣化の要因が、資源競合による場合であっても、平均アクセス頻度を用いる場合と同程度に判定することができ、適切に判定することができる。
図20は、本実施の形態における性能劣化要因推定処理における効果の一例を示す説明図(その2)である。図20で示すグラフ2001は、正常時、URL分布の変更時、資源競合時のそれぞれの平均アクセス頻度を示す。グラフ2001の横軸は、平均アクセス頻度を示す。そして、黒で塗りつぶした点が、正常時のデータであり、白抜きの点が、URL分布の変更時のデータであり、網掛けを付与した点が、資源競合時のデータであることを示す。
グラフ2001が示すように、URL分布の変更時のデータおよび資源競合時のデータともに、平均アクセス頻度には大きな変化が現れない。従って、平均アクセス頻度を用いて判定すると、URL分布の変更時でも資源競合時でも、性能劣化の要因が資源競合であると判定してしまうことになる。このように、平均アクセス頻度を用いて判定すると、URL分布の変更時の場合、誤判定となる。
図21は、本実施の形態における性能劣化要因推定処理における効果の一例を示す説明図(その3)である。図21で示すグラフ2101は、正常時、URL分布の変更時、資源競合時のそれぞれのアクセス密度平均とアクセス密度変動係数との関係を示す。グラフ2101の横軸は、アクセス密度の平均を示す。また、グラフ2101の縦軸は、アクセス密度の変動係数を示す。そして、黒で塗りつぶした点が、正常時のデータであり、白抜きの点が、URL分布の変更時のデータであり、網掛けを付与した点が、資源競合時のデータであることを示す。
グラフ2101が示すように、URL分布の変更時のデータは、URL分布が変わることによって、アクセス密度の平均が変化することがわかる。従って、本実施の形態では、アクセス密度を用いて判定することにより、URL分布の変更時にアクセス負荷の増加であると判定することができ、誤判定を削減することができる。
(実施例)
次に、実施例として、性能劣化要因推定装置101をシステムに組み込んだ際について説明する。
図22は、実施例におけるシステム2200の構成例を示す説明図である。システム2200は、応答ログデータ蓄積サーバ2201と、性能劣化要因推定装置101と、分析結果保存サーバ2202とを有する。
応答ログデータ蓄積サーバ2201は、ロードバランサから得られたデータ、アプリログ、パケットキャプチャ、プロキシサーバから得られたデータ等を、応答ログデータ蓄積DB(DataBase)2211に格納する。
性能劣化要因推定装置101は、応答ログデータ蓄積サーバ2201にデータを要求し、応答ログデータ蓄積サーバ2201は、要求に応じて、応答ログデータ611を性能劣化要因推定装置101に送信する。そして、性能劣化要因推定装置101は、分析結果612を、分析結果保存サーバ2202へ出力する。分析結果保存サーバ2202は、受信した分析結果612を、分析結果保存DB2212に蓄積する。
図23は、応答ログデータ611の記憶内容の一例を示す説明図である。図23に示す応答ログデータ611は、レコード2301−1〜Nを有する。
応答ログデータ611は、時刻と、リクエストと、リクエストURLと、HTTPステータスコードと、応答時間と、ボディサイズというフィールドを含む。時刻フィールドには、リクエストの時刻を示す値が格納される。また、時刻フィールドに、レスポンスの時刻を示す値が格納されている際に、正常時間区間、分析時間区間at、小時間区間、中時間区間に含まれるアクセスか否かを判定する際には、レスポンスの時刻から応答時間を減じた値によって判定すればよい。リクエストフィールドには、リクエスト種別を示す文字列が格納される。具体的には、リクエストフィールドには、HTTPのリクエスト行で指定されるメソッドを識別する文字列が格納される。HTTPのリクエスト行で指定されるメソッドには、例えば、GET、POST等がある。
リクエストURLフィールドには、HTTPのリクエスト行に含まれるURLを示す値が格納される。HTTPステータスコードフィールドには、HTTPのレスポンス行に含まれるステータスコードを示す値が格納される。ステータスコードには、例えば、リクエストが成功したことを示す200、URLで指定されたリソースが見つからなかったことを示す404等がある。応答時間フィールドには、リクエストからレスポンスまでの時間を示す応答時間を示す値が格納される。ボディサイズフィールドには、レスポンスのボディサイズを示す値が格納される。
例えば、レコード2301−1は、時刻2015−12−01T17:52:35.80+0900において、GETメソッドでありURLが「/diagnosis?id=3」となるアクセスが、200というレスポンスであったことを示す。さらに、レコード2301−1は、リクエストからレスポンスまでの応答時間が3.86[秒]であり、ボディサイズが36736[バイト]であることを示す。
図24は、要求処理時間の算出例を示す説明図である。性能劣化要因推定装置101は、応答ログデータ611から、アクセスの種別ごとに、正常時間区間nt内、例えば、10分間で最小応答時間、すなわち、要求処理時間を記憶する。図24では、アクセス種別ごとの要求処理時間を記憶した要求処理時間テーブル2401を示す。図24で示す要求処理時間テーブル2401は、レコード2401−1〜8を有する。
要求処理時間テーブル2401は、アクセスの種別と、要求処理時間というフィールドを有する。アクセス種別フィールドには、応答ログデータ611のリクエストフィールド、リクエストURLフィールド、HTTPステータスコードフィールドの組み合わせを特定する情報が格納される。要求処理時間フィールドには、上述の組み合わせで特定されるアクセスの中で最小の応答時間を示す値が格納される。
例えば、レコード2401−1は、GETメソッドでありURLが「/alert」でありHTTPステータスコードが200となったアクセスのうち、最小の応答時間が0.374[秒]であることを示す。
図25は、アクセス密度の算出例を示す説明図である。性能劣化要因推定装置101は、小時間区間、例えば1秒間ごとに、全アクセスの要求処理時間の総和、アクセス密度を算出する。
図25の例で示す要求処理時間テーブル2501は、レコード2501−1〜8を有する。レコード2501−1〜8は、要求処理時間テーブル2401の各レコードに、アクセス回数フィールドと、要求処理時間×アクセス回数フィールドとを追加したものである。アクセス回数フィールドには、アクセスの種別フィールドに格納された情報で特定されるアクセスの回数を示す値が格納される。要求処理時間×アクセス回数フィールドには、要求処理時間にアクセス回数を乗算した値が格納される。レコード2301−1〜Nまでを1つの小時間区間とすると、性能劣化要因推定装置101は、下記式により、小時間区間のアクセス密度を算出する。
小時間区間のアクセス密度=0.374×6+1.507×5+…+0.331×5=57.752
図26は、アクセス密度の平均と変動係数との算出例を示す説明図(その1)である。図26では、正常時間区間ntをいくつかの中時間区間、例えば10秒間に、分割し、ある中時間区間に含まれる小時間区間ごとに算出したアクセス密度を記憶したアクセス密度情報テーブル2601を示す。図26に示すアクセス密度情報テーブル2601は、レコード2601−1〜10を有する。
性能劣化要因推定装置101は、各中時間区間mtにおけるアクセス密度の平均と変動係数とを算出する。図26では、性能劣化要因推定装置101は、図26に示すアクセス密度情報テーブル2601が有するレコード群から、アクセス密度の平均として72.6752と、アクセス密度の変動係数として0.719287834とを算出する。
図27は、アクセス密度の平均と変動係数との算出例を示す説明図(その2)である。図27では、中時間区間ごとに算出したアクセス密度の平均と変動係数とを記憶したアクセス密度平均・変動係数テーブル2701を示す。図27で示したアクセス密度平均・変動係数テーブル2701には、レコード2701−1〜10を有する。
図28は、適合度検定による要因切り分けの一例を示す説明図である。図28では、正常時間区間ntにおけるアクセス密度平均・変動係数テーブル2701と、分析時間区間atにおけるアクセス密度平均・変動係数テーブル2801とを示す。図28に示す分析時間区間atにおけるアクセス密度平均・変動係数テーブル2801は、レコード2801−1〜10を有する。性能劣化要因推定装置101は、アクセス密度平均・変動係数テーブル2701、2801を参照して、アクセス密度の平均、変動係数それぞれの分布の適合度検定を行う。
次に、適合度検定の2つの例を、図29、図30で示す。図29、図30において、正常時間区間ntのデータを、実線で示し、分析時間区間atのデータを、破線で示す。
図29は、適合度検定の一例を示す説明図である。図29では、正常時間区間nt、分析時間区間atの累積分布の一例を示したグラフ2901を示す。グラフ2901の例では、K−S検定p値は、0.0338であったとする。有意水準0.01の場合、性能劣化要因推定装置101は、同一分布であると判定する。
図30は、適合度検定の他の例を示す説明図である。図30では、正常時間区間nt、分析時間区間atの累積分布の他の例を示したグラフ3001を示す。グラフ3001の例では、K−S検定p値は、0.0000000414であったとする。同一分布である可能性が非常に低いため、性能劣化要因推定装置101は、異なる分布であると判定する。
図31は、実施例における性能劣化要因推定結果の出力例を示す説明図である。図31では、分析結果保存DB2212の具体的な内容を、レコード3101−1〜5として表示する。また、図31では、要因推定結果がアクセス負荷の増加であった場合に、アクセス負荷の平均的な増加なのか、アクセス負荷のバースト的な増加であるのかまで表示した例を示す。例えば、レコード3101−2は、2015.11.16T08:15:21に、クレーム受付という事象が発生しており、要因推定結果が、アクセス負荷のバースト的な増加であることを示す。
図31に示す管理者mは、分析対象となるWebアプリの管理者であるとする。この場合、例えば、管理者mは、例えば、レコード3101−2の内容を閲覧して、アクセス密度がバースト的に増加したことから、応答ログデータ611の中からバースト的にアクセス負荷が増加した箇所を探す。
以上説明したように、性能劣化要因推定装置101は、アクセス種別ごとの最小応答時間に基づくアクセス密度の変動係数の分布が正常時間区間ntと分析時間区間atとで一致するか否かに応じて、応答時間の悪化の要因を推定する。これにより、バースト的なアクセスが変動係数に反映されるため、性能劣化要因推定装置101は、推定精度を向上させることができる。判定精度が向上することにより、適切な管理者が適切な対処を迅速に行うことができる。
また、性能劣化要因推定装置101は、アクセス密度の平均の分布が正常時間区間ntと分析時間区間atとで一致するか否かに応じて応答時間の悪化の要因を特定してもよい。これにより、URL変更による処理時間増加がアクセス密度の平均に反映されるため、性能劣化要因推定装置101は、要因推定の精度を向上させることができる。
また、性能劣化要因推定装置101は、変動係数と平均との分布がともに一致する場合、応答時間の悪化の要因が資源競合であると特定してもよい。これにより、性能劣化要因推定装置101は、要因が資源競合であれば、クラウドの管理者に通知し、クラウドの管理者は、資源割り当てを確認する等といった適切な対処にすぐに取り掛かることができる。
また、性能劣化要因推定装置101は、変動係数と平均との分布のいずれか一方が異なる場合、応答時間の悪化の要因がアクセス負荷の増加であると特定してもよい。これにより、性能劣化要因推定装置101は、要因がアクセス負荷の増加であればWebアプリの管理者に通知し、通知を受けた管理者は、応答ログデータ611の確認やWebアプリの処理内容の確認等といった適切な対処にすぐに取り掛かることができる。
また、性能劣化要因推定装置101は、変動係数の分布が異なる場合、応答時間の悪化の要因がアクセス負荷のバースト的な増加であると特定してもよい。これにより、性能劣化要因推定装置101は、応答時間の悪化の要因がアクセス負荷のバースト的な増加であるとWebアプリの管理者に通知することができる。そして、通知を受けた管理者は、応答ログデータ611から、バースト的な増加が発生している箇所の確認といった適切な対処にすぐに取り掛かることができる。
また、性能劣化要因推定装置101は、平均の分布が異なる場合、応答時間の悪化の要因がアクセス負荷の平均的な増加であると特定してもよい。これにより、性能劣化要因推定装置101は、応答時間の悪化の要因がアクセス負荷の平均的な増加であると、Webアプリの管理者に通知することができる。そして、通知を受けた管理者は、応答ログデータ611から、Webアプリの処理内容の確認といった適切な対処にすぐに取り掛かることができる。
また、性能劣化要因推定装置101は、アクセスの応答時間が所定の閾値を超えた時刻に基づいて、分析時間区間atを特定してもよい。これにより、性能劣化要因推定装置101は、アクセスの応答時間が増加した時間区間を分析時間区間atとして、要因の推定を行うことができる。
また、性能劣化要因推定装置101は、アクセスのアクセス先となるWebアプリのユーザからのクレームが発生した時刻に基づいて、分析時間区間atを特定してもよい。これにより、性能劣化要因推定装置101は、アクセスの応答時間が増加したとユーザが感じた時間区間を分析時間区間atとして、要因の推定を行うことができる。
なお、本実施の形態で説明した性能劣化要因推定方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本性能劣化要因推定プログラムは、ハードディスク、フレキシブルディスク、CD−ROM(Compact Disc−Read Only Memory)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本性能劣化要因推定プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する記憶部を参照して、第1の期間を第1の期間長で分割した各期間に対応して、前記各期間に含まれるアクセスのアクセス種別の出現回数分、前記第1の期間における前記複数のアクセス種別の各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第1の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第1の期間を前記第1の期間長より長い第2の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記記憶部を参照して、前記第1の期間とは異なり、アクセスの応答時間が増加したと特定された第2の期間を第3の期間長で分割した各期間に対応して、当該各期間に含まれるアクセスのアクセス種別の出現回数分、前記第2の期間における前記各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第3の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第2の期間を前記第3の期間長より長い第4の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果に基づいて、前記第2の期間の応答時間の増加の要因を特定する、
処理を実行させることを特徴とする性能劣化要因推定プログラム。
(付記2)前記コンピュータに、
算出した前記第1の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第1の期間を前記第2の期間で分割した各期間に対応するアクセス密度の平均を算出し、
算出した前記第3の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第2の期間を前記第4の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果に基づいて、前記第2の期間の応答時間の増加の要因を特定する、
処理を実行させることを特徴とする付記1に記載の性能劣化要因推定プログラム。
(付記3)前記特定する処理は、
前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果によって当該分布が同一であることが示され、かつ、前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果によって当該分布が同一であることが示される場合、前記要因が資源競合であると特定する、
ことを特徴とする付記2に記載の性能劣化要因推定プログラム。
(付記4)前記特定する処理は、
前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果によって当該分布が異なることが示された場合、または、前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果によって当該分布が異なることが示される場合、前記要因がアクセス負荷の増加であると特定する、
ことを特徴とする付記2または3に記載の性能劣化要因推定プログラム。
(付記5)前記特定する処理は、
前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果によって当該分布が異なることが示される場合、アクセス負荷のバースト的な増加であると特定する、
ことを特徴とする付記4に記載の性能劣化要因推定プログラム。
(付記6)前記特定する処理は、
前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果によって当該分布が異なることが示される場合、アクセス負荷の平均的な増加であると特定する、
ことを特徴とする付記4または5に記載の性能劣化要因推定プログラム。
(付記7)前記コンピュータに、
アクセスの応答時間が所定の閾値を超えた時刻に基づいて、前記第2の期間を特定する、
処理を実行させることを特徴とする付記1〜6のいずれか一つに記載の性能劣化要因推定プログラム。
(付記8)前記コンピュータに、
前記各アクセスのアクセス先となるソフトウェアのユーザからのクレームが発生した時刻に基づいて、前記第2の期間を特定する、
処理を実行させることを特徴とする付記1〜7のいずれか一つに記載の性能劣化要因推定プログラム。
(付記9)複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する記憶部を参照して、第1の期間を第1の期間長で分割した各期間に対応して、前記各期間に含まれるアクセスのアクセス種別の出現回数分、前記第1の期間における前記複数のアクセス種別の各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第1の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第1の期間を前記第1の期間長より長い第2の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記記憶部を参照して、前記第1の期間とは異なり、アクセスの応答時間が増加したと特定された第2の期間を第3の期間長で分割した各期間に対応して、当該各期間に含まれるアクセスのアクセス種別の出現回数分、前記第2の期間における前記各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第3の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第2の期間を前記第3の期間長より長い第4の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果に基づいて、前記第2の期間の応答時間の増加の要因を特定する、
制御部を有することを特徴とする性能劣化要因推定装置。
(付記10)コンピュータが、
複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する記憶部を参照して、第1の期間を第1の期間長で分割した各期間に対応して、前記各期間に含まれるアクセスのアクセス種別の出現回数分、前記第1の期間における前記複数のアクセス種別の各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第1の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第1の期間を前記第1の期間長より長い第2の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記記憶部を参照して、前記第1の期間とは異なり、アクセスの応答時間が増加したと特定された第2の期間を第3の期間長で分割した各期間に対応して、当該各期間に含まれるアクセスのアクセス種別の出現回数分、前記第2の期間における前記各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
算出した前記第3の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第2の期間を前記第3の期間長より長い第4の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果に基づいて、前記第2の期間の応答時間の増加の要因を特定する、
処理を実行することを特徴とする性能劣化要因推定方法。
101 性能劣化要因推定装置
600 制御部
601 第1アクセス算出部
602 第1平均・変動係数算出部
603 分析時間区間特定部
604 第2アクセス算出部
605 第2平均・変動係数算出部
606 要因特定部
610 記憶部
611 応答ログデータ
612 分析結果

Claims (9)

  1. コンピュータに、
    複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する記憶部を参照して、第1の期間を第1の期間長で分割した各期間に対応して、前記各期間に含まれるアクセスのアクセス種別の出現回数分、前記第1の期間における前記複数のアクセス種別の各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
    算出した前記第1の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第1の期間を前記第1の期間長より長い第2の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
    前記記憶部を参照して、前記第1の期間とは異なり、アクセスの応答時間が増加したと特定された第2の期間を第3の期間長で分割した各期間に対応して、当該各期間に含まれるアクセスのアクセス種別の出現回数分、前記第2の期間における前記各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
    算出した前記第3の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第2の期間を前記第3の期間長より長い第4の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
    前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果に基づいて、前記第2の期間の応答時間の増加の要因を特定する、
    処理を実行させることを特徴とする性能劣化要因推定プログラム。
  2. 前記コンピュータに、
    算出した前記第1の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第1の期間を前記第2の期間で分割した各期間に対応するアクセス密度の平均を算出し、
    算出した前記第3の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第2の期間を前記第4の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
    前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果に基づいて、前記第2の期間の応答時間の増加の要因を特定する、
    処理を実行させることを特徴とする請求項1に記載の性能劣化要因推定プログラム。
  3. 前記特定する処理は、
    前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果によって当該分布が同一であることが示され、かつ、前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果によって当該分布が同一であることが示される場合、前記要因が資源競合であると特定する、
    ことを特徴とする請求項2に記載の性能劣化要因推定プログラム。
  4. 前記特定する処理は、
    前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果によって当該分布が異なることが示された場合、または、前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果によって当該分布が異なることが示される場合、前記要因がアクセス負荷の増加であると特定する、
    ことを特徴とする請求項2または3に記載の性能劣化要因推定プログラム。
  5. 前記特定する処理は、
    前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果によって当該分布が異なることが示される場合、アクセス負荷のバースト的な増加であると特定する、
    ことを特徴とする請求項4に記載の性能劣化要因推定プログラム。
  6. 前記特定する処理は、
    前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の平均の分布の適合度検定による検定結果によって当該分布が異なることが示される場合、アクセス負荷の平均的な増加であると特定する、
    ことを特徴とする請求項4または5に記載の性能劣化要因推定プログラム。
  7. 前記コンピュータに、
    アクセスの応答時間が所定の閾値を超えた時刻に基づいて、前記第2の期間を特定する、
    処理を実行させることを特徴とする請求項1〜6のいずれか一つに記載の性能劣化要因推定プログラム。
  8. 前記コンピュータに、
    前記各アクセスのアクセス先となるソフトウェアのユーザからのクレームが発生した時刻に基づいて、前記第2の期間を特定する、
    処理を実行させることを特徴とする請求項1〜7のいずれか一つに記載の性能劣化要因推定プログラム。
  9. 複数のアクセス種別のいずれかとなる各アクセスの応答時間を記憶する記憶部を参照して、第1の期間を第1の期間長で分割した各期間に対応して、前記各期間に含まれるアクセスのアクセス種別の出現回数分、前記第1の期間における前記複数のアクセス種別の各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
    算出した前記第1の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第1の期間を前記第1の期間長より長い第2の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
    前記記憶部を参照して、前記第1の期間とは異なり、アクセスの応答時間が増加したと特定された第2の期間を第3の期間長で分割した各期間に対応して、当該各期間に含まれるアクセスのアクセス種別の出現回数分、前記第2の期間における前記各アクセス種別に対応する最小の応答時間を累積した値を合計したアクセス密度を算出し、
    算出した前記第3の期間長で分割した各期間に対応するアクセス密度に基づいて、前記第2の期間を前記第3の期間長より長い第4の期間長で分割した各期間に対応するアクセス密度の変動係数を算出し、
    前記第2の期間長および前記第4の期間長で分割した各期間のアクセス密度の変動係数の分布の適合度検定による検定結果に基づいて、前記第2の期間の応答時間の増加の要因を特定する、
    制御部を有することを特徴とする性能劣化要因推定装置。
JP2016038084A 2016-02-29 2016-02-29 性能劣化要因推定プログラム、および性能劣化要因推定装置 Pending JP2017156888A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016038084A JP2017156888A (ja) 2016-02-29 2016-02-29 性能劣化要因推定プログラム、および性能劣化要因推定装置
US15/423,219 US20170249232A1 (en) 2016-02-29 2017-02-02 Storage medium storing performance degradation cause estimation program, performance degradation cause estimating device, and performance degradation cause estimation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016038084A JP2017156888A (ja) 2016-02-29 2016-02-29 性能劣化要因推定プログラム、および性能劣化要因推定装置

Publications (1)

Publication Number Publication Date
JP2017156888A true JP2017156888A (ja) 2017-09-07

Family

ID=59679587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016038084A Pending JP2017156888A (ja) 2016-02-29 2016-02-29 性能劣化要因推定プログラム、および性能劣化要因推定装置

Country Status (2)

Country Link
US (1) US20170249232A1 (ja)
JP (1) JP2017156888A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165167A (zh) * 2018-09-07 2019-01-08 苏宁智能终端有限公司 一种响应时间的测试方法及装置
JP6724960B2 (ja) * 2018-09-14 2020-07-15 株式会社安川電機 リソース監視システム、リソース監視方法、及びプログラム
US11816364B2 (en) * 2022-01-13 2023-11-14 Microsoft Technology Licensing, Llc Performance evaluation of an application based on detecting degradation caused by other computing processes

Also Published As

Publication number Publication date
US20170249232A1 (en) 2017-08-31

Similar Documents

Publication Publication Date Title
US7395187B2 (en) System and method for recording behavior history for abnormality detection
US20200382403A1 (en) Performance Monitoring in a Distributed Storage System
KR102498093B1 (ko) 사용자 디바이스 식별을 위한 방법 및 시스템
US10432551B1 (en) Network request throttling
US9443082B2 (en) User evaluation
US20070022327A1 (en) Computer-readable recording medium recording system performance monitoring program, and system performance monitoring method and apparatus
EP2742662A2 (en) Application performance analysis that is adaptive to business activity patterns
US20160226736A1 (en) Service call graphs for website performance
CN110191159B (zh) 一种资源服务器的负载调节方法及系统、设备
JP2013502009A5 (ja)
US20160225042A1 (en) Determining a cost of an application programming interface
US20120317069A1 (en) Throughput sustaining support system, device, method, and program
US10798017B2 (en) Method and system for reclaiming unused resources in a networked application environment
US20160094392A1 (en) Evaluating Configuration Changes Based on Aggregate Activity Level
CN110995684B (zh) 漏洞检测方法及装置
US20180095819A1 (en) Incident analysis program, incident analysis method, information processing device, service identification program, service identification method, and service identification device
JP2017156888A (ja) 性能劣化要因推定プログラム、および性能劣化要因推定装置
US8732323B2 (en) Recording medium storing transaction model generation support program, transaction model generation support computer, and transaction model generation support method
US20160225043A1 (en) Determining a cost of an application
JP2020035297A (ja) 機器状態監視装置及びプログラム
US20140196035A1 (en) Management system, recording medium and method for managing virtual machines
Shao et al. User-perceived service availability: A metric and an estimation approach
JP5747770B2 (ja) データ格納制御装置、データ格納制御プログラムおよびデータ格納制御方法
CN110417672B (zh) 限流方法及装置
KR20140043556A (ko) 시스템 사용량 분석 장치 및 방법