(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023135826
(43)【公開日】2023-09-29
(54)【発明の名称】運用管理プログラム、情報処理装置及び運用管理方法
(51)【国際特許分類】
G06F 11/34 20060101AFI20230922BHJP
【FI】
G06F11/34 147
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022041113
(22)【出願日】2022-03-16
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【弁理士】
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【弁理士】
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】望月 早駆
(72)【発明者】
【氏名】曽我部 克己
(72)【発明者】
【氏名】山下 博之
(72)【発明者】
【氏名】山口 五郎
(72)【発明者】
【氏名】齊藤 匠
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042MA08
5B042MA14
5B042MC22
5B042MC24
(57)【要約】
【課題】業務システムにおいて実行中のアプリケーションの実行終了時刻の予測を精度良く行うことを可能とする運用管理プログラム、情報処理装置及び運用管理方法を提供する。
【解決手段】アプリケーションの実行中における監視対象システムの負荷状況を示す複数の負荷情報と、監視対象システムにおけるアプリケーションの実行状況を示す実行情報とを監視対象システムから取得し、監視対象システムの負荷状況と監視対象システムにおけるアプリケーションの単位処理の実行に要する単位実行時間との関係を示す複数のモデルを記憶した記憶部を参照し、取得した複数の負荷情報ごとに、複数のモデルのうちの各負荷情報に対応する特定のモデルを特定し、複数の負荷情報と、複数の負荷情報のそれぞれに対応する特定のモデルと、実行情報とに基づいて、アプリケーションの実行時間の遅延を示す遅延実行時間を推定する。
【選択図】
図21
【特許請求の範囲】
【請求項1】
アプリケーションの実行中における監視対象システムの負荷状況を示す複数の負荷情報と、前記監視対象システムにおける前記アプリケーションの実行状況を示す実行情報とを前記監視対象システムから取得し、
前記監視対象システムの負荷状況と前記監視対象システムにおける前記アプリケーションの単位処理の実行に要する単位実行時間との関係を示す複数のモデルを記憶した記憶部を参照し、取得した前記複数の負荷情報ごとに、前記複数のモデルのうちの各負荷情報に対応する特定のモデルを特定し、
前記複数の負荷情報と、前記複数の負荷情報のそれぞれに対応する前記特定のモデルと、前記実行情報とに基づいて、前記アプリケーションの実行時間の遅延を示す遅延実行時間を推定する、
処理をコンピュータに実行させることを特徴とする運用管理プログラム。
【請求項2】
請求項1において、
前記実行情報は、前記アプリケーションの実行に要する総実行時間として予め予測された予測実行時間とを含み、
前記推定する処理では、前記遅延実行時間と、前記予測実行時間とに基づいて、前記総実行時間を算出する、
ことを特徴とする運用管理プログラム。
【請求項3】
請求項2において、
前記実行情報は、前記アプリケーションの実行開始時刻を示す情報を含み、
前記推定する処理では、前記総実行時間と、前記実行開始時刻とに基づいて、前記アプリケーションの実行終了時刻を推定する、
ことを特徴とする運用管理プログラム。
【請求項4】
請求項3において、
前記推定する処理では、
前記複数の負荷情報ごとに、各負荷情報に対応する前記特定のモデルにおける各負荷情報に対応する前記単位実行時間を特定し、
特定した前記複数の負荷情報ごとの前記単位実行時間から、前記総実行時間を算出し、
算出した前記総実行時間を前記実行開始時刻に加算することによって、前記実行終了時刻を推定する、
ことを特徴とする運用管理プログラム。
【請求項5】
請求項2において、
前記実行情報は、前記アプリケーションの実行中における前記単位処理の単位時間あたりの実行回数として予め決定された予定単位実行回数を含み、
前記特定する処理では、
取得した前記複数の負荷情報のそれぞれが所定の負荷条件を満たすか否かを判定し、
前記複数の負荷情報のうち、前記所定の負荷条件を満たす第1負荷情報に対応する前記特定のモデルとして第1モデルを特定し、前記所定の負荷条件を満たさない第2負荷情報に対応する前記特定のモデルとして前記第1モデルと異なる第2モデルを特定し、
前記推定する処理では、
前記第1モデルにおける前記第1負荷情報に対応する前記単位実行時間である第1単位実行時間と、前記第2モデルにおける前記第2負荷情報に対応する前記単位実行時間である第2単位実行時間とを特定し、
特定した前記第2単位実行時間から、前記第2モデルを用いる場合における前記単位処理の単位時間あたりの実行回数である遅延単位実行回数を算出し、
算出した前記遅延単位実行回数と前記予定単位実行回数との差と、前記第1単位実行時間とから、前記予測実行時間に対する前記遅延実行時間を算出し、
算出した前記遅延実行時間と前記予測実行時間との和を前記総実行時間として算出する、
ことを特徴とする運用管理プログラム。
【請求項6】
請求項5において、
前記予定単位実行回数は、前記第1モデルを用いる場合における前記単位処理の単位時間あたりの実行回数であり、
前記予測実行時間は、前記アプリケーションの実行中における各単位時間の前記単位処理の実行回数が前記予定単位実行回数である場合の前記総実行時間である、
ことを特徴とする運用管理プログラム。
【請求項7】
アプリケーションの実行中における監視対象システムの負荷状況を示す複数の負荷情報と、前記監視対象システムにおける前記アプリケーションの実行状況を示す実行情報とを前記監視対象システムから取得する情報取得部と、
前記監視対象システムの負荷状況と前記監視対象システムにおける前記アプリケーションの単位処理の実行に要する単位実行時間との関係を示す複数のモデルを記憶した記憶部を参照し、取得した前記複数の負荷情報ごとに、前記複数のモデルのうちの各負荷情報に対応する特定のモデルを特定するモデル特定部と、
前記複数の負荷情報と、前記複数の負荷情報のそれぞれに対応する前記特定のモデルと、前記実行情報とに基づいて、前記アプリケーションの実行時間の遅延を示す遅延実行時間を推定する時刻推定部と、を有する、
ことを特徴とする情報処理装置。
【請求項8】
アプリケーションの実行中における監視対象システムの負荷状況を示す複数の負荷情報と、前記監視対象システムにおける前記アプリケーションの実行状況を示す実行情報とを前記監視対象システムから取得し、
前記監視対象システムの負荷状況と前記監視対象システムにおける前記アプリケーションの単位処理の実行に要する単位実行時間との関係を示す複数のモデルを記憶した記憶部を参照し、取得した前記複数の負荷情報ごとに、前記複数のモデルのうちの各負荷情報に対応する特定のモデルを特定し、
前記複数の負荷情報と、前記複数の負荷情報のそれぞれに対応する前記特定のモデルと、前記実行情報とに基づいて、前記アプリケーションの実行時間の遅延を示す遅延実行時間を推定する、
処理をコンピュータが実行することを特徴とする運用管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、運用管理プログラム、情報処理装置及び運用管理方法に関する。
【背景技術】
【0002】
例えば、利用者にサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、サービスの提供に要する業務システム(以下、監視対象システムとも呼ぶ)を稼働させる場合、その業務システムの負荷状況についての監視を併せて行う。そして、事業者は、業務システムの負荷状況から、業務システムにおいて将来的に発生する可能性がある性能問題を予測する。性能問題は、例えば、業務システムの負荷状況を示す値(例えば、CPU使用率)が予め決定された正常値の範囲外になる事象である(例えば、特許文献1及び2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第2018/146714号
【特許文献2】特開2021-089745号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、上記のような性能問題の発生予測は、例えば、業務システムにおいて実行中のアプリケーションについての実行終了時刻の予測を行うことによって行われる。そのため、例えば、実行中のアプリケーションの実行終了時刻についての予測が精度良く行われない場合、事業者は、性能問題の発生予測を適切に行うことができない場合がある。
【0005】
そこで、一つの側面では、本発明は、業務システムにおいて実行中のアプリケーションの実行終了時刻の予測を精度良く行うことを可能とする運用管理プログラム、情報処理装置及び運用管理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
実施の形態の一態様では、アプリケーションの実行中における監視対象システムの負荷状況を示す複数の負荷情報と、前記監視対象システムにおける前記アプリケーションの実行状況を示す実行情報とを前記監視対象システムから取得し、前記監視対象システムの負荷状況と前記監視対象システムにおける前記アプリケーションの単位処理の実行に要する単位実行時間との関係を示す複数のモデルを記憶した記憶部を参照し、取得した前記複数の負荷情報ごとに、前記複数のモデルのうちの各負荷情報に対応する特定のモデルを特定し、前記複数の負荷情報と、前記複数の負荷情報のそれぞれに対応する前記特定のモデルと、前記実行情報とに基づいて、前記アプリケーションの実行時間の遅延を示す遅延実行時間を推定する、処理をコンピュータに実行させる。
【発明の効果】
【0007】
一つの側面によれば、業務システムにおいて実行中のアプリケーションの実行終了時刻の予測を精度良く行う。
【図面の簡単な説明】
【0008】
【
図1】
図1は、情報処理システム10の構成について説明する図である。
【
図2】
図2は、比較例における運用管理処理について説明する図である。
【
図3】
図3は、比較例における運用管理処理について説明する図である。
【
図4】
図4は、比較例における運用管理処理について説明する図である。
【
図5】
図5は、比較例における運用管理処理について説明する図である。
【
図6】
図6は、比較例における運用管理処理について説明する図である。
【
図7】
図7は、管理装置1のハードウエア構成を説明する図である。
【
図8】
図8は、物理マシン2のハードウエア構成を説明する図である。
【
図9】
図9は、物理マシン2の機能のブロック図である。
【
図11】
図11は、第1の実施の形態における運用管理処理の概略を説明するフローチャート図である。
【
図12】
図12は、第1の実施の形態における運用管理処理の概略を説明する図である。
【
図13】
図13は、第1の実施の形態における運用管理処理の詳細を説明するフローチャート図である。
【
図14】
図14は、第1の実施の形態における運用管理処理の詳細を説明するフローチャート図である。
【
図15】
図15は、第1の実施の形態における運用管理処理の詳細を説明するフローチャート図である。
【
図16】
図16は、第1の実施の形態における運用情報133の具体例について説明する図である。
【
図17】
図17は、第1の実施の形態における運用情報133の具体例について説明する図である。
【
図18】
図18は、第1の実施の形態における運用情報133の具体例について説明する図である。
【
図19】
図19は、第1の実施の形態における運用情報133の具体例について説明する図である。
【
図20】
図20は、第1の実施の形態における運用情報133の具体例について説明する図である。
【
図21】
図21は、第1の実施の形態における運用管理処理の詳細を説明するフローチャート図である。
【発明を実施するための形態】
【0009】
[第1の実施の形態における情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。
図1は、情報処理システム10の構成について説明する図である。
【0010】
図1に示す情報処理システム10は、例えば、管理装置1と、物理マシン2と、操作端末5とを有する。
【0011】
物理マシン2は、例えば、1台以上の物理マシンからなる物理マシン群であり、事業者が利用者に対してサービスを提供するための業務システムSYSが稼働する。物理マシン2では、例えば、業務システムSYSが稼働する複数の仮想マシン(VM:Virtual Machine)やコンテナが動作する。
【0012】
操作端末5は、例えば、業務システムSYSの監視を行う運用担当者(以下、単に運用担当者とも呼ぶ)が必要な情報の入力や閲覧等を行うPC(Personal Computer)である。
【0013】
管理装置1は、例えば、物理マシンまたは仮想マシンであり、性能問題の発生予測を行う処理(以下、運用管理処理とも呼ぶ)を行う。そして、管理装置1は、例えば、運用管理処理の結果を示す情報を操作端末5に送信する。
【0014】
[比較例における運用管理処理]
次に、比較例における運用管理処理について説明を行う。
図2から
図6は、比較例における運用管理処理について説明する図である。具体的に、
図2は、比較例における運用管理処理を説明するフローチャート図である。また、
図3から
図6は、比較例における運用管理処理の具体例を説明する図である。なお、以下、利用者に対してサービスを提供するための業務システムSYSの稼働を本番稼働とも呼ぶ。
【0015】
管理装置1は、
図2に示すように、例えば、物理マシン2(業務システムSYS)においてアプリケーションを実行させる(S1)。具体的に、管理装置1は、例えば、業務システムSYSの本番稼働前のタイミングにおいて予めアプリケーションの実行を行う。
【0016】
そして、管理装置1は、例えば、アプリケーションの実行中における複数のタイミング(例えば、1秒ごと等の定期的なタイミング)において、アプリケーションの実行中における物理マシン2の負荷状況を示す値を取得(計測)する(S2)。具体的に、管理装置1は、例えば、各タイミングにおいて、アプリケーションの実行中における物理マシン2のCPU使用率と、アプリケーションにおける単位処理の単位時間あたりの実行回数(以下、単位実行回数とも呼ぶ)と、アプリケーションにおける単位処理の実行時間(以下、単位実行時間とも呼ぶ)とを取得する。なお、アプリケーションにおける単位処理は、例えば、トランザクション処理である。また、単位処理の単位時間は、例えば、1秒間である。以下、物理マシン2の負荷状況の計測結果の具体例について説明を行う。
【0017】
[比較例における計測結果の具体例]
図3は、比較例における物理マシン2の負荷状況の計測結果の具体例について説明する図である。なお、以下、アプリケーションにおける単位処理の単位時間あたりの実行回数が、アプリケーションにおけるトランザクション処理の1秒間あたりの実行回数(TPS:Transaction Per Second)であるものとして説明を行う。
【0018】
具体的に、
図3に示す例は、例えば、1行目の情報に示すように、「単位実行回数」が「133.1(TPS)」であるタイミングにおける「CPU使用率」及び「単位実行時間」が「8.65(%)」及び「3.10(ms)」であったことを示している。
【0019】
また、
図3に示す例は、例えば、2行目の情報に示すように、「単位実行回数」が「399.3(TPS)」であるタイミングにおける「CPU使用率(%)」及び「単位実行時間」が「20.30(%)」及び「3.01(ms)」であったことを示している。
図3に含まれる他の情報についての説明は省略する。
【0020】
図2に戻り、管理装置1は、例えば、S2の処理で取得したCPU使用率と単位実行回数と単位実行時間とから関係式131(以下、第1関係式131とも呼ぶ)及び関係式132(以下、第2関係式132とも呼ぶ)を生成する(S3)。具体的に、管理装置1は、例えば、S2の処理で取得したCPU使用率と、S2の処理で取得した単位実行回数との関係を示す第1関係式131を算出する。また、管理装置1は、S2の処理で取得したCPU使用率と、S2の処理で取得した単位実行時間との関係を示す第2関係式132を算出する。以下、第1関係式131及び第2関係式132の具体例について説明を行う。
【0021】
[比較例における第1関係式及び第2関係式の具体例]
図4は、比較例における第1関係式131及び第2関係式132の具体例について説明する図である。
図4(A)は、第1関係式131を説明するグラフ図であり、
図4(B)は、第2関係式132を説明するグラフ図である。なお、
図4(A)のグラフ図における横軸及び縦軸は、
図3における「単位実行回数」及び「CPU使用率」のそれぞれに対応する。また、
図4(B)のグラフ図における横軸及び縦軸は、
図3における「CPU使用率」及び「単位実行時間」のそれぞれに対応する。
【0022】
具体的に、
図4(A)における各点P1は、
図3における「単位実行回数」と「CPU使用率」との各組み合わせに対応する点である。そして、
図4(A)における直線L1は、第1関係式131に対応する直線であり、最小二乗法によって算出した各点P1の近似直線である。
【0023】
また、
図4(B)における各点P2は、
図3における「CPU使用率」及び「単位実行時間」との各組み合わせに対応する点である。そして、
図4(B)における直線L2は、例えば、第2関係式132に対応する直線であり、最小二乗法によって算出した各点P2の近似直線である。
【0024】
なお、管理装置1は、第1関係式131及び第2関係式132の生成に必要な各情報を取得するために、例えば、単位実行時間(単位実行回数)を変化させながらアプリケーションを複数回実行するものであってもよい。
【0025】
図2に戻り、管理装置1は、例えば、業務システムSYSの本番稼働中におけるアプリケーションの単位実行回数と、業務システムSYSの本番稼働中におけるアプリケーションの実行に伴う単位処理の実行回数(以下、総実行回数)とを取得する(S4)。具体的に、管理装置1は、例えば、運用担当者が操作端末5から入力した単位実行回数と総実行回数を取得する。すなわち、管理装置1は、例えば、運用担当者によって予め決定された単位実行回数及び総実行回数を取得する。以下、S4の処理で取得した単位実行回数を予定単位実行回数とも呼び、S4の処理で取得した総実行回数を予定総実行回数とも呼ぶ。
【0026】
そして、管理装置1は、例えば、S3の処理で算出した第1関係式を用いることによって、S4の処理で取得した単位実行回数に対応するCPU使用率を算出する(S5)。さらに、管理装置1は、例えば、S3の処理で算出した第2関係式132を用いることによって、S5の処理で算出したCPU使用率に対応する単位実行時間を算出する(S6)。
【0027】
その後、管理装置1は、例えば、S6の処理で算出した単位実行時間と、S4の処理で取得した総実行回数とから、アプリケーションの実行開始から実行終了までに要する実行時間(以下、総実行時間とも呼ぶ)を算出する(S7)。以下、S7の処理で算出した総実行回数を予測実行時間とも呼ぶ。
【0028】
そして、管理装置1は、例えば、S4の処理で取得した単位実行回数及び総実行回数と、S5の処理で算出したCPU使用率と、S7の処理で算出した総実行時間とから、運用情報133を生成する(S8)。
【0029】
運用情報133は、例えば、業務システムSYSの本番稼働時におけるアプリケーションの業務スケジュールを示す情報である。具体的に、運用情報133は、例えば、業務システムSYSの本番稼働時におけるアプリケーションの負荷状況や実行状況の予測値を含む情報であり、性能問題の発生についての予測結果を含む情報である。
【0030】
なお、業務システムSYSにおいて実行されるアプリケーションが複数存在する場合、管理装置1は、S1からS7までの処理をアプリケーションごとに行い、その後、複数のアプリケーションのそれぞれについて算出した情報を用いて運用情報133を生成する。
【0031】
その後、管理装置1は、業務システムSYSの本番稼働中において、例えば、本番稼働前に生成された運用情報133の内容に従って、アプリケーションを自動的に実行する。以下、比較例における運用情報133の具体例について説明を行う。
【0032】
[比較例における運用情報の具体例]
図5は、比較例における運用情報133の出力例について説明する図である。具体的に、
図5は、例えば、比較例における運用情報133を操作端末5の出力装置(図示せず)に出力する際の出力例である。なお、
図5のグラフ図における横軸は、時刻に対応し、
図5のグラフ図における縦軸は、単位実行回数(左側)及びCPU使用率(右側)に対応する。また、以下、業務システムSYSにおいてアプリケーションX(以下、単にアプリXとも呼ぶ)とアプリケーションY(以下、単にアプリYとも呼ぶ)とアプリケーションZ(以下、単にアプリZとも呼ぶ)とが実行されるものとして説明を行う。また、以下、アプリケーションX、アプリケーションY及びアプリケーションZがこの順番に実行されるものとして説明を行う。さらに、以下、最初に実行されるアプリケーション(アプリケーションX)の実行開始時刻やアプリケーション間の実行インターバルは、運用管理者によって予め設定されるものとして説明を行う。
【0033】
例えば、S7の処理において、アプリケーションXの総実行時間として「10(分)」が算出され、アプリケーションYの総実行時間として「15(分)」が算出され、アプリケーションZの総実行時間として「15(分)」が算出された場合、管理装置1は、
図5における領域R1に示すように、アプリケーションXの実行開始時刻及び実行終了時刻が「12:03」及び「12:13」であり、
図5における領域R2に示すように、アプリケーションYの実行開始時刻及び実行終了時刻が「12:15」及び「12:30」であり、
図5における領域R3に示すように、アプリケーションZの実行開始時刻及び実行終了時刻が「12:35」及び「12:50」であることを示す運用情報133を生成する。
【0034】
また、管理装置1は、例えば、S4の処理で取得した単位実行回数(予定単位実行回数)に従って、
図5における領域R1に示すように、アプリケーションXの単位実行回数が「400(TPS)」であり、
図5における領域R2に示すように、アプリケーションYの単位実行回数が「1400(TPS)」であり、
図5における領域R3に示すように、アプリケーションZの単位実行回数が「1000(TPS)」であることを示す運用情報133を生成する。
【0035】
さらに、管理装置1は、
図5における線L3に示すように、例えば、S5の処理で算出したCPU使用率に従って、アプリケーションXの実行時におけるCPU使用率が「20(%)」であり、アプリケーションYの実行時におけるCPU使用率が「50(%)」であり、アプリケーションZの実行時におけるCPU使用率が「30(%)」であることを示す運用情報133を生成する。
【0036】
ここで、業務システムSYSの本番稼働中におけるアプリケーションの単位実行時間は、物理マシン2におけるCPU使用率の上昇に伴って大幅に劣化する場合がある。具体的に、
図3に示す計測結果は、CPU使用率が60%を超えた場合、アプリケーションの単位実行時間が大幅に上昇することを示している。そして、業務システムSYSでは、この場合、アプリケーションの実行終了時刻が遅延し、実際のアプリケーションの実行状況と運用情報133が示すアプリケーションの実行状況との間において乖離が発生することになる。そのため、管理装置1では、運用情報133を用いることによる性能問題の予測(事前検知)を精度良く行うことが困難になる場合がある。
【0037】
具体的に、
図6に示す例は、アプリケーションXの実行開始時刻が遅延したことにより、アプリケーションXの実行がアプリケーションYの実行開始時刻までに終了せず、アプリケーションYの実行開始時刻の近辺のタイミング(
図6における「12:15」近辺のタイミング)におけるCPU使用率が60%以上に上昇したことを示している。また、
図6に示す例は、物理マシン2における他のアプリケーション(図示せず)の実行等に起因して、アプリケーションYの実行中のタイミング(
図6における「12:25」近辺のタイミング)におけるCPU使用率が60%以上に上昇していることを示している。
【0038】
その結果、
図6に示す例は、CPU使用率の上昇に伴うアプリケーションYの実行遅延が発生したことにより、アプリケーションYの実行がアプリケーションZの実行開始時刻までに終了せず、アプリケーションZの実行開始時刻の近辺のタイミング(
図6における「12:35」近辺のタイミング)におけるCPU使用率が80%以上に上昇していることを示している。
【0039】
すなわち、
図6に示す例は、業務システムSYSの本番稼働中において、アプリケーションX及びアプリケーションYの実行遅延に起因する性能問題(アプリケーションZの実行開始時刻の近辺のタイミングにおけるCPU使用率の高騰)が発生したことを示している。換言すれば、
図6に示す例は、
図5に示す運用情報133から事前(業務システムSYSの本願稼働前)に予測することができなかった性能問題が発生したことを示している。
【0040】
そこで、本実施の形態における管理装置1は、業務システムSYSの本番稼働中において、例えば、アプリケーションの実行中における物理マシン2の負荷状況(例えば、CPU使用率)を示す複数の情報(以下、負荷情報とも呼ぶ)を取得する。また、管理装置1は、例えば、物理マシン2におけるアプリケーションの実行状況を示す情報(以下、実行情報とも呼ぶ)を取得する。
【0041】
そして、管理装置1は、例えば、物理マシン2の負荷状況と物理マシン2におけるアプリケーションの単位処理の実行に要する単位実行時間との関係を示す複数の第2関係式132(以下、モデルとも呼ぶ)を記憶した記憶部を参照し、取得した複数の負荷情報ごとに、複数の第2関係式132のうちの各負荷情報に対応する特定の第2関係式132(以下、特定のモデルとも呼ぶ)を特定する。
【0042】
その後、管理装置1は、例えば、複数の負荷情報と、複数の負荷情報のそれぞれに対応する特定の第2関係式と、実行情報とに基づいて、アプリケーションの実行時間の遅延を示す遅延実行時間を推定する。
【0043】
また、管理装置1は、例えば、遅延実行時間と、実行情報(例えば、アプリケーションの実行に要する総実行時間として予め予測された予測実行時間)とに基づいて、アプリケーションの総実行時間を算出する。
【0044】
また、管理装置1は、例えば、アプリケーションの総実行時間と、実行情報(例えば、アプリケーションの実行開始時刻)とに基づいて、アプリケーションの実行終了時刻を推定する。
【0045】
すなわち、本実施の形態における管理装置1は、業務システムSYSの本番稼働前において、例えば、物理マシン2のCPU使用率の範囲ごとに複数の第2関係式132を生成する。そして、管理装置1は、例えば、業務システムSYSの本番稼働中において、アプリケーションの実行中における物理マシン2のCPU使用率の変動に応じて複数の第2関係式132の切り替えを行う。その後、管理装置1は、例えば、切り替えが行われた複数の第2関係式132をそれぞれ用いることによって、実行中のアプリケーションの実行終了時刻を推定する。さらに、管理装置1は、例えば、推定した実行終了時刻によって、業務システムSYSの本番稼働前に生成した運用情報133を更新する。
【0046】
これにより、本実施の形態における管理装置1は、例えば、実際のアプリケーションの実行状況と運用情報133が示すアプリケーションの実行状況との乖離の発生を抑制することが可能になる。そのため、管理装置1は、例えば、実行中のアプリケーションの実行終了時刻の推定精度を向上させることが可能になり、さらに、性能問題の予測(事前検知)の精度を向上させることが可能になる。
【0047】
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。
図7は、管理装置1のハードウエア構成を説明する図である。また、
図8は、物理マシン2のハードウエア構成を説明する図である。
【0048】
[管理装置のハードウエア構成]
初めに、管理装置1のハードウエア構成について説明を行う。管理装置1は、
図7に示すように、プロセッサであるCPU101と、メモリ102と、通信装置103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
【0049】
記憶媒体104は、例えば、運用管理処理を行うためのプログラム110を記憶するプログラム格納領域(図示せず)を有する。また、記憶媒体104は、例えば、運用管理処理を行う際に用いられる情報を記憶する情報格納領域130を有する。また、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。
【0050】
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行して運用管理処理を行う。
【0051】
また、通信装置103は、例えば、物理マシン2との通信を行う。
【0052】
[物理マシンのハードウエア構成]
次に、物理マシン2のハードウエア構成について説明を行う。物理マシン2は、
図8に示すように、プロセッサであるCPU201と、メモリ202と、通信装置203と、記憶媒体204とを有する。各部は、バス205を介して互いに接続される。
【0053】
記憶媒体204は、例えば、運用管理処理を行うためのプログラム210を記憶するプログラム格納領域(図示せず)を有する。また、記憶媒体204は、例えば、運用管理処理を行う際に用いられる情報を記憶する情報格納領域230(以下、記憶部230とも呼ぶ)を有する。なお、記憶媒体204は、例えば、HDDやSSDであってよい。
【0054】
CPU201は、記憶媒体204からメモリ202にロードされたプログラム210を実行して運用管理処理を行う。
【0055】
また、通信装置203は、例えば、インターネット等のネットワークNWを介して操作端末5との通信を行う。さらに、通信装置203は、例えば、管理装置1との通信を行う。
【0056】
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。
図9は、物理マシン2の機能のブロック図である。また、
図10は、管理装置1の機能のブロック図である。具体的に、
図10は、物理マシン2の機能のうち、運用管理処理の実行に関連する機能についてのブロック図である。
【0057】
[物理マシンの機能]
初めに、物理マシン2の機能について説明を行う。物理マシン2は、
図9に示すように、例えば、CPU201やメモリ202等のハードウエアとプログラム210とが有機的に協働することにより、情報収集部211と、情報送信部212とを含む各種機能を実現する。
【0058】
また、物理マシン2は、例えば、
図9に示すように、負荷情報231と、実行情報232とを情報格納領域130に記憶する。
【0059】
情報収集部211は、例えば、定期的なタイミングにおいて、アプリケーションの実行中における物理マシン2の負荷情報231を収集する。負荷情報231は、例えば、アプリケーションの実行中における物理マシン2のCPU使用率である。
【0060】
また、情報収集部211は、例えば、物理マシン2におけるアプリケーションの実行情報232を収集する。実行情報232は、例えば、物理マシン2においてアプリケーションが実行中であるか否かを示す情報である。また、実行情報232は、例えば、物理マシン2におけるアプリケーションの実行開始時刻を示す情報である。また、実行情報232は、例えば、物理マシン2におけるアプリケーションの実行終了時刻を示す情報である。
【0061】
情報送信部212は、例えば、情報収集部211が収集した負荷情報231及び実行情報232を管理装置1に送信する。
【0062】
[管理装置の機能]
次に、管理装置1の機能について説明を行う。管理装置1は、
図10に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、事前処理部111と、情報取得部112と、モデル特定部113と、時刻推定部114と、情報更新部115と、情報出力部116とを含む各種機能を実現する。
【0063】
また、管理装置1は、例えば、
図10に示すように、第1関係式131と、複数の第2関係式132と、運用情報133とを情報格納領域130に記憶する。
【0064】
事前処理部111は、例えば、業務システムSYSの本番稼働前において、第1関係式131及び複数の第2関係式132を生成する。また、事前処理部111は、例えば、業務システムSYSの本番稼働前において、運用情報133を生成する。
【0065】
情報取得部112は、例えば、業務システムSYSの本番稼働中において、物理マシン2から送信された負荷情報231及び実行情報232を受信する。なお、情報取得部112は、例えば、物理マシン2にアクセスして負荷情報231及び実行情報232を主体的に取得するものであってもよい。
【0066】
モデル特定部113は、例えば、複数の関係式132を記憶した情報格納領域130を参照し、情報取得部112が取得した負荷情報231ごとに、複数の関係式132のうちの各負荷情報に対応する関係式132を特定する。
【0067】
具体的に、モデル特定部113は、例えば、情報取得部112が取得した複数の負荷情報231ごとに、各負荷情報231の大きさ(例えば、CPU使用率の大きさ)が含まれる範囲に対応する第2関係式132を生成する。
【0068】
時刻推定部114は、例えば、情報取得部112が取得した複数の負荷情報231と、モデル特定部113が特定した複数の第2関係式132と、情報取得部112が取得した実行情報232とに基づいて、業務システムSYSにおいて実行中のアプリケーションの実行終了時刻を推定する。
【0069】
情報更新部115は、例えば、時刻推定部114が推定した実行終了時刻に基づいて運用情報133を更新する。なお、業務システムSYSの本番稼働中において、業務システムSYSを構成する各アプリケーションは、情報格納領域130に記憶された運用情報133に従って自動的に実行される。
【0070】
情報出力部116は、例えば、情報更新部115が更新した運用情報133を操作端末5に出力する。
【0071】
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。
図11は、第1の実施の形態における運用管理処理の概略を説明するフローチャート図である。また、
図12は、第1の実施の形態における運用管理処理の概略を説明する図である。具体的に、
図11及び
図12は、業務システムSYSの本番稼働中における運用管理処理の概略を説明する図である。
【0072】
管理装置1は、
図11に示すように、例えば、業務システムSYSの本番稼働中において、アプリケーションの実行中における物理マシン2の負荷状況を示す複数の負荷情報231を取得する(S11)。具体的に、管理装置1は、例えば、アプリケーションの実行中における複数のタイミング(例えば、1秒ごとのタイミング)のそれぞれに対応する複数の負荷情報231を取得する。
【0073】
また、管理装置1は、例えば、物理マシン2におけるアプリケーションの実行状況を示す実行情報232を取得する(S12)。
【0074】
続いて、管理装置1は、例えば、複数の第2関係式132を記憶した情報格納領域130を参照し、S11の処理で取得した負荷情報231ごとに、各負荷情報231に対応する第2関係式132を特定する(S13)。
【0075】
その後、管理装置1は、S11の処理で取得した複数の負荷情報231と、S13の処理で推定した複数の第2関係式132と、S12の処理で取得した実行情報232とに基づいて、実行中のアプリケーションの実行終了時刻を推定する(S14)。
【0076】
具体的に、管理装置1は、業務システムSYSの本番稼働前において、
図12における直線L2aに示すように、例えば、物理マシン2のCPU使用率が60(%)未満である場合に適用する第2関係式132(以下、第2関係式132aまたは第1モデル132aとも呼ぶ)を予め生成する。また、管理装置1は、業務システムSYSの本番稼働前において、
図12における曲線L2bに示すように、例えば、指数関数による近似を行うことによって、物理マシン2のCPU使用率が60(%)以上である場合に適用する第2関係式132(以下、第2関係式132bまたは第2モデル132bとも呼ぶ)を予め生成する。
【0077】
そして、業務システムSYSの本番稼働中において、例えば、S11の処理で取得したCPU使用率(負荷情報231)が全て60(%)未満であった場合、管理装置1は、第2関係式132aのみを用いることによって、各CPU使用率に対応する単位実行時間を算出し、実行中のアプリケーションの実行終了時刻の推定を行う。
【0078】
一方、業務システムSYSの本番稼働中において、例えば、S11の処理で取得したCPU使用率(負荷情報231)に60(%)未満のものと60(%)以上のものとが含まれている場合、管理装置1は、60(%)未満のCPU使用率に対応する単位実行時間の算出については第2関係式132aを用い、60(%)以上のCPU使用率に対応する単位実行時間の算出については第2関係式132bを用いることによって、実行中のアプリケーションの実行終了時刻の推定を行う。
【0079】
これにより、本実施の形態における管理装置1は、例えば、実際のアプリケーションの実行状況と運用情報133が示すアプリケーションの実行状況との乖離の発生を抑制することが可能になり、性能問題の予測(事前検知)の精度を向上させることが可能になる。
【0080】
なお、管理装置1は、業務システムSYSの本番稼働前において、第2関係式132bを複数生成するものであってもよい。具体的に、管理装置1は、例えば、60(%)以上であって70(%)未満のCPU使用率に対応する単位実行時間の算出に用いる第2関係式132b(以下、第2関係式132b1とも呼ぶ)と、70(%)以上のCPU使用率に対応する単位実行時間の算出に用いる第2関係式132b(以下、第2関係式132b2とも呼ぶ)とを含む複数の第2関係式132をそれぞれ生成するものであってよい。そして、管理装置1は、例えば、第2関係式132aと、第2関係式132b1と、第2関係式132b2とを含む第2関係式132のそれぞれを用いることによって、アプリケーションの実行終了時刻の推定を行うものであってもよい。
【0081】
これにより、管理装置1は、アプリケーションの実行終了時刻をより精度良く行うことが可能になる。
【0082】
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明を行う。
図13から
図15は、第1の実施の形態における運用管理処理の詳細を説明するフローチャート図である。また、
図16から
図21は、第1の実施の形態における運用管理処理の詳細を説明する図である。なお、例えば、業務システムSYSにおいて複数のアプリケーション(例えば、アプリケーションX、アプリケーションY及びアプリケーションZ)が実行される場合、管理装置1は、複数のアプリケーションのそれぞれについて運用管理処理を行う。
【0083】
[本番稼働前の運用管理処理]
初めに、第1の実施の形態における運用管理処理のうち、業務システムSYSの本番稼働前に行われる処理について説明を行う。
【0084】
事前処理部111は、
図13に示すように、例えば、物理マシン2(業務システムSYS)においてアプリケーションを実行させる(S21)。
【0085】
そして、事前処理部111は、例えば、アプリケーションの実行中の複数のタイミングにおける物理マシン2の負荷状況を示す情報として、各タイミングおける物理マシン2のCPU使用率と、各タイミングおけるアプリケーションの単位実行回数と、各タイミングおけるアプリケーションの単位実行時間とを取得する(S22)。具体的に、事前処理部111は、例えば、運用担当者が操作端末5から入力した各情報を取得する。
【0086】
続いて、事前処理部111は、例えば、S22の処理で取得したCPU使用率と単位実行回数と単位実行時間とから関係式131を生成する(S23)。具体的に、事前処理部111は、例えば、S22の処理で取得したCPU使用率と、S22の処理で取得した単位実行回数との第1関係式131を算出する。また、事前処理部111は、例えば、S22の処理で取得したCPU使用率と、S22の処理で取得した単位実行時間との第2関係式132を、物理マシン2のCPU使用率の範囲ごとに複数算出する。
【0087】
その後、事前処理部111は、例えば、業務システムSYSの本番稼働時におけるアプリケーションの単位実行回数(予定単位実行回数)と、アプリケーションの総実行回数(予定総実行回数)とを取得する(S24)。具体的に、事前処理部111は、例えば、運用担当者が操作端末5から入力した単位実行回数と総実行回数を取得する。
【0088】
そして、事前処理部111は、例えば、S23の処理で算出した第1関係式を用いることによって、S24の処理で取得した単位実行回数に対応するCPU使用率を算出する(S25)。さらに、事前処理部111は、例えば、S23の処理で算出した第2関係式132を用いることによって、S25の処理で算出したCPU使用率に対応する単位実行時間を算出する(S26)。
【0089】
その後、事前処理部111は、例えば、S26の処理で算出した単位実行時間と、S24の処理で取得した総実行回数とから、アプリケーションの総実行時間(予測実行時間)を算出する(S27)。具体的に、事前処理部111は、例えば、S26の処理で算出した単位実行時間と、S24の処理で取得した総実行回数とを乗算することによって、アプリケーションの総実行時間を算出する。
【0090】
そして、事前処理部111は、例えば、S24の処理で取得した単位実行回数及び総実行回数と、S25の処理で算出したCPU使用率と、S27の処理で算出した総実行時間とから、運用情報133を生成する(S28)。以下、本実施の形態における運用情報133の具体例について説明を行う。
【0091】
[運用情報の具体例]
図16から
図20は、第1の実施の形態における運用情報133の具体例について説明する図である。
【0092】
図16等に示す運用情報133は、例えば、S24の処理で取得した総実行回数(予定総実行回数)が設定される「総実行回数」と、S24の処理で取得した単位実行回数(予定単位実行回数)が設定される「単位実行回数」と、S22の処理で取得したCPU使用率が設定される「CPU使用率」とを項目として有する。また、
図16等に示す運用情報133は、例えば、S26の処理で算出した単位実行時間が設定される「単位実行時間」と、S27の処理で算出した総実行時間(予測実行時間)が設定される「総実行時間」とを項目として有する。さらに、
図16等に示す運用情報133は、例えば、S27の処理で算出した総実行時間に基づいて推定されたアプリケーションの実行開始時刻及び実行終了時刻が設定される「実行開始時刻」及び「実行終了時刻」を項目として有する。
【0093】
具体的に、
図16に示す運用情報133において、「アプリX」に対応する情報(1行目の情報)には、「総実行回数」として「192000(T:Transanstion)」が設定され、「単位実行回数」として「400(TPS)」が設定され、「CPU使用率」として「19.9(%)」が設定されている。また、
図16に示す運用情報133において、1行目の情報には、「単位実行時間」として「29.9(ms)」が設定され、「総実行時間」として「10(分)」が設定され、「実行開始時刻」として「12:03」が設定され、「実行終了時刻」として「12:13」が設定されている。
【0094】
なお、「実行開始時刻」に設定される時刻は、例えば、運用管理者によって予め指定された時刻であってよい。また、「実行終了時刻」に設定される時刻は、例えば、「実行開始時刻」に設定される時刻に対して「総実行時間」に設定される時間を加算することによって算出されるものであってよい。
図16に含まれる他の情報についての説明は省略する。
【0095】
すなわち、本実施の形態における管理装置1は、
図2等で説明した比較例の場合と異なり、業務システムSYSの本番稼働前において、物理マシン2のCPU使用率の範囲ごとの複数の第2関係式132を予め生成する。そして、管理装置1は、例えば、業務システムSYSの本番稼働中において、アプリケーションの実行中における物理マシン2のCPU使用率の変動に応じて複数の第2関係式132の切り替えを行う。
【0096】
これにより、本実施の形態における管理装置1は、例えば、実際のアプリケーションの実行状況と運用情報133が示すアプリケーションの実行状況との乖離の発生を抑制することが可能になる。
【0097】
[本番稼働中の運用管理処理]
次に、第1の実施の形態における運用管理処理のうち、業務システムSYSの本番稼働中に行われる処理について説明を行う。以下、業務システムSYSの本番稼働前の運用管理処理において、第1関係式131として
図4(A)で説明した第1関係式131が算出され、複数の第2関係式132として
図12で説明した第2関係式131a及び第2関係式131bが算出されたものとして説明を行う。
【0098】
情報取得部112は、
図14に示すように、例えば、業務システムSYSの本番稼働中における所定時間(例えば、1秒)ごとに、物理マシン2のCPU使用率(負荷情報231)を物理マシン2から取得する(S31)。そして、情報取得部112は、取得したCPU使用率を情報格納領域130に記憶(蓄積)する。
【0099】
また、情報取得部112は、例えば、アプリケーションの実行情報232を物理マシン2から取得する(S32)。
【0100】
続いて、情報取得部112は、例えば、情報格納領域130に記憶した運用情報133を参照し、アプリケーションの単位実行回数(予定単位実行回数)を取得する(S33)。
【0101】
また、情報取得部112は、例えば、情報格納領域130に記憶した運用情報133を参照し、アプリケーションの総実行時間(予測実行時間)を取得する(S34)。
【0102】
次に、モデル特定部113は、例えば、S31の処理で取得したCPU使用率(情報格納領域130に蓄積したCPU使用率)のそれぞれが負荷条件を満たすか否かを判定する(S35)。具体的に、管理装置1は、例えば、各CPU使用率の大きさが閾値(例えば、60(%))以上であるか否かを判定する。
【0103】
そして、モデル特定部113は、例えば、S31の処理で取得したCPU使用率のうち、負荷条件を満たすと判定したCPU使用率(以下、第1負荷情報231とも呼ぶ)に対応する第2関係式132として第2関係式132aを特定する(S36)。また、モデル特定部113は、例えば、S31の処理で取得したCPU使用率のうち、負荷条件を満たさないと判定したCPU使用率(以下、第2負荷情報231とも呼ぶ)に対応する第2関係式132として第2関係式132bを特定する(S37)。
【0104】
その後、時刻推定部114は、
図15に示すように、例えば、S37の処理において第2関係式132bが特定されたか否かについて判定を行う(S41)。すなわち、時刻推定部114は、例えば、物理マシン2におけるCPU使用率の高騰によって、アプリケーションの遅延が発生したか否かについての判定を行う。
【0105】
その結果、S37の処理において第2関係式132bが特定されたと判定した場合(S41のYES)、時刻推定部114は、例えば、S31の処理で取得したCPU使用率の取得が行われた時間のうち、S37の処理で第2関係式132bと対応すると特定したCPU使用率の取得が行われた時間(以下、特定時間とも呼ぶ)を特定する(S42)。
【0106】
そして、時刻推定部114は、例えば、第2関係式132bを用いることにより、S37の処理で第2関係式132bと対応すると特定したCPU使用率に対応する単位実行時間(以下、遅延単位実行時間とも呼ぶ)を特定する(S43)。
【0107】
具体的に、例えば、
図12に示す第2関係式132bにおいて、「CPU使用率」が「68(%)」である点の「単位実行時間」が「15.7(ms)」であり、かつ、S37の処理で第2関係式132bと対応すると特定したCPU使用率の平均が「68(%)」である場合、時刻推定部114は、例えば、遅延単位実行時間として「15.7(ms)」を特定する。
【0108】
すなわち、複数の第2関係式132b(例えば、第2関係式132b1及び第2関係式132b2を含む複数の第2関係式132b)が生成されている場合、時刻推定部114は、例えば、複数の第2関係式132bのうち、S37の処理で特定したCPU使用率の平均に対応する第2関係式132bを用いることによって、遅延単位実行時間の特定を行うものであってよい。
【0109】
続いて、時刻推定部114は、例えば、S43の処理で特定した遅延単位実行時間から、第2関係式132bを用いる場合におけるアプリケーションの単位実行回数(以下、遅延単位実行回数とも呼ぶ)を算出する(S44)。
【0110】
具体的に、例えば、物理マシン2における処理の最大多重度が「5」であった場合、時刻推定部114は、例えば、物理マシン2の最大多重度である「5」を、S43の処理で算出した単位実行時間(遅延単位実行時間)である「15.7(ms)」で除算することによって、第2関係式132bを用いる場合におけるアプリケーションの単位実行回数として「318(TPS)」を算出する。
【0111】
次に、時刻推定部114は、例えば、S33の処理で取得した単位実行回数(予定単位実行回数)とS44の処理で算出した単位実行回数(遅延単位実行回数)との差と、S42の処理で特定した特定時間とから、S34の処理で取得したアプリケーションの予測実行時間に対する遅延実行時間を算出する(S45)。
【0112】
具体的に、例えば、S33の処理で取得した単位実行回数が「1400(TPS)」であり、S44の処理で算出した単位実行回数が「318(TPS)」である場合、時刻推定部114は、S33の処理で取得した単位実行回数とS44の処理で算出した単位実行回数との差として「1082(TPS)」を算出する。そして、例えば、S42の処理で特定した特定時間が「240(s)」である場合、算出した「1082(TPS)」と「240(s)」との積を「1400(TPS)」で除算することによって、遅延実行時間として「185(s)」を算出する。
【0113】
その後、時刻推定部114は、例えば、S34の処理で取得したアプリケーションの予測実行時間に対して、S45の処理で算出した遅延実行時間を加算することによって、アプリケーションの新たな総実行時間(予測実行時間)を算出する(S46)。
【0114】
そして、情報更新部115は、例えば、必要に応じて情報格納領域130に記憶した運用情報133を更新する(S47)。
【0115】
具体的に、例えば、S46の処理においてアプリケーションの新たな総実行時間が算出された場合、情報更新部115は、S46の処理で算出した新たな総実行時間が含まれるように、情報格納領域130に記憶した運用情報133を更新する。
【0116】
また、例えば、S32の処理において取得した実行情報232が示す内容が情報格納領域130に記憶した運用情報133と異なる場合、情報更新部115は、S32の処理において取得した実行情報232が示す内容が含まれるように、情報格納領域130に記憶した運用情報133を更新する。すなわち、例えば、アプリケーションの実行開始時刻の遅延が発生したことを実行情報232が示している場合、情報更新部115は、情報格納領域130に記憶した運用情報133に含まれるアプリケーションの実行開始時刻を更新する。
【0117】
これにより、本実施の形態における管理装置1は、例えば、実際のアプリケーションの実行状況と運用情報133が示すアプリケーションの実行状況との乖離の発生を抑制することが可能になり、性能問題の予測(事前検知)の精度を向上させることが可能になる。
【0118】
一方、S37の処理において第2関係式132bが特定されなかったと判定した場合(S41のNO)、時刻推定部114は、S42からS46の処理を行わない。すなわち、時刻推定部114は、この場合、アプリケーションの実行時間に更新が生じないと判定し、S42からS46の処理の実行を省略する。
【0119】
なお、S37の処理において特定したCPU使用率が複数存在する場合、時刻推定部114は、例えば、複数存在したCPU使用率ごとに遅延単位実行時間を算出し、さらに、複数存在したCPU使用率ごとに遅延単位実行回数を算出するものであってよい(S43及びS44)。そして、時刻推定部114は、この場合、複数存在したCPU使用率のそれぞれについて、S33の処理で取得した予定単位実行回数とS44の処理で算出した遅延単位実行回数との差を算出し、さらに、算出した差の合計値をS33の処理で取得した予定単位実行回数で除算することによって、遅延実行時間を算出するものであってもよい(S45)。
【0120】
これにより、管理装置1は、アプリケーションの実行終了時刻をより精度良く行うことが可能になる。
【0121】
[S47の処理の具体例]
次に、S47の処理の具体例について説明を行う。
図17から
図21は、S47の処理の具体例について説明する図である。以下、業務システムSYSの本番稼働前の運用管理処理において、
図16で説明した運用情報133が生成されているものとして説明を行う。
【0122】
初めに、アプリケーションYの実行前(アプリケーションXの実行中)に行われる処理について説明を行う。
【0123】
図16に示す運用情報133には、アプリケーションXの「実行開始時刻」として「12:03」が設定されている。そのため、例えば、アプリケーションXの実行開始時刻が12時08分であることをS32の処理で取得した実行情報232が示している場合、情報更新部115は、
図17の下線部分に示すように、アプリケーションXの「実行開始時刻」及び「実行終了時刻」を「12:08」及び「12:18」に更新する。
【0124】
ここで、
図17に示す運用情報133には、アプリケーションYの「実行開始時刻」として「12:15」が設定されている。そのため、例えば、アプリケーションXの実行終了時刻が12時18分になった場合、アプリケーションYの実行がアプリケーションXの実行終了よりも先に開始されることになる。そのため、情報更新部115は、
図18の下線部分に示すように、アプリケーションYの「実行開始時刻」及び「実行終了時刻」を「12:18」及び「12:33」に更新する。
【0125】
これにより、情報更新部115は、
図21に示すように、アプリケーションXの実行時間とアプリケーションYの実行時間との重複を抑制することが可能になる。そのため、管理装置1は、アプリケーションXとアプリケーションYとの同時実行による物理マシン2のCPU使用率の高騰(すなわち、性能問題の発生)を防止することが可能になる。
【0126】
次に、アプリケーションXの実行中に行われる処理について説明を行う。
【0127】
図18に示す運用情報133には、アプリケーションYの「総実行時間」として「15(分)」が設定されている。そのため、例えば、アプリケーションYの実行中において、遅延実行時間として「3(分)」が算出され、さらに、アプリケーションYの新たな総実行時間(予測実行時間)として「18(分)」が算出された場合、情報更新部115は、
図19の下線部分に示すように、アプリケーションYの「総実行時間」及び「実行終了時刻」を「18(分)」及び「12:36」に更新する。
【0128】
ここで、
図19に示す運用情報133には、アプリケーションZの「実行開始時刻」として「12:35」が設定されている。そのため、例えば、アプリケーションYの実行終了時刻が12時36分になった場合、アプリケーションZの実行がアプリケーションYの実行終了よりも先に開始されることになる。そのため、情報更新部115は、
図20の下線部分に示すように、アプリケーションZの「実行開始時刻」及び「実行終了時刻」を「12:36」及び「12:51」に更新する。
【0129】
これにより、情報更新部115は、
図21に示すように、アプリケーションYの実行時間とアプリケーションZの実行時間との重複を抑制することが可能になる。そのため、管理装置1は、アプリケーションYとアプリケーションZとの同時実行による物理マシン2のCPU使用率の高騰(すなわち、性能問題の発生)を防止することが可能になる。
【0130】
このように、本実施の形態における管理装置1は、業務システムSYSの本番稼働中において、例えば、アプリケーションの実行中における物理マシン2の負荷状況(例えば、CPU使用率)を示す複数の負荷情報231を取得する。また、管理装置1は、例えば、物理マシン2におけるアプリケーションの実行状況を示す実行情報232を取得する。
【0131】
そして、管理装置1は、例えば、物理マシン2の負荷状況と物理マシン2におけるアプリケーションの単位処理の実行に要する単位実行時間との関係を示す複数の第2関係式132を記憶した情報格納領域130を参照し、取得した複数の負荷情報231ごとに、複数の第2関係式132のうちの各負荷情報に対応する特定の第2関係式132を特定する。
【0132】
その後、管理装置1は、例えば、複数の負荷情報231と、複数の負荷情報231のそれぞれに対応する特定の第2関係式132と、実行情報232とに基づいて、アプリケーションの実行終了時刻を推定する。
【0133】
すなわち、本実施の形態における管理装置1は、業務システムSYSの本番稼働前において、例えば、物理マシン2のCPU使用率の範囲ごとに複数の第2関係式132を生成する。そして、管理装置1は、例えば、業務システムSYSの本番稼働中において、アプリケーションの実行中における物理マシン2のCPU使用率の変動に応じて複数の第2関係式132の切り替えを行う。その後、管理装置1は、例えば、切り替えが行われた複数の第2関係式132をそれぞれ用いることによって、実行中のアプリケーションの実行終了時刻を推定する。さらに、管理装置1は、例えば、推定した実行終了時刻によって、業務システムSYSの本番稼働前に生成した運用情報133を更新する。
【0134】
これにより、本実施の形態における管理装置1は、例えば、実際のアプリケーションの実行状況と運用情報133が示すアプリケーションの実行状況との乖離の発生を抑制することが可能になり、性能問題の予測(事前検知)の精度を向上させることが可能になる。
【0135】
また、本実施の形態における管理装置1は、例えば、アプリケーションの実行中におけるCPU使用率を繰り返し取得することで、物理マシン2における障害発生時における原因究明を行うことが可能になる。具体的に、管理装置1は、例えば、CPU使用率が高騰していたタイミングに実行されていたアプリケーションや機器(物理マシン2)を特定することによって、障害の発生原因であるアプリケーションや機器の特定を行うことが可能になる。
【0136】
以上の実施の形態をまとめると、以下の付記のとおりである。
【0137】
(付記1)
アプリケーションの実行中における監視対象システムの負荷状況を示す複数の負荷情報と、前記監視対象システムにおける前記アプリケーションの実行状況を示す実行情報とを前記監視対象システムから取得し、
前記監視対象システムの負荷状況と前記監視対象システムにおける前記アプリケーションの単位処理の実行に要する単位実行時間との関係を示す複数のモデルを記憶した記憶部を参照し、取得した前記複数の負荷情報ごとに、前記複数のモデルのうちの各負荷情報に対応する特定のモデルを特定し、
前記複数の負荷情報と、前記複数の負荷情報のそれぞれに対応する前記特定のモデルと、前記実行情報とに基づいて、前記アプリケーションの実行時間の遅延を示す遅延実行時間を推定する、
処理をコンピュータに実行させることを特徴とする運用管理プログラム。
【0138】
(付記2)
付記1において、
前記実行情報は、前記アプリケーションの実行に要する総実行時間として予め予測された予測実行時間とを含み、
前記推定する処理では、前記遅延実行時間と、前記予測実行時間とに基づいて、前記総実行時間を算出する、
ことを特徴とする運用管理プログラム。
【0139】
(付記3)
付記2において、
前記実行情報は、前記アプリケーションの実行開始時刻を示す情報を含み、
前記推定する処理では、前記総実行時間と、前記実行開始時刻とに基づいて、前記アプリケーションの実行終了時刻を推定する、
ことを特徴とする運用管理プログラム。
【0140】
(付記4)
付記3において、
前記推定する処理では、
前記複数の負荷情報ごとに、各負荷情報に対応する前記特定のモデルにおける各負荷情報に対応する前記単位実行時間を特定し、
特定した前記複数の負荷情報ごとの前記単位実行時間から、前記総実行時間を算出し、
算出した前記総実行時間を前記実行開始時刻に加算することによって、前記実行終了時刻を推定する、
ことを特徴とする運用管理プログラム。
【0141】
(付記5)
付記2において、
前記実行情報は、前記アプリケーションの実行中における前記単位処理の単位時間あたりの実行回数として予め決定された予定単位実行回数を含み、
前記特定する処理では、
取得した前記複数の負荷情報のそれぞれが所定の負荷条件を満たすか否かを判定し、
前記複数の負荷情報のうち、前記所定の負荷条件を満たす第1負荷情報に対応する前記特定のモデルとして第1モデルを特定し、前記所定の負荷条件を満たさない第2負荷情報に対応する前記特定のモデルとして前記第1モデルと異なる第2モデルを特定し、
前記推定する処理では、
前記第1モデルにおける前記第1負荷情報に対応する前記単位実行時間である第1単位実行時間と、前記第2モデルにおける前記第2負荷情報に対応する前記単位実行時間である第2単位実行時間とを特定し、
特定した前記第2単位実行時間から、前記第2モデルを用いる場合における前記単位処理の単位時間あたりの実行回数である遅延単位実行回数を算出し、
算出した前記遅延単位実行回数と前記予定単位実行回数との差と、前記第1単位実行時間とから、前記予測実行時間に対する前記遅延実行時間を算出し、
算出した前記遅延実行時間と前記予測実行時間との和を前記総実行時間として算出する、
ことを特徴とする運用管理プログラム。
【0142】
(付記6)
付記5において、
前記予定単位実行回数は、前記第1モデルを用いる場合における前記単位処理の単位時間あたりの実行回数であり、
前記予測実行時間は、前記アプリケーションの実行中における各単位時間の前記単位処理の実行回数が前記予定単位実行回数である場合の前記総実行時間である、
ことを特徴とする運用管理プログラム。
【0143】
(付記7)
付記5において、
前記推定する処理では、前記第2単位実行時間と、前記監視対象システムにおける前記単位処理の実行多重度とから、前記遅延単位実行回数を算出する、
ことを特徴とする運用管理プログラム。
【0144】
(付記8)
付記5において、
前記負荷情報は、前記監視対象システムに含まれる物理マシンのCPU使用率であり、
前記特定する処理では、前記CPU使用率が閾値を上回っている場合、前記第1モデルを特定し、前記CPU使用率が前記閾値を下回っている場合、前記第2モデルを特定する、
ことを特徴とする運用管理プログラム。
【0145】
(付記9)
アプリケーションの実行中における監視対象システムの負荷状況を示す複数の負荷情報と、前記監視対象システムにおける前記アプリケーションの実行状況を示す実行情報とを前記監視対象システムから取得する情報取得部と、
前記監視対象システムの負荷状況と前記監視対象システムにおける前記アプリケーションの単位処理の実行に要する単位実行時間との関係を示す複数のモデルを記憶した記憶部を参照し、取得した前記複数の負荷情報ごとに、前記複数のモデルのうちの各負荷情報に対応する特定のモデルを特定するモデル特定部と、
前記複数の負荷情報と、前記複数の負荷情報のそれぞれに対応する前記特定のモデルと、前記実行情報とに基づいて、前記アプリケーションの実行時間の遅延を示す遅延実行時間を推定する時刻推定部と、を有する、
ことを特徴とする情報処理装置。
【0146】
(付記10)
付記9において、
前記実行情報は、前記アプリケーションの実行に要する総実行時間として予め予測された予測実行時間とを含み、
前記時刻推定部は、前記遅延実行時間と、前記予測実行時間とに基づいて、前記総実行時間を算出する、
ことを特徴とする情報処理装置。
【0147】
(付記11)
付記10において、
前記実行情報は、前記アプリケーションの実行開始時刻を示す情報を含み、
前記時刻推定部は、前記総実行時間と、前記実行開始時刻とに基づいて、前記アプリケーションの実行終了時刻を推定する、
ことを特徴とする情報処理装置。
【0148】
(付記12)
アプリケーションの実行中における監視対象システムの負荷状況を示す複数の負荷情報と、前記監視対象システムにおける前記アプリケーションの実行状況を示す実行情報とを前記監視対象システムから取得し、
前記監視対象システムの負荷状況と前記監視対象システムにおける前記アプリケーションの単位処理の実行に要する単位実行時間との関係を示す複数のモデルを記憶した記憶部を参照し、取得した前記複数の負荷情報ごとに、前記複数のモデルのうちの各負荷情報に対応する特定のモデルを特定し、
前記複数の負荷情報と、前記複数の負荷情報のそれぞれに対応する前記特定のモデルと、前記実行情報とに基づいて、前記アプリケーションの実行時間の遅延を示す遅延実行時間を推定する、
処理をコンピュータが実行することを特徴とする運用管理方法。
【0149】
(付記13)
付記12において、
前記実行情報は、前記アプリケーションの実行に要する総実行時間として予め予測された予測実行時間とを含み、
前記推定する処理では、前記遅延実行時間と、前記予測実行時間とに基づいて、前記総実行時間を算出する、
ことを特徴とする運用管理方法。
【0150】
(付記14)
付記13において、
前記実行情報は、前記アプリケーションの実行開始時刻を示す情報を含み、
前記推定する処理では、前記総実行時間と、前記実行開始時刻とに基づいて、前記アプリケーションの実行終了時刻を推定する、
ことを特徴とする運用管理方法。
【符号の説明】
【0151】
1:監視装置 2:物理マシン
5:操作端末 NW:ネットワーク
SYS:業務システム