以下、本発明の各実施形態について図面を用いて説明するが、その前に、各実施形態の概要を述べる。各実施形態の概要は、リクエスト発生頻度及びCPU利用率のいずれか一方又は両方がほぼ一定の期間を判断し、判断した一定期間毎に、リクエスト発生頻度及びCPU利用率を抽出して各々の平均値を計算し、リクエスト発生頻度とCPU利用率とを関連付けてグラフ表示するものである。ここで、第1の実施形態では、リクエスト発生頻度がほぼ一定の期間を判断し、第2の実施形態では、CPU利用率が一定の期間を判断している。第3の実施形態では、リクエスト発生頻度及びCPU利用率の両方がほぼ一定の期間を判断している。以上が各実施形態の概要である。
このような各実施形態においては、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
続いて、第1の実施形態から順次、具体的に説明する。
(第1の実施形態)
図1は本発明の第1の実施形態に係る本発明の第1の実施形態に係るクライアント装置及びその周辺構成を例示するブロック図であり、図2はクライアント装置内の時系列データ解析支援部の構成を例示するブロック図である。図1に示すように、解析対象の計算機システムCSは、Webサーバ装置1、アプリケーションサーバ装置2、データベースサーバ装置3のようなサーバ群から構成される。このような計算機システムCSとクライアント装置100とが互いにネットワーク200を介して通信可能に接続されている。
計算機システムCSの各サーバ装置1,2,3,…は、ネットワーク200を介して通信可能な任意のサーバ装置であり、クライアント装置100から受けたhttpリクエストに対し、発生した処理の実行後に応答を返す機能と、処理量の時系列データ及びCPU利用率の時系列データをクライアント装置100に送信する機能とをもっている。
ここで、処理量の時系列データとしては、負荷試験時には負荷試験ツール部140により仮想ユーザから発生したリクエスト発生頻度が計測される。また、計算機システムCSの運用時には、Webサーバ装置1やアプリケーションサーバ装置2等のログ機能により利用履歴が得られる。利用履歴としては、例えば、以下の二種類(1)〜(2)が使用可能であるが、いずれにしても一定時間間隔内に計算機システムCSに与えられた各処理の処理量が分かる。
(1)アクセスログのように、クライアントからの要求に応じて起動された処理の種別、発生時刻が記録された利用履歴。
(2)一定間隔で、その区間における処理毎の発生量が記録された利用履歴。
CPU利用率の時系列データは、計算機システムCS内の各サーバ装置1,2,3,…のCPU利用率であり、例えば10秒間といった一定時間間隔で計測される。また、CPU利用率の時系列データは、パフォーマンスモニタ(perfmon.exe)のようなプログラムツールにより計測及びログ出力が可能となっている。
一方、クライアント装置100は、記憶部110、入力部120、通信I/F部130、負荷試験ツール部140、時系列データ解析支援部150及び表示部160を備えている。
ここで、記憶部110は、各部120〜160から読出/書込可能な記憶装置であり、例えば、入力部110から入力されたパラメータ、通信I/F部130が受信した時系列データ、各部140,150等による処理中及び処理結果のデータ等が記憶される。
入力部110は、操作者により操作されるキーボード及びマウス等の入力装置である。
通信I/F部130は、ネットワーク200を介して計算機システムCSの各サーバ1,2,3…と通信するための通信インターフェースであり、例えば、負荷試験ツール部140により発生したhttpリクエストを計算機システムCSに送信する機能と、計算機システムCSから送信された時系列データを受信する機能とをもっている。時系列データとしては、例えば処理量の計測値と時刻データを含む時系列データや、CPU利用率の計測値と時刻データを含む時系列データなどがある。
負荷試験ツール部140は、入力部110から設定された仮想ユーザ数に応じたhttpリクエストを通信I/F部130により計算機システムCSに送信して負荷試験を実行する機能と、計算機システムCSから通信I/F部130により受信した処理量の時系列データ及びCPU利用率の時系列データを時系列データ解析支援部150内の処理量入力部152、性能データ入力部154に入力する機能をもっている。なお、負荷試験ツール部140は、クライアント装置100の用途に負荷試験がない場合(用途が運用時のみの場合)、省略可能である。
時系列データ解析支援部150は、図2に示すように、パラメータ入力部151、処理量入力部152、判断部153、性能データ入力部154、集計部155及び結果出力部156を備えている。
パラメータ入力部151は、操作者の操作により、入力部110から入力されたパラメータを判断部153に入力する機能をもっている。ここで、パラメータとしては、例えば、判断部153による一定期間の判断に用いられる許容幅W及び最短期間Tが挙げられる。但し、これらのパラメータW,Tに限らず、パラメータとしては、外れ許容回数Vを更に用いてもよい。外れ許容回数Vについては、第2の実施形態で述べる。
処理量入力部152は、対象の計算機システムCSへのリクエスト発生頻度など、計算機システムCSが実際に処理した量を表す処理量の時系列データを負荷試験ツール部140(負荷試験時)又は通信I/F部130(運用時)から受信し、この処理量の時系列データを判断部153と集計部155に入力する機能をもっている。
なお、負荷試験ツール部140に適用可能な多くの負荷テストツールでは、対象の計算機システムCSからの応答を受信してから次のリクエストを送信する。このため、計算機システムCSが過負荷で処理しきれずにエラーを返す場合を除き、リクエスト発生頻度は計算機システムCSの単位時間当たりの処理量に一致する。従って、本明細書中ではリクエスト発生頻度と計算機システムCSの処理量とを同一として説明する。
判断部153は、パラメータ入力部151から入力されたパラメータを記憶部110に書き込む機能と、記憶部110内のパラメータに基づいて、処理量入力部152から入力された処理量の時系列データがほぼ一定である期間を判断する機能と、判断された一定期間毎の、当該一定期間を識別する番号、開始時刻及び終了時刻を集計部155に送出する機能とをもっている。
ここで、判断する機能は、具体的には、記憶部110内の許容幅及び最短期間に基づいて、処理量の時系列データが許容幅に収まった期間で最短期間以上の期間を一定期間として判断する。
性能データ入力部154は、計算機システムCSのサーバ装置1,2,3,…のCPU利用率(性能データ)の時系列データを負荷試験ツール部140(負荷試験時)又は通信I/F部130(運用時)から受信し、当該CPU利用率の時系列データを集計部155に入力する機能をもっている。
集計部155は、判断部153から一定期間毎の、番号、開始時刻及び終了時刻を受ける機能と、処理量入力部152から処理量の時系列データを受ける機能と、性能データ入力部154からCPU利用率の時系列データを受ける機能と、一定期間毎の番号、開始時刻及び終了時刻に基づいて、当該一定期間毎の、処理量の時系列データの平均値及びCPU利用率の時系列データの平均値を算出する機能と、算出した各平均値を結果出力部156に送出する機能とをもっている。
結果出力部156は、集計部155から一定期間毎の、処理量の平均値及びCPU利用率の平均値を受ける機能と、一定期間毎の各平均値に基づいて、処理量とCPU利用率とを関連付けたグラフの表示処理を実行する機能とをもっている。グラフの表示処理は、当該グラフの表示データを作成する処理と、作成した表示データを表示部160に送出する処理とを含んでいる。
表示部160は、各部140,150等から送出されたデータを表示する表示装置であり、例えば液晶ディスプレイ装置などが適宜使用可能となっている。
次に、以上のように構成されたクライアント装置の動作を図3のフローチャートを用いて説明する。
パラメータ入力部151は、操作者による入力部120の操作により、対象の計算機システムCSへのリクエスト発生頻度がほぼ一定である期間を決めるためのパラメータPを判断部153に入力する(STEP100)。ここで、パラメータPは、許容幅W及び最短期間Tである。
処理量入力部152は、対象の計算機システムへのリクエスト発生頻度などの処理量の時系列データSi(i=1,2,…,N)を例えば負荷試験ツール部140から受信すると、処理量の時系列データSiを判断部153及び集計部155に入力する(STEP200)。Siは時刻(i−1)ΔtからiΔtまでのリクエスト発生頻度である。Δtは観測間隔であり、時刻0から時刻NΔtまでのデータが観測されているとして説明する。
判断部153は、パラメータ入力部151から受けたパラメータP(許容幅W及び最短期間T)を記憶部110に書き込み、記憶部110内のパラメータP(許容幅W及び最短期間T)に基づいて、処理量入力部152から受けた処理量の時系列データSi(i=1,2,…,N)が許容幅Wに収まった期間で最短期間T以上の期間を一定期間Bj(j=1,2,…,M)として判断する(STEP300)。Mは処理量が一定であると判断された期間の数である。
しかる後、判断部153は、判断した一定期間Bj(j=1,2,…,M)毎の、当該一定期間を識別する番号j、開始時刻Tsj(j=1,2,…,M)、終了時刻Tej(j=1,2,…,M)を集計部155に送出する。
性能データ入力部154は、サーバ装置のCPU利用率などの時系列データUi(i=1,2,…,N)を負荷試験ツール部140(負荷試験時)又は通信I/F部130(運用時)から受けると、当該CPU利用率の時系列データUiを集計部155に入力する(STEP400)。
集計部155は、判断部153から受けた一定期間Bj毎の、番号j、開始時刻Tsj、終了時刻Tejに基づいて、その期間のリクエスト発生頻度の平均値Sjave(j=1,2,…,M)及びCPU利用率の平均値Ujave(j=1,2,…,M)を算出し(STEP500)、算出した各平均値Sjave,Ujaveを結果出力部156に送出する。
結果出力部156では、集計部155からリクエスト発生頻度の平均値Sjave(j=1,2,…,M)とCPU利用率の平均値Ujave(j=1,2,…,M)が受信されると、各平均値Sjave,Ujaveを互いに関連付けたグラフの表示処理を実行し(STEP600)、当該グラフが表示部160に表示される。
以上のように、時系列データ解析支援部150が動作するので、人がリクエスト発生頻度の時系列データを見て、ほぼ一定の期間を判断する必要が無くなり、また、その期間の開始時刻と終了時刻から、その間のCPU利用率を切り出し、平均値を計算するといった煩雑な計算をしなくて済む。
また、負荷試験の途中でも各平均値Sjave,Ujaveを関連付けたグラフを表示できるので、負荷試験が正常に行われていることの確認や、次に負荷をかける仮想ユーザ数をどう設定するかを決めることができる。
次に、判断部153が一定期間を判断する方法の一例を詳細に説明する。
パラメータPは、処理量の許容幅Wと最短期間Tから構成される(P=(W,T))。一定期間とは、処理量の時系列データSi(i=1,2,…,N)が連続して許容幅W内に収まった期間であって最短期間T以上である期間を意味する。図4は処理量の時系列データを示すグラフ図であり、図中の四角い枠の高さが許容幅Wを表す。許容幅W内に収まる範囲が四角い枠で囲まれているが、その期間が最短期間T以上であれば、その期間を処理量が一定である期間と判断する。
この判断のアルゴリズムについて図5を用いて説明する。特に、四角い枠の位置決めの方法について説明する。図5は横軸が時刻、縦軸が処理量のグラフであり、処理量の時系列データSi(i=1,2,…,N)がプロットされている。この判断のアルゴリズムでは、処理量の時系列データSi(i=1,2,…,N)が順次読み込まれる。まず、時系列データSiから第1データS1が読み込まれると、時系列データSiの最大値を表す変数maxと最小値を表す変数minに第1データS1の値が代入される。四角い枠(許容幅W)が取り得る範囲はmax−Wからmin+Wまでの範囲になる(図中の矢印範囲)。
次に、時系列データSiの第2データS2が読み込まれる。第2データS2の値がmax−Wからmin+Wの範囲内に入っている場合は一定期間が続くことになる。また、第2データS2と最大値の変数maxが比較され、第2データS2が大きい場合には最大値の変数maxに第2データS2の値が代入される。第2データS2と最小値の変数minが比較され、第2データS2が小さい場合には最小値の変数minにS2の値が代入される。図5ではS2が最大値の変数maxより大きかったので最大値の変数maxに第2データS2の値が代入されている。このことにより、四角い枠(許容幅W)が取り得る範囲(max−Wからmin+Wまで)が狭くなったことがわかる。同様に第3データS3が読み込まれると、第3データS3が最大値の変数maxより大きかったので最大値の変数maxに第3データS3の値が代入される。第4データS4はmin≦S4≦maxなので、変数min、maxの変化はない。
次に、第5データS5が読み込まれると、S5> max+Wなので許容幅Wの四角い枠から外れることになる。第1〜第4データS1〜S4の期間が最短期間T以上であれば、処理量が一定である期間と判断される。
以上の判断方法について図6のフローチャートを用いて詳細に説明する。
判断部153は、最小値の変数min、最大値の変数max、時系列データの番号iをそれぞれ初期化する(STEP301)。すなわち、min=0、max=0、i=1とする。
続いて、判断部153は、時系列データSiについて、STEP302〜STEP316間のループ処理を行う(STEP302)。
判断部153は、最小値の変数minが0か否かを判定し(STEP303)、否の場合(STEP303;No)には時系列データ内の第iデータSiが許容幅Wのとり得る範囲(max−W≦Si≦min+W)内にあるか否かを判定する(STEP304)。
判断部153は、STEP304の判定の結果、範囲内にある場合(STEP304;Yes)には、第iデータSiと最小値の変数minとを比較してSi<minであるか否かを判定し(STEP305)、Si<minであれば(STEP305;Yes)、最小値の変数minに第iデータを代入し(STEP306)、否であれば最小値の変数minの値をそのまま維持する。
続いて、判断部153は、第iデータSiと最大値の変数maxとを比較してSi>maxであるか否かを判定し(STEP307)、Si>maxであれば(STEP307;Yes)、最大値の変数maxに第iデータSiを代入し(STEP308)、否であれば最大値の変数maxをそのまま維持する。
しかる後、判断部153は、一定期間が続いている長さnを+1だけ更新する(STEP309)。
一方、STEP304の判定の結果、否の場合(STEP304;No)には、判断部153は、一定期間が続いている長さnが最短期間T以上であるか否かを判定し(STEP310)、最短期間T以上であれば(STEP310;Yes)、一定期間内の前回(i−1)までの時系列データSs〜Si-1をグループ化するが(STEP311)、否であれば(STEP310;No)、時系列データをグループ化しない。
しかる後、判断部153は、最小値の変数min、最大値の変数maxをそれぞれ0に初期化する(STEP312)。
また一方、STEP303の判定の結果、最小値の変数minが0であれば(STEP303;Yes)、判断部153は、最小値の変数minと、最大値の変数maxに第iデータSiの値を代入し(STEP313)、一定期間の開始データSsをSiとし、一定期間が続いている長さnを1とする(STEP314)。
次に、STEP309、STEP312又はSTEP314の実行後、判断部153は、時系列データSiの番号iを+1だけ更新し(STEP315)、STEP302からループ処理を繰り返し実行する(STEP316)。
STEP302〜STEP316のループ処理の完了後、判断部153は、一定期間が続いている長さnが最短期間T以上であるか否かを判定し(STEP317)、最短期間T以上であれば(STEP317;Yes)、一定期間内の前回(i−1)までの時系列データSs〜Si-1をグループ化して(STEP318)、否であれば(STEP317;No)、時系列データをグループ化せずに、STEP300の処理を終了する。
図7は処理量の時系列データSiを表したグラフである。横軸が時刻、縦軸がリクエスト発生頻度を表す。この処理量の時系列データSiに対し、図5及び図6の手順で判断された一定期間を付加して図8に示す。図8では、処理量の時系列データSiのグラフ上に、処理量が一定と判断された期間がプロットされている。パラメータ値は、許容幅Wが3.0[回/秒]、最短期間Tが100[秒]として計算した結果である。
図9は判断部153が判断した一定期間毎の、番号、開始時刻及び終了時刻を示している。判断部153は、判断した一定期間毎の、番号、開始時刻及び終了時刻の情報を集計部155に送出する。
次に、集計部155の処理について説明する。集計部155では、判断部153から処理量が一定であると判断された期間の開始時刻、終了時刻、処理量入力部152から処理量の時系列データ、性能データ入力部154からサーバ装置のCPU利用率などの性能データを受けると、処理量が一定であると判断された期間の開始時刻、終了時刻を基に、その期間のリクエスト発生頻度の平均値、CPU利用率の平均値を計算する。
図10は図7の処理量が計測された時のCPU利用率の時系列データを示している。このCPU利用率の時系列データは、性能データ入力部154から受けたデータであるとする。これらのデータを基に、処理量が一定であると判断された期間毎にリクエスト発生頻度の平均値、CPU利用率の平均値を算出した集計結果を図11に示す。このリクエスト発生頻度とCPU利用率の平均値の算出結果は結果出力部156に送出される。
結果出力部156では、横軸にリクエスト発生頻度、縦軸にCPU利用率のグラフの表示データを作成し、表示データを表示部160に送出する。表示部160に表示されるグラフを図12に示す。リクエスト発生頻度の増加に対してCPU利用率も増加していることが分かる。
上述したように本実施形態によれば、判断部153により、記憶部110内の許容幅及び最短期間に基づいて、処理量の時系列データが許容幅W内に収まった期間で最短期間T以上の期間を一定期間Bjとして判断し、集計部155により、判断された一定期間Bj毎の、処理量の時系列データSiの平均値及びCPU利用率の時系列データUiの平均値を算出する構成としたので、時系列データがほぼ一定となる期間を判定し、その期間内の時系列データを抽出して平均値を計算する作業の自動化を実現させることができる。
すなわち、従来とは異なり、人が目視でリクエスト発生頻度やサーバ装置のCPU利用率がほぼ一定に安定している期間を特定していたのを自動的に判断することができる。また、その期間の開始時刻と終了時刻から、その間のCPU利用率を切り出し、平均値を計算するといった煩雑な計算をしなくて済む。さらに、期間毎に、リクエスト発生頻度やサーバ装置のCPU利用率の平均値を計算し、結果をグラフ表示することも自動的に行なうことができる。
さらに、すぐに負荷試験の途中で、結果をグラフ表示し、試験が正しく行われていることを確認でき、次に負荷をかける仮想ユーザ数をどう設定するかを決めることができる。
なお、本実施形態は、処理量の時系列データの古い順に一定期間を判断していたが、これに限らず、時系列データの新しい順に一定期間を判断するように変形してもよい。
一般的に、処理量データは、仮想ユーザ数を変化させた瞬間に大きく変動し、その後、安定する傾向がある。従って、処理量の時系列データを新しい順に処理する方が、より変動の少ない処理量の期間を特定することができる。
図7の処理量の時系列データに対して、データの新しい順に処理量一定期間を特定する処理を行った結果を図13に示す。
図8と図13の違いが分かりにくいので、一部の時刻部分(2008/5/27 20:14から2008/5/27 20:19)について、処理量の時系列データと、データの古い順に処理量一定期間を特定した場合の期間、データの新しい順に処理量一定期間を特定した場合の期間を並べて表示した結果を図14に示す。2種類の方法で特定された期間が異なり、データの新しい順に処理量一定期間を特定した場合の方が長い期間であることが分かる。また、データの古い順に処理量一定期間を特定した場合の期間の分散は0.456、データの新しい順に処理量一定期間を特定した場合の期間の分散は0.295であり、データの新しい順に処理量一定期間を特定した場合の方が一定値に近いことがわかる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
本実施形態は、第1の実施形態の変形例であり、一定の期間を判断する対象を処理量の時系列データとした第1の実施形態とは異なり、一定の期間を判断する対象をCPU利用率の時系列データとしている。
図15は本発明の第2の実施形態に係るクライアント装置に適用された時系列データ解析支援部の構成を例示するブロック図である。時系列データ解析支援部150は、第1の実施形態と同様に、パラメータ入力部151、処理量入力部152、判断部153、性能データ入力部154、集計部155及び結果出力部156から構成される。但し、処理量入力部152、判断部153及び性能データ入力部154の機能が若干異なる。なお、集計部155、結果出力部156の機能は、第1の実施形態と同様なので説明を省略する。
パラメータ入力部151は、前述した許容幅W及び最短期間Tの入力機能に加え、入力部120から入力された外れ許容回数Vを判断部153に入力する機能をもっている。
処理量入力部152は、対象の計算機システムへのリクエスト発生頻度などの処理量の時系列データを負荷試験ツール部140(負荷試験時)又は通信I/F部130(運用時)から受けると、処理量の時系列データを集計部155に入力する機能をもっている。
判断部153は、記憶部110内の許容幅W及び最短期間Tに基づいて、性能データ入力部154から入力されたCPU利用率の時系列データがほぼ一定である期間を判断する機能と、判断された一定期間毎の、当該一定期間を示す番号、開始時刻及び終了時刻を集計部155に送出する機能をもっている。
補足すると、判断部153は、第1の実施形態で述べた機能において、処理量の時系列データに代えて、CPU利用率の時系列データに関し、許容幅W内に収まった期間で最短期間T以上の期間を一定期間として判断する機能であって、入力された外れ許容回数Vを記憶部110に書き込む機能と、CPU利用率の時系列データが許容幅Wから外れたときに、当該許容幅Wから外れたことが連続していなければ、外れ許容回数Vまでは許容幅Wから外れたことを無視する機能とを含んでいる。
性能データ入力部154は、CPU利用率の時系列データを負荷試験ツール部140(負荷試験時)又は通信I/F部130(運用時)から受けると、当該CPU利用率の時系列データを判断部153及び集計部155に入力する機能をもっている。
次に、以上のように構成されたクライアント装置に適用された時系列データ解析支援部の動作を図16のフローチャート図を用いて説明する。
STEP500、STEP600は図3(第1の実施形態)と同じなので説明を省略する。
パラメータ入力部151は、操作者による入力部120の操作により、許容幅W、最短期間T及び外れ許容回数VをパラメータPとして判断部153に入力する(STEP110)。
性能データ入力部154は、サーバ装置のCPU利用率などの時系列データUi(i=1,2,…,N)を例えば負荷試験ツール部140から受けると、CPU利用率の時系列データUiを判断部153及び集計部155に入力する(STEP210)。
判断部153は、パラメータ入力部151から受けた許容幅W、最短期間T及び外れ許容回数Vを記憶部110に書き込むと共に、性能データ入力部154からCPU利用率の時系列データUiを受けると、記憶部110内の許容幅W、最短期間T及び外れ許容回数Vに基づいて、CPU利用率の時系列データが一定である期間Bj(j=1,2,…,M)を判断する(STEP330)。
しかる後、判断部153は、判断した一定期間Bj(j=1,2,…,M)毎の、当該一定期間を識別する番号j、開始時刻Tsj(j=1,2,…,M)、終了時刻Tej(j=1,2,…,M)を集計部155に送出する。
処理量入力部152は、対象の計算機システムへのリクエスト発生頻度などの処理量の時系列データSi(i=1,2,…,M)を負荷試験ツール部140から受けると、処理量の時系列データSiを集計部155に送出する(STEP410)。
図7と図10を見比べて分かる通り、CPU利用率の時系列データUiは、リクエスト発生頻度の時系列データSiに比べて変動が大きいことが分かる。従って、CPU利用率が一定の期間を特定する判断も難しくなる。
そこで、許容幅Wから外れて良い回数(外れ許容回数)VをパラメータPに追加し、CPU利用率が一定である期間を判断するときに、許容幅Wから外れるデータが現れた場合に、その許容幅Wから外れることが連続していなければ外れ許容回数V回までは許容して、CPU利用率が一定である期間を判断するアルゴリズムを用いている。
図17はこのアルゴリズムを具体化したフローチャートであり、それぞれ破線で示したSTEP331の一部と、STEP340−1〜STEP340−4とが前述した図6のフローチャートと大きく異なる。また、対象が処理量の時系列データSiではなく、CPU利用率の時系列データUiである点も図6と異なっている。以下、図17に示す動作を詳細に述べる。
判断部153は、最小値の変数min、最大値の変数max、時系列データの番号i、許容幅Wから外れた外れ回数kをそれぞれ初期化する(STEP331)。すなわち、min=0、max=0、i=1、k=0とする。また、判断部153は、操作者による入力部120の操作により、外れ許容回数Vを記憶部110に書き込んでおく。
続いて、判断部153は、時系列データUiについて、STEP332〜STEP346間のループ処理を行う(STEP332)。
判断部153は、最小値の変数minが0か否かを判定し(STEP333)、否の場合(STEP333;No)には時系列データ内の第iデータUiが許容幅Wのとり得る範囲(max−W≦Ui≦min+W)内にあるか否かを判定する(STEP334)。
判断部153は、STEP334の判定の結果、範囲内にある場合(STEP334;Yes)には、第iデータUiと最小値の変数minとを比較してUi<minであるか否かを判定し(STEP335)、Ui<minであれば(STEP335;Yes)、最小値の変数minに第iデータを代入し(STEP336)、否であれば最小値の変数minの値をそのまま維持する。
続いて、判断部153は、第iデータUiと最大値の変数maxとを比較してUi>maxであるか否かを判定し(STEP337)、Ui>maxであれば(STEP337;Yes)、最大値の変数maxに第iデータUiを代入し(STEP338)、否であれば最大値の変数maxをそのまま維持する。
しかる後、判断部153は、一定期間が続いている長さnを+1だけ更新する(STEP339)。
一方、STEP334の判定の結果、否の場合(STEP334;No)には、判断部153は、一定期間が続いている長さnが最短期間T以上であるか否かを判定し(STEP340)、最短期間T以上であれば(STEP340;Yes)、一定期間内の前回(i−1)までの時系列データUs〜Ui-1をグループ化するが(STEP341)、否であれば(STEP340;No)、範囲から外れた時系列データUiの番号iを記憶部110に保存し、外れ回数kを+1だけ更新する(STEP340−1)。
続いて、判断部153は、保存した番号iが連続しているか否かを判定し(STEP340−1)、連続していれば、STEP342に進む。
一方、連続していなければ(STEP340−1;No)、判断部153は、外れ回数kが外れ許容回数V以下か否かを判定し(STEP340−3)、外れ回数kが外れ許容回数V以下であれば、STEP345に進む。すなわち、判断部153は、CPU利用率の時系列データUiが許容幅Wから外れたときに、当該許容幅Wから外れたことが連続していなければ、外れ許容回数Vまでは許容幅Wから外れたことを無視する。
また、判断部153は、外れ回数kが外れ許容回数Vを超えた場合には(STEP340−3;No)、外れた番号iを記憶部110から消去し、外れ回数kを0に初期化してSTEP342に進む。
しかる後、判断部153は、最小値の変数min、最大値の変数maxをそれぞれ0に初期化する(STEP342)。
また一方、STEP333の判定の結果、最小値の変数minが0であれば(STEP333;Yes)、判断部153は、最小値の変数minと、最大値の変数maxに第iデータUiの値を代入し(STEP343)、一定期間の開始データUsをUiとし、一定期間が続いている長さnを1とする(STEP344)。
次に、STEP339、STEP342又はSTEP344の実行後、判断部153は、時系列データUiの番号iを+1だけ更新し(STEP345)、STEP332からループ処理を繰り返し実行する(STEP346)。
STEP332〜STEP346のループ処理の完了後、判断部153は、一定期間が続いている長さnが最短期間T以上であるか否かを判定し(STEP347)、最短期間T以上であれば(STEP347;Yes)、一定期間内の前回(i−1)までの時系列データUs〜Ui-1をグループ化して(STEP348)、否であれば(STEP347;No)、時系列データをグループ化せずに、STEP330の処理を終了する。
以上により、変動が大きいCPU利用率の時系列データUiであっても、判断部153は、一定の期間を判断することができる。
上述したように本実施形態によれば、判断部153により、記憶部110内の許容幅及び最短期間に基づいて、CPU使用率の時系列データUiが許容幅W内に収まった期間で最短期間T以上の期間を一定期間Bjとして判断し、集計部155により、判断された一定期間Bj毎の、処理量の時系列データSiの平均値及びCPU利用率の時系列データUiの平均値を算出する構成としたので、時系列データがほぼ一定となる期間を判定し、その期間内の時系列データを抽出して平均値を計算する作業の自動化を実現させることができる。
例えば、負荷試験ツール部140が、対象の計算機システムCSからの応答を待たずに、決まった頻度でリクエストを発生する場合でも、対象の計算機システムCSのサーバ装置1,2,3,…のCPU利用率が安定している期間を自動的に判断することができる。また、処理量に比べて変動が大きいCPU利用率に対しても、外れ許容回数Vに基づいて、一定期間を自動的に判断することができる。
また、前述同様に、一定期間Bj毎に、リクエスト発生頻度の平均値やサーバ装置のCPU利用率の平均値を計算し、結果をグラフ表示することも自動的に実行できる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
本実施形態は、第1及び第2の実施形態の変形例であり、一定の期間を判断する対象を処理量の時系列データと、CPU利用率の時系列データとの両者とし、且つ両者が一定の期間と判断された期間を最終的に一定期間と判断している。
図18は本発明の第3の実施形態に係るクライアント装置に適用された時系列データ解析支援部の構成を例示するブロック図である。時系列データ解析支援部150は、第1の実施形態と同様に、パラメータ入力部151、処理量入力部152、判断部153、性能データ入力部154、集計部155及び結果出力部156から構成される。但し、判断部153及び性能データ入力部154の機能が若干異なる。また、パラメータ入力部151の機能については第2の実施形態と同様であり、処理量入力部152、集計部155、結果出力部156の機能については第1の実施形態と同様なのでそれぞれ説明を省略する。
判断部153は、パラメータ入力部151から入力されたパラメータ(許容幅W、最短期間T及び外れ許容回数V)を記憶部110に書き込み、処理量入力部152からリクエスト発生頻度などの処理量の時系列データを受け、性能データ入力部154からCPU利用率の時系列データを受けると、記憶部110内のパラメータに基づいて、処理量と性能データがほぼ一定である一定期間を判断する機能と、判断された一定期間毎の、番号、開始時刻、終了時刻を集計部155に送出する機能とをもっている。
補足すると、判断部153の一定期間を判断する機能は、以下の機能(f153-1)〜(f153-4)を含んでいる。
(f153-1) 記憶部110内の許容幅W及び最短期間Tに基づいて、処理量の時系列データSiが許容幅W内に収まった期間で最短期間T以上の期間を一定期間として判断する機能。
(f153-2) 入力された外れ許容回数Vを記憶部110に書き込む機能。
(f153-3) 記憶部110内の許容幅W、最短期間T及び外れ許容回数Vに基づいて、CPU利用率の時系列データUiが許容幅W内に収まった期間で最短期間T以上の期間を一定期間として判断する機能であって、この判断の際には、CPU利用率の時系列データUiが許容幅Wから外れたときに、当該許容幅Wから外れたことが連続していなければ、外れ許容回数Vまでは許容幅Wから外れたことを無視する機能。
(f153-4) 処理量の時系列データSiについて一定期間と判断した期間と、CPU利用率の時系列データUiについて一定期間と判断した期間との両者が一致する期間を最終的に一定期間と判断する機能。
性能データ入力部154は、第2の実施形態と同様に、CPU利用率などの時系列データを負荷試験ツール部140(負荷試験時)又は通信I/F部130(運用時)から受けると、CPU利用率の時系列データを判断部153及び集計部155に送出する機能をもっている。
次に、以上のように構成されたクライアント装置に適用された時系列データ解析支援部の動作を図19のフローチャート図を用いて説明する。但し、STEP110、STEP210、STEP330は図16(第2の実施形態)等と同じであり、STEP200、STEP300、STEP500、STEP600は図3(第1の実施形態)等と同じなので詳細な説明を省略する。
いま、前述同様に、判断部153に対し、STEP110のパラメータW,T,Vの入力と、STEP200のリクエスト発生頻度の時系列データSiの入力と、STEP210のCPU利用率の時系列データUiの入力とが実行されたとする。
判断部153は、前述同様に、図3及び図6に示したSTEP300のリクエスト発生頻度についての一定期間の判断と、図16及び図17に示したSTEP330のCPU利用率についての一定期間の判断とを実行する。
しかる後、判断部153は、処理量の時系列データSiについて一定期間と判断した期間と、CPU利用率の時系列データUiについて一定期間と判断した期間との両者が一致する期間を最終的に一定期間Bj(j=1,2,…,M)と判断する(STEP360)。
しかる後、判断部153は、判断した一定期間Bj(j=1,2,…,M)毎の、当該一定期間を識別する番号j、開始時刻Tsj(j=1,2,…,M)、終了時刻Tej(j=1,2,…,M)を集計部155に送出する。
以下、前述同様に、STEP500の一定期間Bjに基づく平均値の計算と、STEP600のグラフの表示とが実行される。
上述したように本実施形態によれば、第1及び第2の実施形態の効果に加え、処理量の時系列データSi(i=1,2,…,N)と、CPU利用率などの性能の時系列データUi(i=1,2,…,N)の両方が一定と判断された期間が選ばれるので、より一定値に安定した結果の集計を行うことができる。
補足すると、本実施形態では、リクエスト発生頻度などの処理量と、対象の計算機システムのCPU利用率との両方が安定している期間を自動的に判断できるので、より安定した期間を特定することができる。また、期間毎に、リクエスト発生頻度やサーバ装置のCPU利用率の平均値を計算し、結果をグラフ表示することも自動的に行なうことができる。
なお、上記各実施形態は、負荷試験時の時系列データを解析する場合を例に挙げて説明したが、これに限らず、運用時の時系列データを解析する場合であっても各実施形態を同様に実施して同様の効果を得ることができる。
また、上記各実施形態では、判断部153による一定期間の判断手法の一例を説明したが、これに限らず、例えば、クラスター分析手法を利用し、処理量またはCPU利用率が近い値の範囲を生成するように変形してもよい。
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。