説明

リソース利用率測定装置及びプログラム

【課題】 仮想化環境でもリソースの利用量に比例する値を有し、且つ他の仮想マシンのリソース割当量に影響されないリソース利用率を測定する。
【解決手段】 実施形態の仮想マシン利用率計算手段は、前記入力された仮想マシン毎の各リソースの利用量を、前記入力された仮想マシン毎の各リソースの割当量制限値で除算し、前記仮想マシン毎の各リソースの利用率を計算する。実施形態の物理マシン利用率計算手段は、前記入力された仮想マシン毎の各リソースの利用量に基づいて、前記リソース毎に各仮想マシンのリソース利用量の合計値を計算し、当該合計値を、前記入力された物理マシンの各リソース量で除算し、前記物理マシンの各リソースの利用率を計算する。実施形態の利用率出力手段は、前記計算された前記仮想マシン毎の各リソースの利用率、及び前記計算された物理マシンの各リソースの利用率を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、リソース利用率測定装置及びプログラムに関する。
【背景技術】
【0002】
計算機システムの性能を監視する場合、vmstat,iostat等の性能計測コマンドを利用し、計算機システムの性能データを採取している。vmstatを利用する場合には、CPU(中央演算処理装置)の利用率が計測される。iostatを利用する場合には、ディスクアクセスの利用率が計測される。
【0003】
仮想化環境の仮想マシン上においてvmstat等の性能計測コマンドを実行した場合には、その仮想マシンに割当てられたリソース量(リソース割当量)に対する現在のリソース利用量の割合(=リソースの利用量/リソース割当量)が計測される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−293117号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、仮想化環境において性能計測コマンドを実行した場合には、各仮想マシンの負荷に従って各仮想マシンへのリソース割当量が動的に変化することから、利用率の解釈が難しくなる。例えば、仮想マシン上でvmstatによりCPUの利用率を計測する場合、計算処理量(リソースの利用量)が一定の仮想マシンでもCPUの割当量が減少すると、vmstatで計測されるCPU利用率が増加する。
【0006】
また、仮想マシン環境構築用ソフトウェアの一つであるVMwareでは、パフォーマンスチャートにより、物理マシンが持つリソース量に対する現在のリソースの利用量の割合を得ることができる。しかしながら、物理マシンのリソース量に対する現在のリソースの利用量の割合が示されても、仮想マシンに対するリソース割当量が分からなければ、仮想マシンが高負荷状態なのか否か、更に仮想マシンの負荷が上昇しても処理できるのか否かを判断することは難しい。
【0007】
本発明が解決しようとする課題は、仮想化環境でもリソースの利用量に比例する値を有し、且つ他の仮想マシンのリソース割当量に影響されないリソース利用率を測定し得るリソース利用率測定装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
実施形態のリソース利用率測定装置は、物理マシンの各リソースを論理的に分割して、当該分割された各リソースの各々が割り当てられた仮想マシンを動作させる仮想化環境の計算機システムに対し、前記仮想マシン毎に割り当てられた各リソースの利用率を測定するリソース利用率測定装置である。
【0009】
前記リソース利用率測定装置は、割当量制限値入力手段、リソース利用量入力手段、物理リソース量入力手段、仮想マシン利用率計算手段、物理マシン利用率計算手段及び利用率出力手段を備えている。
【0010】
前記割当量制限値入力手段は、前記仮想マシン毎の各リソースの割当量制限値が入力される。
【0011】
前記リソース利用量入力手段は、前記仮想マシン毎の各リソースの利用量が入力される。
【0012】
前記物理リソース量入力手段は、前記物理マシンの各リソースのリソース量が入力される。
【0013】
前記仮想マシン利用率計算手段は、前記入力された仮想マシン毎の各リソースの利用量を、前記入力された仮想マシン毎の各リソースの割当量制限値で除算することにより、前記仮想マシン毎の各リソースの利用率を計算する。
【0014】
前記物理マシン利用率計算手段は、前記入力された仮想マシン毎の各リソースの利用量に基づいて、前記リソース毎に各仮想マシンのリソースの利用量の合計値を計算し、当該合計値を、前記入力された物理マシンの各リソース量で除算することにより、前記物理マシンの各リソースの利用率を計算する。
【0015】
前記利用率出力手段は、前記計算された前記仮想マシン毎の各リソースの利用率、及び前記計算された物理マシンの各リソースの利用率を出力する。
【図面の簡単な説明】
【0016】
【図1】第1の実施形態に係るリソース利用率測定装置の構成を例示するブロック図である。
【図2】同実施形態における動作を説明するためのフローチャートである。
【図3】リソース利用量の時系列データのグラフを示す模式図である。
【図4】リソース利用率の時系列データのグラフを示す模式図である。
【図5】第2の実施形態に係るリソース利用率測定装置の構成を例示するブロック図である。
【図6】同実施形態における動作を説明するためのフローチャートである。
【図7】同実施形態におけるボトルネック判断部の動作を説明するためのフローチャートである。
【図8】リソース利用量の時系列データのグラフを示す模式図である。
【図9】vmstatにより計測されるリソース利用率の時系列データのグラフを示す模式図である。
【図10】パフォーマンスチャートにより計測されるリソース利用率の時系列データのグラフを示す模式図である。
【図11】本実施形態の手法により計測されるリソース利用率の時系列データのグラフを示す模式図である。
【図12】リソース利用量の時系列データのグラフを示す模式図である。
【図13】vmstatにより計測されるリソース利用率の時系列データのグラフを示す模式図である。
【図14】パフォーマンスチャートにより計測されるリソース利用率の時系列データのグラフを示す模式図である。
【図15】本実施形態の手法により計測されるリソース利用率の時系列データのグラフを示す模式図である。
【発明を実施するための形態】
【0017】
以下、各実施形態について図面を用いて説明する。なお、以下のリソース利用率測定装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からリソース利用率測定装置となるコンピュータにインストールされ、リソース利用率測定装置の機能を実現させるためのプログラムが用いられる。
【0018】
(第1の実施形態)
第1の実施形態では、リソースの割当量制限値に対するリソースの利用量の割合を利用率として測定するリソース利用率測定装置について説明する。なお、リソース利用率測定装置は、物理マシンの各リソースを論理的に分割して、当該分割された各リソースの各々が割り当てられた仮想マシンを動作させる仮想化環境の計算機システムに対し、仮想マシン毎に割り当てられた各リソースの利用率を測定するものである。
【0019】
図1は第1の実施形態に係るリソース利用率測定装置の構成を例示するブロック図である。このリソース利用率測定装置は、割当量制限値入力部101、リソース利用量入力部102、物理リソース量入力部103、仮想マシン利用率計算部104、物理マシン利用率計算部105及び利用率出力部106を備えている。
【0020】
ここで、割当量制限値入力部101は、仮想マシン毎の各リソースの割当量制限値が入力されるものであり、具体的には例えば、外部から仮想マシン毎の各リソースの割当量制限値を受信し、仮想マシン利用率計算部104に送信する機能をもっている。なお、割当量制限値入力部101は、割当量制限値を送信する機能に代えて、割当量制限値をメモリ(図示せず)に書込む機能を有してもよい。計算機リソースとは、CPU時間、メモリ、ディスクアクセス時間など、計算機が処理を行うときに利用する資源をいう。割当量制限値は、その仮想マシンに割り当てるリソース量に制限を設ける値であり、リソース量を割当てることができる最大のリソース量である。仮想化環境管理者によって設定される量である。
【0021】
リソース利用量入力部102は、仮想マシン毎の各リソースの利用量が入力されるものであり、具体的には例えば、外部から仮想マシン毎の各リソースの利用量を受信し、仮想マシン利用率計算部104と物理マシン利用率計算部105に送信する機能をもっている。なお、リソース利用量入力部102は、各リソースの利用量を送信する機能に代えて、各リソースの利用量をメモリ(図示せず)に書込む機能を有してもよい。
【0022】
物理リソース量入力部103は、物理マシンの各リソースのリソース量が入力されるものであり、具体的には例えば、外部から物理マシンが持つ計算機リソースの量を受信し、物理マシン利用率計算部105に送信する機能をもっている。なお、物理リソース量入力部103は、リソース量を送信する機能に代えて、リソース量をメモリ(図示せず)に書込む機能を有してもよい。物理マシンとは、仮想マシンに対する、実際のコンピュータやサーバのことを言う。ここでは仮想化ソフトウェアが組み込まれたコンピュータ自体をさす。
【0023】
仮想マシン利用率計算部104は、リソース利用量入力部102に入力された仮想マシン毎の各リソースの利用量を、割当量制限値入力部101に入力された仮想マシン毎の各リソースの割当量制限値で除算することにより、仮想マシン毎の各リソースの利用率を計算するものである。具体的には例えば、仮想マシン利用率計算部104は、割当量制限値入力部101から計算機リソースの割当量制限値を受信し、リソース利用量入力部102からリソースの利用量を受信し、仮想マシンのリソースの割当量制限値に対するリソースの利用量の割合を計算し、計算結果を利用率出力部106に出力する機能をもっている。なお、仮想マシン利用率計算部104は、割当量制限値及びリソースの利用量がメモリに書込まれる場合、割当量制限値及びリソースの利用量を受信する機能に代えて、メモリ(図示せず)内の割当量制限値及びリソースの利用量を読出す機能を有するものとすればよい。
【0024】
物理マシン利用率計算部105は、リソース利用量入力部102に入力された仮想マシン毎の各リソースの利用量に基づいて、リソース毎に各仮想マシンのリソースの利用量の合計値を計算し、当該合計値を、物理リソース量入力部103に入力された物理マシンの各リソース量で除算することにより、物理マシンの各リソースの利用率を計算するものである。具体的には例えば、物理マシン利用率計算部105は、リソース利用量入力部102からリソースの利用量を受信し、物理リソース量入力部103から物理マシンが持つ計算機リソースの量を受信し、物理マシンのリソース量に対するリソースの利用量の割合を計算し、その結果を利用率出力部106に出力する機能をもっている。なお、物理マシン利用率計算部105は、リソースの利用量及びリソース量がメモリに書込まれる場合、リソースの利用量及びリソース量を受信する機能に代えて、メモリ(図示せず)内のリソースの利用量及びリソース量を読出す機能を有するものとすればよい。
【0025】
利用率出力部106は、仮想マシン利用率計算部104により計算された仮想マシン毎の各リソースの利用率、及び物理マシン利用率計算部105により計算された物理マシンの各リソースの利用率を出力するものである。具体的には例えば、利用率出力部106は、仮想マシン利用率計算部104からリソースの割当量制限値に対するリソース利用率を受信し、物理マシン利用率計算部105から物理マシンのリソース量に対するリソース利用率を受信し、外部に出力する機能をもっている。
【0026】
次に、以上のように構成されたリソース利用率測定装置の動作を図2のフローチャートを用いて説明する。
【0027】
いま、割当量制限値入力部101では、外部から仮想マシン毎の各リソースの割当量制限値が入力され(ST1)、仮想マシン利用率計算部104に送出される。
【0028】
リソース利用量入力部102では、外部から仮想マシン毎の各リソースの利用量の時系列データが入力され(ST2)、仮想マシン利用率計算部104と物理マシン利用率計算部105に送出される。
【0029】
物理リソース量入力部103では、外部から物理マシンが持つ計算機リソースの量が入力され(ST3)、物理マシン利用率計算部105に送出される。
【0030】
仮想マシン利用率計算部104では、割当量制限値入力部101から入力されたリソースの割当量制限値と、リソース利用量入力部102から入力されたリソースの利用量とに基づいて、仮想マシンのリソースの割当量制限値に対するリソースの利用量の割合が計算され(ST4)、計算結果が利用率出力部106に送出される。
【0031】
物理マシン利用率計算部105では、リソース利用量入力部102から入力されたリソースの利用量と、物理リソース量入力部103から入力された物理マシンが持つリソース量から、物理マシンのリソース量に対するリソースの利用量の割合が計算され(ST5)、計算結果が利用率出力部106に送出される。
【0032】
利用率出力部106では、仮想マシン利用率計算部104により計算されたリソースの割当量制限値に対するリソース利用率と、物理マシン利用率計算部105により計算された物理マシンのリソース量に対するリソース利用率とが、外部に出力される(ST6)。
【0033】
以上のように、本実施形態のリソース利用率測定装置では、各仮想マシンのリソースの割当量制限値に対するリソースの利用量の割合と、物理リソースの利用率とを指標として提示することにより、仮想マシンの状態を直感的に把握することができ、ボトルネックになっている仮想マシン、リソースを特定することができる。
【0034】
次に、1台の仮想マシンの処理量が増加し、割当量も増加した場合の利用率の一例を説明する。ここでは従来の性能計測コマンドとしてvmstatを使って説明するが、他のiostatなどのコマンドの場合も同様に説明できる。
【0035】
図3はリソースの利用量の時系列データのグラフを示す模式図である。横軸が時間、縦軸が一台の仮想マシンのある一種類のリソースの利用量(1)、リソース割当量(2)、リソースの割当量制限値(3)、物理リソース量(4)を表している。
【0036】
リソースの利用量(1)が段階的に増加すると、それに合わせてリソース割当量(2)が増加する。時刻t4にリソース割当量(2)がリソースの割当量制限値(3)に一致すると、それ以上のリソースは割り当てられなくなる。その後、時刻t5にリソースの利用量(1)もリソースの割当量制限値(3)に一致し、割り当てられたリソースを全て利用する状態になっている。
【0037】
このようにリソースの利用量が増加した場合の、リソース利用率を図4に示す。
【0038】
vmstatにより計測されるリソース利用率(a)は、リソースの利用量(1)をリソース割当量(2)で除算した値である。
【0039】
vmstatによるリソース利用率=リソースの利用量/リソース割当量
このため、vmstatによるリソース利用率(a)は、リソースの利用量(1)が増加するにも関わらず、時刻t3までは利用率50%が続き、時刻t4からt5の間で急に利用率100%に増加している。ユーザにとっては、処理量(リソースの利用量(1))が増加したにも関わらず、利用率50%が続くため、システムの状態を把握し難い指標になってしまう。
【0040】
VMwareのパフォーマンスチャートにより表示される利用率(b)は、リソースの利用量(1)を物理リソース量(4)で除算した値なので、リソースの利用量(1)に比例する値を示す。
【0041】
VMwareによる利用率=リソースの利用量/物理リソース量
ただし、VMwareによる利用率(b)が100%になるのは、リソースの利用量(1)が物理リソース量(4)に一致する場合であり、リソースの割当量制限値(3)が設けられている場合には、リソースの割当量制限値(3)が上限値になるため、100%にはならない。図4の場合には、リソースの割当量制限値(3)の50%が利用率(b)の上限値になっている。ユーザにとっては、何%で上限値になるのかが分からないため、現在の状態が高負荷状態なのか否かを判断することが難しい指標である。
【0042】
本実施形態によるリソース利用率(c)は、リソースの利用量(1)をリソースの割当量制限値(3)で除算した値なので、リソースの利用量(1)に比例する値を示す。
【0043】
本実施形態によるリソース利用率=リソースの利用量/リソースの割当量制限値
また、本実施形態によるリソース利用率(c)は、時刻t5にリソースの利用量(1)がリソースの割当量制限値(3)に達すると、100%を示すので、ユーザにとっては、システムの状態を判断し易い指標である。
【0044】
上述したように本実施形態によれば、仮想マシン毎の各リソースの割当量制限値に対する利用量の割合を利用率として計算する構成により、リソースの利用量が割当量制限値に一致する場合が100%と表示されるので、リソースの利用状況を容易に判断でき、また、今後どれくらいの処理量の増加が大丈夫かを予測できるようになる。
【0045】
補足すると、特許文献1によれば、段落[0022]〜[0035]の部分に、仮想計算機の監視情報として、仮想計算機へのリソース割当率と、仮想計算機上で測定されるリソース利用率が計測されると説明されている。
【0046】
特許文献1の仮想計算機上で計測されるリソース利用率は、その仮想計算機に割当てられたリソース量に対する利用量の割合であり、その割当てられたリソース量が動的に変化するため、リソース利用率だけでは、システムの状態を把握することが難しい(vmstatの場合と同様)。
【0047】
また、特許文献1によれば、仮想計算機へのリソース割当率も計測されているので、仮想計算機へのリソース割当率と仮想計算機上で計測されるリソース利用率を合わせて考える(乗算する)ことで、物理マシンのリソース量に対する利用率を求めることができる。但し、特許文献1によれば、その仮想マシンに対するリソースの割当量制限値が設定されている場合には、物理マシンのリソース量に対する利用率が100%まで利用できるわけではないので、リソースの利用量のリソースの割当量制限値に対する割合が分からないと、例えばシステムにどれくらいの余裕があるのかといった状態を把握することはできない(VMwareのパフォーマンスチャートの場合と同様)。
【0048】
一方、本実施形態によれば、前述したように、リソースの利用量をリソースの割当量制限値で除算した値をリソース利用率として定義することにより、vmstatやVMwareと同様の特許文献1記載の技術の問題を解決でき、システムの状態を把握することができる。
【0049】
なお、上記説明では、割当量制限値入力部101、リソース利用量入力部102、物理リソース量入力部103は外部からそれぞれ情報を受信すると説明しているが、実際には、例えばVMwareの場合には、esxtop,resxtopといった性能計測用コマンドがあり、それらのコマンドが仮想マシン毎の各リソースの割当量制限値とリソースの利用量、物理マシンの各リソースの量を出力するので、その信号を入力として、計算することができる。また、本実施形態の利用率測定手法を性能計測プログラムとして実装することができる。
【0050】
(第2の実施形態)
第2の実施形態では、第1の実施形態で測定した利用率に基づいて、ボトルネックとなるリソースを判断するリソース利用率測定装置について説明する。
【0051】
図5は第2の実施形態に係るリソース利用率測定装置の構成を例示するブロック図であり、図1と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。
【0052】
すなわち、第2の実施形態は、第1の変形例であり、図1に示した利用率出力部106に代えて、ボトルネック判断部107及び判断結果出力部108を備えている。
【0053】
ここで、割当量制限値入力部101、リソース利用量入力部102及び物理リソース量入力部103は、第1の実施形態と同様なので説明を省略する。
【0054】
仮想マシン利用率計算部104及び物理マシン利用率計算部105は、第1の実施形態と同様のものであるが、計算結果の送出先が、利用率出力部106に代えてボトルネック判断部107となっている。
【0055】
ボトルネック判断部107は、仮想マシン利用率計算部104により計算された仮想マシン毎の各リソースの利用率、及び物理マシン利用率計算部105により計算された物理マシンの各リソースの利用率に基づいて、物理マシンの各リソース及び仮想マシンの各リソースがボトルネックになっているかを判断するボトルネック判断機能をもっている。
【0056】
ここで、ボトルネック判断機能は、例えば、物理リソース判断機能及び仮想リソース判断機能をもっている。
【0057】
物理リソース判断機能は、物理マシン利用率計算部105により計算された物理マシンの各リソースの利用率がしきい値以上であるか否かを判断し、当該しきい値以上のリソースがある場合には、当該リソースのリソース名及び物理マシン名を判断結果出力部108に送出する機能である。
【0058】
仮想リソース判断機能は、物理リソース判断機能による判断の結果、しきい値以上のリソースが無い場合には、仮想マシン利用率計算部104により計算された仮想マシンの各リソースの利用率がしきい値以上であるか否かを判断し、当該しきい値以上のリソースがある場合には、当該リソースのリソース名及び仮想マシン名を判断結果出力部108に送出する機能である。
【0059】
なお、ボトルネック判断部107は、判断結果出力部108にリソース名及び物理マシン名や、リソース名及び仮想マシン名を送出する場合、更に利用率を送出してもよい。
【0060】
また、ボトルネック判断部107は、各利用率を各計算部104,15から受信する構成としてもよく、図示しないメモリから読出す構成としてもよい。
【0061】
また、各利用率のしきい値としては、例えば、90%又は90±5%の範囲内の値が使用可能となっている。
【0062】
判断結果出力部108は、ボトルネック判断部107による判断結果を出力するものであり、例えば、ボトルネック判断部107からマシン名とリソース名、利用率を受信すると、それを外部に出力する機能をもっている。
【0063】
次に、以上のように構成されたリソース利用率測定装置の動作を図6のフローチャート図を用いて説明する。
【0064】
ステップST1からST3までの処理は、第1の実施形態と同様に実行される。
【0065】
仮想マシン利用率計算部104では、割当量制限値入力部101から入力されたリソースの割当量制限値と、リソース利用量入力部102から入力されたリソースの利用量とに基づいて、仮想マシンのリソースの割当量制限値に対するリソースの利用量の割合が計算され(ST4)、計算結果がボトルネック判断部107に送出される。
【0066】
物理マシン利用率計算部105では、リソース利用量入力部102から入力されたリソースの利用量と、物理リソース量入力部103から入力された物理マシンが持つリソース量から、物理マシンのリソース量に対するリソースの利用量の割合が計算され(ST5)、計算結果がボトルネック判断部107に送出される。
【0067】
ボトルネック判断部107では、仮想マシン利用率計算部104により計算された仮想マシン毎の各リソースの利用率、及び物理マシン利用率計算部105により計算された物理マシンの各リソースの利用率に基づいて、物理マシンの各リソース及び仮想マシンの各リソースがボトルネックになっているかを判断する(ST7)。
【0068】
ステップST7においては、例えば、物理マシン利用率計算部105により計算された物理マシンのリソース量に対するリソース利用率の中でしきい値以上のものがあるかが判断され、しきい値以上の利用率があれば、物理マシン名、リソース名、利用率が判断結果出力部108に送出される。
【0069】
またステップST7においては、物理マシンのリソース量に対するリソース利用率の中にしきい値以上のものがなければ、仮想マシン利用率計算部104により計算されたリソースの割当量制限値に対するリソース利用率の中でしきい値以上のものがあるかが判断され、しきい値以上の利用率があれば、そのマシン名、リソース名、利用率が判断結果出力部108に送出される。
【0070】
ステップST7の後、判断結果出力部108では、ボトルネック判断部107から送出されたマシン名、リソース名、利用率が外部に出力される(ST8)。
【0071】
次に、ステップST7のボトルネック判断部107の動作を図7のフローチャートを用いて詳細に説明する。
【0072】
まず、初期設定として、物理マシンのリソースがボトルネックになっていることを表すフラグを0(false)に設定する(ST7−1)。
【0073】
物理マシン利用率計算部105から受信した物理マシンのリソースの種類毎に以下の処理を行う(ST7−2)。
【0074】
物理マシンのリソースiについて、そのリソース利用率がしきい値以上であるか比較する(ST7−3)。
【0075】
物理マシンのリソースiのリソース利用率がしきい値以上の場合、フラグを1(true)に設定し(ST7−4)、物理マシン名、リソースiのリソース名、リソース利用率を判断結果出力部108に送出する(ST7−5)。
【0076】
以上のステップST7−3からST7−5までの処理を物理マシンのリソースの種類数だけ繰り返す(ST7−6)。
【0077】
フラグの値を確認し、1(true)の場合は処理を終了する(ST7−7)。
【0078】
仮想マシン毎に以下の処理を行う(ST7−8)。
【0079】
仮想マシンのリソースの種類毎に以下の処理を行う(ST7−9)。
【0080】
仮想マシンjのリソースkについて、そのリソース利用率がしきい値以上であるか比較する(ST7−10)。
【0081】
仮想マシンjのリソースkの利用率がしきい値以上の場合、仮想マシンjの名前、リソースkのリソース名、リソース利用率を判断結果出力部108に送出する(ST7−11)。
【0082】
以上のステップST7−10からST7−11までの処理を仮想マシンのリソースの種類数だけ繰り返す(ST7−12)。
【0083】
以上のステップST7−9からST7−12までの処理を仮想マシンの台数だけ繰り返す(ST7−13)。
【0084】
以上により、ステップST7の処理が完了する。
【0085】
次に、仮想化環境上に2台の仮想マシンがあり、そのうちの1台の処理量が増加し、割当量が変化した場合の一例を説明する。
【0086】
図8はリソース利用量の時系列データのグラフを示す模式図である。横軸が時間、縦軸には2台の仮想マシンVM1、VM2のある一種類のリソースの利用量{(11),(14)}、リソース割当量{(12),(15)}、リソースの割当量制限値{(13),(16)}、物理マシンのリソース量(17)、リソースの利用量(18)を表している。
【0087】
仮想マシンVM1のリソースの利用量(11)が時刻t1から増加すると、それに合わせて仮想マシンVM1のリソース割当量(12)も増加している。時刻t2に仮想マシンVM1のリソース割当量(12)が仮想マシンVM1のリソースの割当量制限値(13)に一致すると、それ以上のリソースは割り当てられなくなり、一定値が続く。その後、時刻t3に仮想マシンVM1のリソースの利用量(11)が仮想マシンVM1のリソースの割当量制限値(13)に一致し、割り当てられたリソースを全て利用する状態になっている。
【0088】
仮想マシンVM2のリソースの利用量(14)は常に一定であるが、仮想マシンVM1のリソース割当量(12)が増加したため、仮想マシンVM2のリソース割当量(15)が減少している。物理リソースの利用量(18)は仮想マシンVM1のリソースの利用量(11)と仮想マシンVM2のリソースの利用量(14)の合計値である。
【0089】
このように2台の仮想マシンのリソースの利用量やリソース割当量が変化した場合に、vmstatにより計測される仮想マシンVM1と仮想マシンVM2のリソース利用率を図9に示す。仮想マシンVM2はリソースの利用量が変化していないにも関わらず、仮想マシンVM1へのリソース割当量が増加し、その分、仮想マシンVM2のリソース割当量が減少することによって、仮想マシンVM2のリソース利用率(a2)が増加してしまう。また、仮想マシンVM1のリソースの利用量は時刻t1から増加しているにも関わらず、仮想マシンVM1のリソース利用率(a1)は時刻t2から増加し、仮想マシンVM2のリソース利用率(a2)のほうが時刻t1から増加し始める。そのため、ユーザにとっては、この図9のグラフを見て、それが仮想マシンVM1の処理量が増加したためとは考えにくく、システムの本当の現象を把握することは難しい。
【0090】
次に、VMwareのパフォーマンスチャートにより計測される仮想マシンVM1と仮想マシンVM2のリソース利用率を図10に示す。仮想マシンVM1のリソース利用率(b1)は時刻t1から増加し、時刻t3に70%に達し、その後、仮想マシンVM1の処理量が増加しても、利用率は上昇しない。これは仮想マシンVM1のリソースの割当量制限値(13)に達しているためであるが、ユーザにとっては、この図10のグラフを見ただけでは、なぜ70%で頭打ちになるのかが分からない。また、利用率50%あたりの段階で、あとどれくらいの余裕があるのかも分からないという問題がある。
【0091】
次に、本実施形態方式により測定される仮想マシンVM1と仮想マシンVM2、物理マシンのリソース利用率を図11に示す。本実施形態方式のリソース利用率は、リソースの利用量をリソースの割当量制限値で除算した値なので、仮想マシンVM1のリソース利用率(c1)が仮想マシンVM1のリソースの利用量(11)に比例する値を示す。また、時刻t3に仮想マシンVM1のリソースの利用量(11)がリソースの割当量制限値(13)に達すると、仮想マシンVM1のリソース利用率(c1)は100%を示すので、例えば仮想マシンVM1のリソース利用率(c1)が50%の場合には、倍の処理を行うと限界に達するという推測が付けられ、ユーザにとっては、システムの状態を判断し易い指標である。
【0092】
次に、仮想化環境上に2台の仮想マシンがあり、両方の仮想マシンで処理量が増加し、リソースの競合が発生する場合の一例を説明する。
【0093】
図12はリソースの利用量の時系列データのグラフである。横軸が時間、縦軸には2台の仮想マシンVM1、VM2のある一種類のリソースの利用量、リソース割当量、リソースの割当量制限値、物理マシンのリソース量、リソースの利用量を表している。
【0094】
時刻t1に仮想マシンVM1と仮想マシンVM2で処理量が増加し、それぞれのリソースの利用量((11)と(14))が増加するが、両方の仮想マシンのリソースの利用量が増加するので、仮想マシンVM1のリソース割当量(12)、仮想マシンVM2のリソース割当量(15)は変化しなかったとする。時刻t2に仮想マシンVM1のリソースの利用量(11)は仮想マシンVM1のリソース割当量(12)に一致し、それ以降は、仮想マシンVM1のリソース割当量(12)が増加しないので、仮想マシンVM1のリソースの利用量(11)も一定になる。仮想マシンVM2のリソースの利用量(14)についても時刻t2に仮想マシンVM2のリソース割当量(15)に一致し、それ以降は、仮想マシンVM2のリソース割当量(15)が増加しないので、仮想マシンVM2のリソースの利用量(14)も一定になる。仮想マシンVM1、仮想マシンVM2共に、そのリソースの利用量は、リソースの割当量制限値には到達しない。物理リソースの利用量(18)は仮想マシンVM1のリソースの利用量(11)と仮想マシンVM2のリソースの利用量(14)の合計値であり、時刻t2に100%に達している。
【0095】
このように2台の仮想マシンのリソースの利用量やリソース割当量が変化した場合に、vmstatにより計測される仮想マシンVM1と仮想マシンVM2のリソース利用率を図13に示す。図13では、時刻t1から仮想マシンVM1のリソース利用率(a1)、仮想マシンVM2のリソース利用率(a2)が増加し、時刻t2に共に100%に達しているが、例えば仮想マシンVM1のリソースの利用量(11)が仮想マシンVM1のリソースの割当量制限値(13)に達しているのか否かが分からない。そのため、ユーザにとっては、この図13のグラフを見ても、それが仮想マシンのリソースの割当量制限値がボトルネックになっているのか、物理リソースがボトルネックになっているのかを判断することが難しい。
【0096】
次に、VMwareのパフォーマンスチャートにより計測される仮想マシンVM1と仮想マシンVM2のリソース利用率を図14に示す。仮想マシンVM1のリソース利用率(b1)は時刻t1から増加し、時刻t2に40%に達し、その後、仮想マシンVM1の処理量が増加しても、利用率は上昇しない。また、仮想マシンVM2のリソース利用率(b2)も時刻t1から増加し、時刻t2に60%に達し、その後、仮想マシンVM2の処理量が増加しても、利用率は上昇しない。これは仮想マシンVM1のリソースの利用量(11)が仮想マシンVM1のリソース割当量(12)に達し、仮想マシンVM2のリソースの利用量(14)が仮想マシンVM2のリソース割当量(15)に達しているためであるが、ユーザにとっては、この図14のグラフを見ただけでは、なぜ仮想マシンVM1のリソース利用率(b1)が40%で頭打ちになるのか、なぜ仮想マシンVM2のリソース利用率(b2)が60%で頭打ちになるのかが分からないという問題がある。
【0097】
次に、本実施形態方式により計測される仮想マシンVM1と仮想マシンVM2、物理マシンのリソース利用率を図15に示す。仮想マシンVM1のリソース利用率(c1)は時刻t1から増加し、時刻t2に57%に達し、その後、仮想マシンVM1の処理量が増加しても、利用率は上昇しない。また、仮想マシンVM2のリソース利用率(c2)も時刻t1から増加し、時刻t2に75%に達し、その後、仮想マシンVM2の処理量が増加しても、利用率は上昇しない。これは仮想マシンVM1のリソースの利用量(11)が仮想マシンVM1のリソース割当量(12)に達し、仮想マシンVM2のリソースの利用量(14)が仮想マシンVM2のリソース割当量(15)に達しているためである。仮想マシンVM1と仮想マシンVM2でリソースの競合が起きていることから、仮想マシンのリソース割当量が仮想マシンのリソースの割当量制限値に達しないために、仮想マシンのリソース利用率は100%に達する途中で頭打ちになる。ただし、このようにリソースの競合が発生するのは、物理マシンのリソースがボトルネックになる場合であり、図15でも物理マシンのリソース利用率(c3)が100%に達していることが分かる。
【0098】
よって、本実施形態方式で、ボトルネックの判断を行う場合には、まず、物理リソースの利用率がしきい値を超えていないかを確認し、物理リソースの利用率がしきい値を越えている場合には、物理リソースがボトルネック部分であると判断する。そして全ての物理リソースの利用率がしきい値を越えていない場合には、次に、仮想マシンのリソース利用率がしきい値を超えていないかを確認し、仮想マシンのリソース利用率がしきい値を越えている場合には、その仮想マシンのそのリソースがボトルネック部分であると判断できる。
【0099】
上述したように本実施形態によれば、仮想マシンの性能値として、リソースの割当量制限値に対する利用率を指標とする構成により、仮想マシンが利用できる限界のリソース量に対する割合が計算されるので、ユーザにとっては、リソース利用状況を判断し易い指標になる。また、性能トラブル発生時に、仮想マシンの状態を把握でき、ボトルネックになっている仮想マシン、リソースを特定することができる。
【0100】
すなわち、本実施形態によれば、物理マシンのリソース利用率と仮想マシン毎の各リソースの割当量制限値に対する利用率を利用し、まず、物理マシンのリソース利用率が100%近くになっていると、物理リソースがボトルネックになっていると判断し、物理リソースがボトルネックになっていない場合には、仮想マシンのリソースの中で利用率が100%近くになっているリソースを見つけ出せば、そのリソースがボトルネックと判断できる。
【0101】
補足すると、従来技術では、性能トラブルが発生した場合に、その原因となっているボトルネックのリソースを見つけ出す一次解析についても難しくなる。例えば従来技術では、一台の仮想マシンの計算処理量が想定より大きくなって性能トラブルが発生した場合、その仮想マシンへのリソース割当量が増加し、他の仮想マシンへのリソース割当量が減少する。このとき、従来技術では、vmstatにより計測されるCPU利用率が全ての仮想マシンで上昇し、どの仮想マシンが原因でリソース利用率が高くなっているのかが判断できなくなる。
【0102】
一方、本実施形態によれば、性能トラブル時に仮想マシンのリソース利用状態を把握し、どこがボトルネックになっているかを判断できる。補足すると、仮想化環境では、物理マシンのリソースがボトルネックになる場合と、仮想マシンに割当てられたリソースがボトルネックになる場合とが考えられる。これに対し、本実施形態は、そのいずれの場合であってもボトルネックを判断することができる。
【0103】
以上説明した少なくとも一つの実施形態によれば、仮想マシン利用率計算部14が、入力された仮想マシン毎の各リソースの利用量を、入力された仮想マシン毎の各リソースの割当量制限値で除算することにより、仮想マシン毎の各リソースの利用率を計算する構成により、仮想化環境でもリソースの利用量に比例する値を有し、且つ他の仮想マシンのリソース割当量に影響されないリソース利用率を測定することができる。
【0104】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0105】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0106】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0107】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0108】
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0109】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0110】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0111】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0112】
101…割当量制限値入力部、102…リソース利用量入力部、103…物理リソース量入力部、104…仮想マシン利用率計算部、105…物理マシン利用率計算部、106…利用率出力部、107…ボトルネック判断部、108…判断結果出力部。

【特許請求の範囲】
【請求項1】
物理マシンの各リソースを論理的に分割して、当該分割された各リソースの各々が割り当てられた仮想マシンを動作させる仮想化環境の計算機システムに対し、前記仮想マシン毎に割り当てられた各リソースの利用率を測定するリソース利用率測定装置であって、
前記仮想マシン毎の各リソースの割当量制限値が入力される割当量制限値入力手段と、
前記仮想マシン毎の各リソースの利用量が入力されるリソース利用量入力手段と、
前記物理マシンの各リソースのリソース量が入力される物理リソース量入力手段と、
前記入力された仮想マシン毎の各リソースの利用量を、前記入力された仮想マシン毎の各リソースの割当量制限値で除算することにより、前記仮想マシン毎の各リソースの利用率を計算する仮想マシン利用率計算手段と、
前記入力された仮想マシン毎の各リソースの利用量に基づいて、前記リソース毎に各仮想マシンのリソースの利用量の合計値を計算し、当該合計値を、前記入力された物理マシンの各リソース量で除算することにより、前記物理マシンの各リソースの利用率を計算する物理マシン利用率計算手段と、
前記計算された前記仮想マシン毎の各リソースの利用率、及び前記計算された物理マシンの各リソースの利用率を出力する利用率出力手段と、
を備えたことを特徴とするリソース利用率測定装置。
【請求項2】
物理マシンの各リソースを論理的に分割して、当該分割された各リソースの各々が割り当てられた仮想マシンを動作させる仮想化環境の計算機システムに対し、前記仮想マシン毎に割り当てられた各リソースの利用率を測定するリソース利用率測定装置のプログラムであって、
前記リソース利用率測定装置を、
前記仮想マシン毎の各リソースの割当量制限値が入力されると、当該各リソースの割当量制限値を前記リソース利用率測定装置のメモリに書込む割当量制限値入力手段、
前記仮想マシン毎の各リソースの利用量が入力されると、当該各リソースの利用量を前記メモリに書込むリソース利用量入力手段、
前記物理マシンの各リソースのリソース量が入力されると、当該各リソースのリソース量を前記メモリに書込む物理リソース量入力手段、
前記メモリ内の仮想マシン毎の各リソースの利用量を、前記メモリ内の仮想マシン毎の各リソースの割当量制限値で除算することにより、前記仮想マシン毎の各リソースの利用率を計算する仮想マシン利用率計算手段と、
前記メモリ内の仮想マシン毎の各リソースの利用量に基づいて、前記リソース毎に各仮想マシンのリソースの利用量の合計値を計算し、当該合計値を、前記メモリ内の物理マシンの各リソース量で除算することにより、前記物理マシンの各リソースの利用率を計算する物理マシン利用率計算手段、
前記計算された前記仮想マシン毎の各リソースの利用率、及び前記計算された物理マシンの各リソースの利用率を出力する利用率出力手段、
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate