(57)【要約】【課題】マルチテナント環境における時間性能の予測を高精度に行う。【解決手段】性能計測・推定装置１００が、特性計測用ソフトウェア２２０を特定の同時並行数にて対象コンピュータ２００に実行させ、対象コンピュータ２００内のＣＰＵとＩ／Ｏデバイスの平均処理時間を算出する。また、同時並行数とＣＰＵの平均処理時間及びＩ／Ｏデバイスの平均処理時間との対応関係を表す時間性能特性関数を算出する。更に、マルチテナント環境において実行される実行対象ソフトウェア２１０を同時並行数＝１にて対象コンピュータ２００に実行させ、実行時のＣＰＵとＩ／Ｏデバイスの平均処理時間に基づき、実行対象ソフトウェア２１０と特性計測用ソフトウェア２２０との差異を吸収する係数を算出し、時間性能特性関数と係数に基づき、所定の同時並行数にて実行対象ソフトウェア２１０を実行する場合のＣＰＵとＩ／Ｏデバイスの平均処理時間を推定する。【選択図】図１
2012128771.tif 000002
【特許請求の範囲】
【請求項１】
特性計測の対象となる対象コンピュータに、特性計測用のダミーソフトウェアを特定の同時並行数にて同時並行に実行させるソフトウェア実行管理部と、
前記特定の同時並行数にて前記ダミーソフトウェアを実行した際の前記対象コンピュータの時間性能特性値を算出する特性値算出部と、
前記特定の同時並行数と前記特性値算出部により算出された前記対象コンピュータの時間性能特性値とに基づき、前記ダミーソフトウェアの同時並行数と前記対象コンピュータの時間性能特性値との対応関係を表す関数を時間性能特性関数として算出する関数算出部とを有することを特徴とする情報処理装置。
【請求項２】
前記特性値算出部は、
時間性能特性値として、前記特定の同時並行数にて前記ダミーソフトウェアを実行した際の前記対象コンピュータ内の特定のハードウェアの平均処理時間を待ち行列モデルに基づいて算出し、
前記関数算出部は、
前記ダミーソフトウェアの同時並行数と前記特定のハードウェアの平均処理時間との対応関係を表す関数を時間性能特性関数として算出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特性値算出部は、
前記特定の同時並行数にて前記ダミーソフトウェアを実行した際の前記対象コンピュータ内のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の平均処理時間とＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）デバイスの平均処理時間を算出し、
前記関数算出部は、
前記特定の同時並行数と前記特性値算出部により算出された前記ダミーソフトウェアを実行した際の前記ＣＰＵの平均処理時間とに基づき、前記ダミーソフトウェアの同時並行数と前記ＣＰＵの平均処理時間との対応関係を表す関数をＣＰＵの時間性能特性関数として算出し、
前記特定の同時並行数と前記特性値算出部により算出された前記ダミーソフトウェアを実行した際の前記Ｉ／Ｏデバイスの平均処理時間とに基づき、前記ダミーソフトウェアの同時並行数と前記Ｉ／Ｏデバイスの平均処理時間との対応関係を表す関数をＩ／Ｏデバイスの時間性能特性関数として算出することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記ソフトウェア実行管理部は、
前記対象コンピュータが実行するソフトウェアとして指定されている実行対象ソフトウェアを前記対象コンピュータに実行させ、
前記特性値算出部は、
前記実行対象ソフトウェアを実行した際の前記対象コンピュータの時間性能特性値を算出し、
前記情報処理装置は、更に、
前記特性値算出部により算出された前記実行対象ソフトウェアを実行した際の前記対象コンピュータの時間性能特性値と、前記関数算出部により算出された前記時間性能特性関数とに基づき、所定の同時並行数にて前記実行対象ソフトウェアを同時並行に実行する場合の前記対象コンピュータの時間性能特性値を推定する特性値推定部を有することを特徴とする請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
前記ソフトウェア実行管理部は、
１つの実行対象ソフトウェアを前記対象コンピュータに実行させ、
前記特性値算出部は、
１つの実行対象ソフトウェアを実行した際の前記対象コンピュータの時間性能特性値を算出し、
前記時間性能特性関数を用いて、前記ダミーソフトウェアの同時並行数が１の場合の前記対象コンピュータの時間性能特性値を算出し、
前記特性値推定部は、
前記特性値算出部により算出された１つの実行対象ソフトウェアを実行した際の前記対象コンピュータの時間性能特性値と、前記特性値算出部により算出された前記ダミーソフトウェアの同時並行数が１の場合の前記対象コンピュータの時間性能特性値との差異を吸収する係数を算出し、
前記時間性能特性関数と前記係数とを用いて、前記所定の同時並行数にて前記実行対象ソフトウェアを同時並行に実行する場合の前記対象コンピュータの時間性能特性値を推定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記特性値算出部は、
前記ダミーソフトウェアを実行した際の時間性能特性値として、前記特定の同時並行数にて前記ダミーソフトウェアを実行した際の前記対象コンピュータ内の特定のハードウェアの平均処理時間を待ち行列モデルに基づいて算出し、
前記実行対象ソフトウェアを実行した際の時間性能特性値として、前記実行対象ソフトウェアを実行した際の前記特定のハードウェアの平均処理時間を待ち行列モデルに基づいて算出し、
前記関数算出部は、
前記ダミーソフトウェアの同時並行数と前記特定のハードウェアの平均処理時間との対応関係を表す関数を時間性能特性関数として算出し、
前記特性値推定部は、
前記特性値算出部により算出された前記実行対象ソフトウェアを実行した際の前記特定のハードウェアの平均処理時間と、前記関数算出部により算出された前記時間性能特性関数とに基づき、前記所定の同時並行数にて前記実行対象ソフトウェアを同時並行に実行する場合の前記特定のハードウェアの平均処理時間を推定することを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
前記特性値算出部は、
前記特定の同時並行数にて前記ダミーソフトウェアを実行した際の前記対象コンピュータ内のＣＰＵの平均処理時間とＩ／Ｏデバイスの平均処理時間を算出し、
前記実行対象ソフトウェアを実行した際の前記ＣＰＵの平均処理時間と前記Ｉ／Ｏデバイスの平均処理時間を算出し、
前記関数算出部は、
前記特定の同時並行数と前記特性値算出部により算出された前記ダミーソフトウェアを実行した際の前記ＣＰＵの平均処理時間とに基づき、前記ダミーソフトウェアの同時並行数と前記ＣＰＵの平均処理時間との対応関係を表す関数をＣＰＵの時間性能特性関数として算出し、
前記特定の同時並行数と前記特性値算出部により算出された前記ダミーソフトウェアを実行した際の前記Ｉ／Ｏデバイスの平均処理時間とに基づき、前記ダミーソフトウェアの同時並行数と前記Ｉ／Ｏデバイスの平均処理時間との対応関係を表す関数をＩ／Ｏデバイスの時間性能特性関数として算出し、
前記特性値推定部は、
前記特性値算出部により算出された前記実行対象ソフトウェアを実行した際の前記ＣＰＵの平均処理時間と、前記関数算出部により算出された前記ＣＰＵの時間性能特性関数とに基づき、前記所定の同時並行数にて前記実行対象ソフトウェアを同時並行に実行する場合の前記ＣＰＵの平均処理時間を推定し、
前記特性値算出部により算出された前記実行対象ソフトウェアを実行した際の前記Ｉ／Ｏデバイスの平均処理時間と、前記関数算出部により算出された前記Ｉ／Ｏデバイスの時間性能特性関数とに基づき、前記所定の同時並行数にて前記実行対象ソフトウェアを同時並行に実行する場合の前記Ｉ／Ｏデバイスの平均処理時間を推定することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記特性値推定部は、
推定した前記ＣＰＵの平均処理時間と前記Ｉ／Ｏデバイスの平均処理時間に基づき、前記所定の同時並行数にて前記実行対象ソフトウェアを同時並行に実行する場合の前記対象コンピュータの応答時間を推定することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
特性計測の対象となる対象コンピュータに、特性計測用のダミーソフトウェアを特定の同時並行数にて同時並行に実行させるソフトウェア実行管理ステップと、
前記特定の同時並行数にて前記ダミーソフトウェアを実行した際の前記対象コンピュータの時間性能特性値を算出する特性値算出ステップと、
前記特定の同時並行数と前記特性値算出ステップにより算出された前記対象コンピュータの時間性能特性値とに基づき、前記ダミーソフトウェアの同時並行数と前記対象コンピュータの時間性能特性値との対応関係を表す関数を時間性能特性関数として算出する関数算出ステップとを情報処理装置に実行させること特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムの性能を評価する技術に関する。
【背景技術】
【０００２】
従来の計算機システム性能評価装置は、時系列に収集した測定データを解析することによって、仮想的な構成における性能予測を行っていた（例えば、特許文献１）。
また、待ち行列モデルによって、性能上のボトルネックを抽出する方法も提案されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２９５８６４号公報
【特許文献２】特開２００６−２９３５７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の性能評価装置では、同時並行してプログラムが動作するマルチテナント環境の性能を予測する場合に、実システムと同等の環境を構築して計測を行う必要があること、同時並行に動作するプログラムの数、単位時間当たりの処理件数によって、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やディスク装置の処理能力が変動することが考慮されておらず、マルチテナント環境の性能予測では予測精度が低いという課題がある。
【０００５】
この発明は、上記のような課題を解決することを主な目的の一つとしており、ソフトウェアが同時並行に実行されるマルチテナント環境における時間性能の予測を高精度に行うことを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は、
特性計測の対象となる対象コンピュータに、特性計測用のダミーソフトウェアを特定の同時並行数にて同時並行に実行させるソフトウェア実行管理部と、
前記特定の同時並行数にて前記ダミーソフトウェアを実行した際の前記対象コンピュータの時間性能特性値を算出する特性値算出部と、
前記特定の同時並行数と前記特性値算出部により算出された前記対象コンピュータの時間性能特性値とに基づき、前記ダミーソフトウェアの同時並行数と前記対象コンピュータの時間性能特性値との対応関係を表す関数を時間性能特性関数として算出する関数算出部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、特定の同時並行数にてダミーソフトウェアを実行した際の対象コンピュータの時間性能特性値と前記特定の同時並行数とに基づき、同時並行数と対象コンピュータの時間性能特性値との対応関係を表す時間性能特性関数を算出するため、時間性能特性関数にマルチテナント数を適用して計算することで、マルチテナント環境における時間性能の予測を高精度に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る性能計測・推定装置及び対象コンピュータの構成例を示す図。
【図２】実施の形態１に係る特性計測用ソフトウェアの例を示す図。
【図３】実施の形態１に係るマルチテナント実行時の実行時間とＣＰＵ使用率を示す図。
【図４】実施の形態１に係るテナント処理実行時の実行時間の内訳を示す図。
【図５】実施の形態１に係る性能計測・推定装置の動作例を示すフローチャート図。
【図６】実施の形態１に係る性能計測・推定装置の動作例を示すフローチャート図。
【図７】実施の形態１に係る性能計測・推定装置及び対象コンピュータのハードウェア構成例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１は、本実施の形態に係るマルチテナント多重性能推定システムを示すシステム構成図である。
本実施の形態に係るマルチテナント多重性能推定システムは、性能計測・推定装置１００と対象コンピュータ２００から構成される。
性能計測・推定装置１００は、対象コンピュータ２００の計測を行い、推定結果３００を出力する。
性能計測・推定装置１００は情報処理装置の例である。
対象コンピュータ２００は、マルチテナントでサービスを提供するコンピュータもしくは同等の構成からなるコンピュータであり、また、性能計測・推定装置１００による特性計測の対象となる。
【００１０】
本実施の形態では、性能計測・推定装置１００は、対象コンピュータ２００の時間性能特性を計測するためのダミーソフトウェアである特性計測用ソフトウェア２２０を特定の同時並行数にて対象コンピュータ２００に同時並行に実行させ、特定の同時並行数にて特性計測用ソフトウェア２２０を実行した際の対象コンピュータ２００の時間性能特性値を待ち行列モデルに基づいて算出する。
時間性能特性値とは、例えば、特性計測用ソフトウェア２２０を実行した際の対象コンピュータ２００内のＣＰＵの平均処理時間とＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）デバイス（例えば、ディスク装置）の平均処理時間である。
そして、性能計測・推定装置１００は、特定の同時並行数と算出した対象コンピュータ２００の時間性能特性値とに基づき、特性計測用ソフトウェア２２０の同時並行数と対象コンピュータ２００の時間性能特性値との対応関係を表す関数（以下、時間性能特性関数と表記する）を算出する。
性能計測・推定装置１００は、例えば、特性計測用ソフトウェア２２０の同時並行数とＣＰＵの平均処理時間との対応関係を表す時間性能特性関数を算出し、また、特性計測用ソフトウェア２２０の同時並行数とＩ／Ｏデバイスの平均処理時間との対応関係を表す時間性能特性関数を算出する。
【００１１】
更に、性能計測・推定装置１００は、マルチテナント環境において対象コンピュータ２００が実行するソフトウェアとして指定されている実行対象ソフトウェア２１０を同時並行数＝１にて対象コンピュータ２００に実行させ、実行対象ソフトウェア２１０を実行した際の対象コンピュータ２００の時間性能特性値を待ち行列モデルに基づいて算出する。
ここで算出する時間性能特性は、特性計測用ソフトウェア２２０の実行時に算出した時間性能特性と同種類であり、例えば、実行対象ソフトウェア２１０を実行した際の対象コンピュータ２００内のＣＰＵの平均処理時間とＩ／Ｏデバイスの平均処理時間である。
また、性能計測・推定装置１００は、時間性能特性関数を用いて同時並行数＝１の場合の対象コンピュータ２００の時間性能特性値を算出し、実行対象ソフトウェア２１０を実行した際の対象コンピュータ２００の時間性能特性値と算出した同時並行数＝１の場合の対象コンピュータ２００の時間性能特性値との差異を吸収する係数（ＣＰＵについての係数、Ｉ／Ｏデバイスに関する係数を算出する。
そして、性能計測・推定装置１００は、時間性能特性関数と係数に基づき、所定の同時並行数にて実行対象ソフトウェア２１０を同時並行に実行する場合の対象コンピュータ２００の時間性能特性値（ＣＰＵの平均処理時間とＩ／Ｏデバイスの平均処理時間）を推定する。
更に、性能計測・推定装置１００は、推定した時間性能特性値（ＣＰＵの平均処理時間とＩ／Ｏデバイスの平均処理時間）に基づき、所定の同時並行数にて実行対象ソフトウェア２１０を同時並行に実行する場合の対象コンピュータ２００の応答時間を推定し、推定結果３００として出力する。
【００１２】
前述したように、同時並行に動作するプログラムの数、単位時間当たりの処理件数によって、ＣＰＵやディスク装置の処理能力が変動する。
このため、本実施の形態では、性能計測・推定装置１００は、対象コンピュータ２００に特性計測用ソフトウェア２２０を特定の同時並行数で同時並行に実行させ、計測結果に基づき特性計測用ソフトウェア２２０の実行時の対象コンピュータ２００の時間性能特性を取得し、取得した時間性能特性に基づいて、同時並行数ごとの時間性能特性を近似する関数（時間性能特性関数）を算出する。
更に、性能計測・推定装置１００は、対象コンピュータ２００に実行対象ソフトウェア２１０を実行させ、計測結果に基づき実行対象ソフトウェア２１０の実行時の対象コンピュータ２００の時間性能特性を取得し、実行対象ソフトウェア２１０実行時の時間性能特性と特性計測用ソフトウェア２２０実行時の時間性能特性との差異を吸収する係数を算出し、時間性能特性関数と係数に基づき、マルチテナント環境において想定される同時並行数で実行対象ソフトウェア２１０を実行する場合の時間性能特性を高精度に予測する。
【００１３】
次に、性能計測・推定装置１００の内部構成例について説明する。
【００１４】
特性計測部１１０は、対象コンピュータ２００に特性計測用ソフトウェア２２０を特定の同時並行数にて同時並行に実行させ、対象コンピュータ２００の特性を示す性能データ２０１及び性能データ２２１を収集し、特定の同時並行数にて特性計測用ソフトウェア２２０を実行した際の対象コンピュータ２００の時間性能特性値を算出する。
より具体的には、特性計測部１１０は、対象コンピュータ２００内のＣＰＵの平均処理時間（性能データ２０１）とＩ／Ｏデバイスの平均処理時間（性能データ２２１）を待ち行列モデルに基づいて算出する。
なお、特性計測部１１０は、ソフトウェア実行管理部と特性値算出部の例である。
【００１５】
Ｔｓ（λ）導出部１２０は、特定の同時並行数と特性計測部１１０が算出した時間性能特性とに基づき、対象コンピュータ２００の特徴を表す関数、つまり、特性計測用ソフトウェア２２０の同時並行数と対象コンピュータ２００の時間性能特性値との対応関係を表す関数（時間性能特性関数）を導出する。
より具体的には、Ｔｓ（λ）導出部１２０は、特定の同時並行数と特性計測部１１０により算出された特性計測用ソフトウェア２２０を実行した際のＣＰＵの平均処理時間とに基づき、特性計測用ソフトウェア２２０の同時並行数とＣＰＵの平均処理時間との対応関係を表す関数をＣＰＵの時間性能特性関数として算出する。
更に、Ｔｓ（λ）導出部１２０は、特定の同時並行数と特性計測部１１０により算出された特性計測用ソフトウェア２２０を実行した際のＩ／Ｏデバイスの平均処理時間とに基づき、特性計測用ソフトウェア２２０の同時並行数とＩ／Ｏデバイスの平均処理時間との対応関係を表す関数をＩ／Ｏデバイスの時間性能特性関数として算出する。
Ｔｓ（λ）導出部１２０は、関数算出部の例である。
【００１６】
対象計測部１３０は、対象コンピュータ２００が実行するソフトウェアとして指定されている実行対象ソフトウェア２１０を対象コンピュータ２００に実行させ、対象コンピュータ２００の特性を示す性能データ２０２及び性能データ２１１を収集し、実行対象ソフトウェア２１０を実行した際の対象コンピュータ２００の時間性能特性値を算出する。
より具体的には、対象計測部１３０は、１つの実行対象ソフトウェア２１０を実行した際のＣＰＵの平均処理時間（性能データ２０２）とＩ／Ｏデバイスの平均処理時間（性能データ２１１）を待ち行列モデルに基づいて算出する。
また、対象計測部１３０は、時間性能特性関数を用いて、特性計測用ソフトウェア２２０の同時並行数が１の場合のＣＰＵの平均処理時間とＩ／Ｏデバイスの平均処理時間を算出する。
対象計測部１３０も、ソフトウェア実行管理部と特性値算出部の例である。
【００１７】
係数導出部１４０は、対象計測部１３０の算出結果から対象コンピュータ２００の特性を表す係数を導出する。
より具体的には、係数導出部１４０は、１つの実行対象ソフトウェア２１０を実行した際のＣＰＵの時間性能特性値と特性計測用ソフトウェア２２０の同時並行数が１の場合のＣＰＵの時間性能特性値との差異を吸収する係数を算出する。
更に、係数導出部１４０は、１つの実行対象ソフトウェア２１０を実行した際のＩ／Ｏデバイスの時間性能特性値と特性計測用ソフトウェア２２０の同時並行数が１の場合のＩ／Ｏデバイスの時間性能特性値との差異を吸収する係数を算出する。
係数導出部１４０は、特性値推定部の例である。
【００１８】
推定部１５０は、Ｔｓ（λ）導出部１２０、係数導出部１４０の導出結果を元に対象コンピュータ２００の性能の推定を行い、推定結果３００を出力する。
より具体的には、推定部１５０は、時間性能特性関数と係数導出部１４０により算出された係数とを用いて、所定の同時並行数にて実行対象ソフトウェア２１０を同時並行に実行する場合の対象コンピュータ２００の時間性能特性値を推定する。
つまり、推定部１５０は、Ｔｓ（λ）導出部１２０により算出されたＣＰＵの時間性能特性関数と、係数導出部１４０により算出されたＣＰＵについての係数を用いて、所定の同時並行数にて実行対象ソフトウェア２１０を同時並行に実行する場合のＣＰＵの平均処理時間を推定する。
更に、推定部１５０は、Ｔｓ（λ）導出部１２０により算出されたＩ／Ｏデバイスの時間性能特性関数と、係数導出部１４０により算出されたＩ／Ｏデバイスについての係数を用いて、所定の同時並行数にて実行対象ソフトウェア２１０を同時並行に実行する場合のＩ／Ｏデバイスの平均処理時間を推定する。
そして、推定部１５０は、ＣＰＵの平均処理時間とＩ／Ｏデバイスの平均処理時間を用いて、所定の同時並行数にて実行対象ソフトウェア２１０を同時並行に実行する場合の対象コンピュータ２００の応答時間を推定し、推定結果３００として出力する。
なお、推定部１５０も特性値推定部の例である。
【００１９】
次に、本実施の形態に係る性能計測・推定装置１００の動作例を図５及び図６を参照して説明する。
【００２０】
まず、性能計測・推定装置１００の特性計測部１１０が、対象コンピュータ２００に特性計測用ソフトウェア２２０を実行させる（Ｓ１０１）（ソフトウェア実行管理ステップ）。
そして、特性計測部１１０は、対象コンピュータ２００における特性計測用ソフトウェア２２０の実行結果を示す性能データ２０１と性能データ２２１を入力する。
前述したように特性計測用ソフトウェア２２０は、対象コンピュータ２００の時間性能特性を計測するためのダミーソフトウェアであり、例えば、図２に示すようなロジックからなる。
図２の特性計測用ソフトウェア２２０は、ＣＰＵに加算処理を繰り返し行わせるとともに、ディスクへの書き込みを繰り返し行わせることを内容とする。
なお、特性計測用ソフトウェア２２０におけるＣＰＵによる演算量、ディスクＩ／Ｏのサイズ、回数は可変である。
対象コンピュータ２００では特性計測用ソフトウェア２２０をシーケンシャルに連続して実行する。
１つの特性計測用ソフトウェア２２０の実行を１つのテナントの処理とみなし、特性計測用ソフトウェア２２０を特定の同時並行数にて同時並行に実行することでマルチテナント実行時の動作状態を模擬する。
この状態を図３に示す。
図３の例では、Ｍ個の特性計測用ソフトウェア２２０を同時並行して実行した（つまり、同時並行数＝Ｍ）場合の状態を示している。
Ｐ１〜Ｐｎは特性計測用ソフトウェア２２０の１つの処理を示している。
また、図３はＭ個の処理が４回繰り返されていることを示している。
つまり、最初に、処理Ｐ１、Ｐ５・・・Ｐｎ−３が同時並行に処理され、次に、処理Ｐ２、Ｐ６・・・Ｐｎ−２が同時並行に処理されていることを示している。
また、Ｔ１〜Ｔｎは処理Ｐ１〜Ｐｎに要した時間を示している。
また、ＣＰＵ使用率は、特性計測用ソフトウェア２２０の各回の実行における対象コンピュータ２００内のＣＰＵのＣＰＵ使用率が示され、総実行時間ＴＴにおけるＣＰＵ使用率の平均値はｃとなる。
例えば、Ｔ１〜Ｔｎの各値が性能データ２０１に示され、ＣＰＵ使用率の値が性能データ２０２に示されている。
【００２１】
次に、特性計測部１１０は、取得した性能データ２０１及び性能データ２０２を図４のように解釈して集計する。
図４においてＴ平均は、特性計測用ソフトウェア２２０の１つの処理の終了時間と開始時間の差の平均値であり、ｃはＣＰＵ使用率の平均値である。
これよりＴ平均はＣＰＵ時間とＩ／Ｏ時間に分解できる。
ＣＰＵを実行使用していた時間Ｔｑの平均値（以下、Ｔｑ＿ｃｐｕと表記する）とＩ／ＯデバイスによりＩ／Ｏ処理を行っていた時間Ｔｑの平均値（以下、Ｔｑ＿ｉｏと表記する）は、それぞれ、実際の処理時間Ｔｓ（サービス時間）の平均値にリソースの待ち時間の平均値を加えた値に相当する。
以下、ＣＰＵの平均処理時間はＴｓ＿ｃｐｕ、Ｉ／Ｏデバイスの平均処理時間はＴｓ＿ｉｏと表記する。
つまり、Ｔｑ＿ｃｐｕ＝Ｔｓ＿ｃｐｕ＋待ち時間であり、Ｔｑ＿ｉｏ＝Ｔｓ＿ｉｏ＋待ち時間である。
【００２２】
特性計測部１１０は、以下に示すように、Ｔｑ＿ｃｐｕ、Ｔｑ＿ｉｏ、到着率（λ）を算出する（Ｓ１０２）（特性値算出ステップ）。
また、特性計測部１１０は、Ｔｑ＿ｃｐｕ、Ｔｑ＿ｉｏ、到着率（λ）を用いて、Ｔｓ＿ｃｐｕと関数Ｔｓ＿ｉｏを算出する（Ｓ１０３）（特性値算出ステップ）。
更には、Ｔｓ（λ）導出部１２０が、Ｔｓ＿ｃｐｕと関数Ｔｓ＿ｉｏと到着率（λ）を用いて、関数Ｔｓ＿ｃｐｕ（λ）と関数Ｔｓ＿ｉｏ（λ）を算出する（Ｓ１０４）（関数算出ステップ）。
関数Ｔｓ＿ｃｐｕ（λ）は、同時並行数（図３の例ではＭ）とＣＰＵの平均処理時間Ｔｓ＿ｃｐｕとの対応関係を表す関数である。
関数Ｔｓ＿ｉｏ（λ）は、同時並行数（図３の例ではＭ）とＩ／Ｏデバイスの平均処理時間Ｔｓ＿ｉｏとの対応関係を表す関数である。
前述したように、テナント数（つまり、同時並行数）が変化するとハードウェアの平均処理時間も変化することから、テナント数からハードウェアの平均処理時間の近似値を算出可能な関数を求めることによりあらゆるテナント数に対する平均処理時間を算出可能にする。
【００２３】
ステップＳ１０２〜Ｓ１０４で求める各値、各関数は、具体的には、以下の計算式により計算される。
（１）平均実行時間（Ｔｑ＿ｃｐｕ、Ｔｑ＿ｉｏ）
Ｔｑ＿ｃｐｕ＝Ｔ平均・平均ＣＰＵ使用率ｃ
Ｔｑ＿ｉｏ＝Ｔ平均・（１−平均ＣＰＵ使用率ｃ）
（２）到着率（λ）
λ＝テナント数・１／Ｔ平均時間
（３）平均サービス時間（Ｔｓ＿ｃｐｕ、Ｔｓ＿ｉｏ）
次式より、Ｔｑ＿ｃｐｕ、Ｔｑ＿ｉｏとλから、Ｔｓ＿ｃｐｕ、Ｔｓ＿ｉｏを求める。
ＣＰＵについてはコア数が窓口数となる。ＩＯについては、窓口数１となる。
【００２４】
【数１】
2012128771.tif 000003
【００２５】
（４）近似式の導出
Ｔｓ＿ｃｐｕとλ、Ｔｓ＿ｉｏとλの関係を表現する多次の関数（時間性能特性関数）を求める。
おおよそ対象となる区間は３次関数で近似できる。
Ｔｓ＿ｃｐｕ（λ）とＴｓ＿ｉｏ（λ）は以下で表される。
つまり、Ｔｓ（λ）導出部１２０は、Ｔｓ＿ｃｐｕとλ、Ｔｓ＿ｉｏとλから、以下のａ〜ｈの各値を算出して、以下の近似式を完成させる。
Ｔｓ＿ｃｐｕ（λ）＝ａλ３＋ｂλ２＋ｃλ＋ｄ
Ｔｓ＿ｉｏ（λ）＝ｅλ３＋ｆλ２＋ｇλ＋ｈ
【００２６】
そして、Ｔｓ（λ）導出部１２０は、算出したＴｓ＿ｃｐｕ（λ）とＴｓ＿ｉｏ（λ）を所定の記憶領域に格納する（Ｓ１０５）。
【００２７】
次に、性能計測・推定装置１００の対象計測部１３０が対象コンピュータ２００に実行対象ソフトウェア２１０を実行させる（Ｓ２０１）。
ここで実行させる実行対象ソフトウェア２１０の数は１つである。
対象計測部１３０は、実行対象ソフトウェア２１０の実行時の対象コンピュータ２００の性能データ２０２、性能データ２１１を入力する。
更に、対象計測部１３０は、特性計測部１１０と同様に、Ｔ平均を求め、実行時間の平均値（Ｔｑ＿ｃｐｕ、Ｔｑ＿ｉｏ）、到着率（λ）を求め（Ｓ２０２）、更に、Ｔｑ＿ｃｐｕ、Ｔｑ＿ｉｏ、λを用いて、サービス時間の平均値（Ｔｓ＿ｃｐｕ、Ｔｓ＿ｉｏ）を求める。
なお、ここでは、テナント数（同時並行数）は１である。
【００２８】
ステップＳ２０２及びＳ２０３で求める各値は、具体的には、以下の計算式により計算される。
（１）実行時間（Ｔｑ＿ｃｐｕ、Ｔｑ＿ｉｏ）
Ｔｑ＿ｃｐｕ＝Ｔ平均・ＣＰＵ使用率
Ｔｑ＿ｉｏ＝Ｔ平均・（１−ＣＰＵ使用率）
（２）到着率（λ）
λ＝テナント数・１／Ｔ平均
（３）サービス時間（Ｔｓ＿ｃｐｕ、Ｔｓ＿ｉｏ）
図５のステップＳ１０３についての説明で示した「（３）平均サービス時間（Ｔｓ＿ｃｐｕ、Ｔｓ＿ｉｏ）」と同様に、Ｔｑ＿ｃｐｕ、Ｔｑ＿ｉｏとλから、Ｔｓ＿ｃｐｕ、Ｔｓ＿ｉｏを求める（窓口数１の場合の式、窓口数２の場合の式、窓口数４の場合の式のいずれかを用いて求める）。
ＣＰＵについてはコア数が窓口数となる。
ＩＯについては、窓口数１となる。
【００２９】
更に、係数導出部１４０が、以下の手順にて係数（α＿ｃｐｕ、α＿ｉｏ）を求める（Ｓ２０４）。
係数α＿ｃｐｕは、１つの実行対象ソフトウェア２１０を実行した際のＣＰＵの時間性能特性値と特性計測用ソフトウェア２２０の同時並行数が１の場合のＣＰＵの時間性能特性値との差異を吸収する係数である。
また、係数α＿ｉｏは、１つの実行対象ソフトウェア２１０を実行した際のＩ／Ｏデバイスの時間性能特性値と特性計測用ソフトウェア２２０の同時並行数が１の場合のＩ／Ｏデバイスの時間性能特性値との差異を吸収する係数である。
【００３０】
係数（α＿ｃｐｕ、α＿ｉｏ）は、具体的には、以下の計算式に従って算出される。
（４）係数（α＿ｃｐｕ、α＿ｉｏ）
Ｔｓ（λ）の式から、α＿ｃｐｕ、α＿ｉｏを算出する。
Ｔｓ＿ｃｐｕ＝α＿ｃｐｕ・Ｔｓ＿ｃｐｕ（λ）
Ｔｓ＿ｉｏ＝α＿ｉｏ・Ｔｓ＿ｉｏ（λ）
【００３１】
次に、推定部１５０が、実行対象ソフトウェア２１０が複数のテナントで動作したときに応答時間Ｔｑ（λ）を求める（Ｓ２０５、Ｓ２０６）。
その後、推定部１５０は応答時間Ｔｑ（λ）を推定結果３００として出力する（Ｓ２０７）。
具体的には、推定部１５０は、まず、関数Ｔｓ＿ｃｐｕ（λ）＝ａλ３＋ｂλ２＋ｃλ＋ｄとα＿ｃｐｕを用いて、Ｔｓ＿ｃｐｕ（λ）の値を求め、関数Ｔｓ＿ｉｏ（λ）＝ｅλ３＋ｆλ２＋ｇλ＋ｈとα＿ｉｏを用いて、Ｔｓ＿ｉｏ（λ）の値を求め（Ｓ２０５）、Ｔｓ＿ｃｐｕ（λ）の値とＴｓ＿ｉｏ（λ）の値を用いて応答時間Ｔｑ（λ）を求める（Ｓ２０６）。
前述したように、λ＝テナント数・１／Ｔ平均であるため、所望のテナント数に対応する到着率（λ）を用いることにより、所望のテナント数で動作した時の応答時間を推定することができる。
【００３２】
ステップＳ２０５及びＳ２０６で求める各値は、具体的には、以下の計算式により計算される。
（１）テナントアプリケーションのＴｑ
テナントアプリケーションのＴｑは、次のように表すことができる。
Ｔｑ（λ）＝Ｔｑ＿ｃｐｕ（λ）＋Ｔｑ＿ｉｃ（λ）
Ｔｓ＿ｃｐｕ（λ）、Ｔｓ＿ｉｏ（λ）は、次のように表すことができる。
Ｔｓ＿ｃｐｕ（λ）＝α＿ｃｐｕ・（ａλ３＋ｂλ２＋ｃλ＋ｄ）
Ｔｓ＿ｉｏ（λ）＝α＿ｉｏ・（ｅλ３＋ｆλ２＋ｇλ＋ｈ）
Ｔｓ＿ｃｐｕとＴｑ＿ｃｐｕ、Ｔｓ＿ｉｏとＴｑ＿ｉｏの関係は、図５のステップＳ１０３についての説明で示した「（３）平均サービス時間（Ｔｓ＿ｃｐｕ、Ｔｓ＿ｉｏ）」の各式（窓口数１の場合の式、窓口数２の場合の式、窓口数４の場合の式）に従うため、各λのときのＴｑを算出できる。
【００３３】
例えば、ＣＰＵ、ＩＯともに窓口数１の場合（プラットフォームがシングルコアの場合）、以下のようにして、所定のテナント数で動作した時の応答時間Ｔｑ（λ）を算出することができる。
【００３４】
【数２】
2012128771.tif 000004
【００３５】
また、ＣＰＵが４コアの場合は、以下のようにして、所定のテナント数で動作した時の応答時間Ｔｑ（λ）を算出することができる。
【００３６】
【数３】
2012128771.tif 000005
【００３７】
Ｔｓ特性は、ハードウェア構成で決まり、アプリケーションには依存しないため、同一ハードウェアを使用する場合は、再利用できる。
アプリケーションごとに１テナント時の性能計測を行えば、複数テナント時の応答時間の平均Ｔｑが推定できる。
また、ストレージの多重アクセス時の性能の上昇や、マルチコアの競合による性能低下などを加味した、時間性能の予測ができる。
【００３８】
以上のように、本実施の形態では、Ｔｓ特性をあらわす関数Ｔｓ（λ）を待ち行列モデルに加えるという従来技術にはない特徴的な時間性能予測手段により課題を解決する。
これにより、同一ハードウェア構成であれば、テナントのアプリケーションが変わっても、１テナントの性能計測をするだけで、マルチテナント時の時間性能予測が、多重アクセス時のハードウェアの性能特性を反映して行えるという従来技術にはない効果を有する。
【００３９】
以上、本実施の形態では、
マルチテナントシステムで利用するハードウェア構成における、ＣＰＵやストレージの時間性能特性を予め計測しておき、特定のテナントの単体性能の性能計測結果から、上記性能特性のサービス時間の変動する待ち行列のモデルによって、マルチテナント時の時間性能を予測するマルチテナント多重性能推定システムを説明した。
【００４０】
また、本実施の形態では、
挙動の明らかな特性計測用ソフトウェアによって、コンピュータの多重性能計測を行ない、多重度によって変化するＣＰＵとＩ／Ｏを性能特性を近似式化するマルチテナント多重性能推定システムを説明した。
【００４１】
また、本実施の形態では、
マルチテナントで使用するアプリケーションの単体性能測定結果から、ＣＰＵ、Ｉ／Ｏの利用量を抽出し、これから待ち行列によって多重時の応答性能を導出するマルチテナント多重性能推定システムを説明した。
【００４２】
また、本実施の形態では、
マルチテナントで使用するアプリケーションの単体性能測定結果から、ＣＰＵ、Ｉ／Ｏの利用量を抽出し、上記性能特性の近似式に対する係数を求め、性能特性の変動を加えた待ち行列によって多重時の応答性能を導出するマルチテナント多重性能推定システムを説明した。
【００４３】
最後に、本実施の形態に示した性能計測・推定装置１００及び対象コンピュータ２００のハードウェア構成例について説明する。
図７は、本実施の形態に示す性能計測・推定装置１００及び対象コンピュータ２００のハードウェア資源の一例を示す図である。
なお、図７の構成は、あくまでも性能計測・推定装置１００及び対象コンピュータ２００のハードウェア構成の一例を示すものであり、性能計測・推定装置１００及び対象コンピュータ２００のハードウェア構成は図７に記載の構成に限らず、他の構成であってもよい。
【００４４】
図７において、性能計測・推定装置１００及び対象コンピュータ２００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００４５】
通信ボード９１５は、例えば、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されている。
【００４６】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００４７】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００４８】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
性能計測・推定装置１００及び対象コンピュータ２００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００４９】
上記プログラム群９２３には、本実施の形態の説明において「〜部」、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００５０】
ファイル群９２４には、本実施の形態の説明において、「〜の判断」、「〜の計算」、「〜の算出」、「〜の比較」、「〜の推定」、「〜の更新」、「〜の設定」、「〜の実行」、「〜の選択」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。
また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００５１】
また、本実施の形態の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、本実施の形態で説明したフローチャートに示すステップ、手順、処理により、性能計測・推定装置１００及び対象コンピュータ２００の動作を方法として把握することができる。
また、「〜部」、「〜手段」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。
プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。
すなわち、プログラムは、本実施の形態の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００５２】
このように、本実施の形態に示す性能計測・推定装置１００及び対象コンピュータ２００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００５３】
１００  性能計測・推定装置、１１０  特性計測部、１２０  Ｔｓ（λ）導出部、１３０  対象計測部、１４０  係数導出部、１５０  推定部、２００  対象コンピュータ、２０１  性能データ、２０２  性能データ、２１０  実行対象ソフトウェア、２１１  性能データ、２２０  特性計測用ソフトウェア、２２１  性能データ、３００  推定結果。
【図１】
2012128771.tif 000006
【図２】
2012128771.tif 000007
【図３】
2012128771.tif 000008
【図４】
2012128771.tif 000009
【図５】
2012128771.tif 000010
【図６】
2012128771.tif 000011
【図７】
2012128771.tif 000012