(57)【要約】【課題】業務要件に対して、各サーバ群で必要とされる処理性能を定量的に予測する。【解決手段】フロントエンドサーバ群と、ミドルサーバ群と、バックエンドサーバ群とからなる３階層の業務処理システムの性能予測を行うシステムであって、業務処理システムで処理すべき追加業務要件を受け付けて、この業務要件を処理するのに要する、ミドルサーバ群の処理実行時間を予測する必要処理能力算出部１３と、予測された処理実行時間に基づいて、バックエンドサーバ群の必要サーバマシンの台数を算出するサーバ台数算出部１５と、を備える。【選択図】図２
2008129878.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末装置に対してユーザインタフェースを提供する一台以上のサーバマシンを含むフロントエンドサーバ群と、データベースを保持し、前記データベースのデータを管理する一台以上のサーバマシンを含むバックエンドサーバ群と、前記フロントエンドサーバ群と前記バックエンドサーバ群の中間で、前記フロントエンドサーバ群からのリクエストに応じて前記バックエンドサーバ群へ前記データベースのリード／ライトを要求するとともに、所定の業務処理を行って、その処理結果を前記フロントエンドサーバ群へ返却する、一台以上のサーバマシンを含むミドルサーバ群とを備えた業務処理システムの性能予測を行うシステムであって、
前記業務処理システムで処理すべき業務要件を受け付ける手段と、
前記受付手段が受け付けた業務要件を処理するのに要する、前記ミドルサーバ群の処理実行時間を予測する処理時間予測手段と、
前記処理時間予測手段により予測された処理実行時間に基づいて、前記バックエンドサーバ群の必要サーバマシンの台数を算出するバックエンドサーバ算出手段と、を備えた性能予測システム。
【請求項２】
前記業務要件と、前記業務要件を処理する際に実行される、前記ミドルサーバ群で動作する一以上の処理単位とを対応付けて記憶する記憶手段をさらに備え、
前記処理時間予測手段は、前記記憶手段を参照して、前記業務要件を処理する際に実行される一以上の処理単位を特定し、前記特定された処理単位ごとの個別の処理実行時間を算出し、これらを合計して前記ミドルサーバ群の処理実行時間を予測することを特徴とする請求項１記載の性能予測システム。
【請求項３】
前記バックエンドサーバ算出手段は、前記業務処理システムを動作させた実績に基づいて得られた、前記ミドルサーバ群の処理実行時間に対する前記バックエンドサーバ群のＣＰＵ使用率に基づいて、前記バックエンドサーバ群に係る負荷を予測することにより、前記バックエンドサーバ群の必要サーバマシンの台数を算出することを特徴とする請求項１記載の性能予測システム。
【請求項４】
前記業務要件を処理する場合に予想される、前記ミドルサーバ群の負荷を予測する負荷予測手段と、
前記負荷予測手段により予測された負荷に基づいて、前記ミドルサーバ群の必要サーバマシンの台数を算出するミドルサーバ算出手段と、をさらに備えることを特徴とする請求項１記載の性能予測システム。
【請求項５】
ユーザ端末装置に対してユーザインタフェースを提供する一台以上のサーバマシンを含むフロントエンドサーバ群と、データベースを保持し、前記データベースのデータを管理する一台以上のサーバマシンを含むバックエンドサーバ群と、前記フロントエンドサーバ群と前記バックエンドサーバ群の中間で、前記フロントエンドサーバ群からのリクエストに応じて前記バックエンドサーバ群へ前記データベースのリード／ライトを要求するとともに、所定の業務処理を行って、その処理結果を前記フロントエンドサーバ群へ返却する、一台以上のサーバマシンを含むミドルサーバ群とを備えた業務処理システムの性能予測方法であって、
前記業務処理システムで処理すべき業務要件を受け付けるステップと、
前記受け付けた業務要件を処理するのに要する、前記ミドルサーバ群の処理実行時間を予測するステップと、
前記処理時間予測手段により予測された処理実行時間に基づいて、前記バックエンドサーバ群の必要サーバマシンの台数を算出するステップと、を有する性能予測方法。
【請求項６】
ユーザ端末装置に対してユーザインタフェースを提供する一台以上のサーバマシンを含むフロントエンドサーバ群と、データベースを保持し、前記データベースのデータを管理する一台以上のサーバマシンを含むバックエンドサーバ群と、前記フロントエンドサーバ群と前記バックエンドサーバ群の中間で、前記フロントエンドサーバ群からのリクエストに応じて前記バックエンドサーバ群へ前記データベースのリード／ライトを要求するとともに、所定の業務処理を行って、その処理結果を前記フロントエンドサーバ群へ返却する、一台以上のサーバマシンを含むミドルサーバ群とを備えた業務処理システムの性能予測のためのコンピュータプログラムであって、
前記業務処理システムで処理すべき業務要件を受け付けるステップと、
前記受け付けた業務要件を処理するのに要する、前記ミドルサーバ群の処理実行時間を予測するステップと、
前記処理時間予測手段により予測された処理実行時間に基づいて、前記バックエンドサーバ群の必要サーバマシンの台数を算出するステップと、をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの性能を予測する技術に関し、特にフロントエンド、ミドル、バックエンドの各サーバ群からなる３階層システムのサーバ性能を予測する技術に関する。
【背景技術】
【０００２】
ユーザ端末装置に対するインタフェースを提供する複数のサーバからなるフロントエンドサーバ群と、所定の業務処理を行う複数のサーバからなるミドルサーバ群と、データベースを管理する複数のサーバからなるバックエンドサーバ群とを備えた３階層構成で、オンライントランザクション処理を行うシステムが知られている。
【０００３】
そして、このような３階層のシステムでの性能評価は、適当な台数のサーバマシンを動作させ、ＣＰＵ使用率を実測して行っている（例えば、特許文献１）。
【特許文献１】特開２００１−１６００４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このようなシステムでは、性能を実測せずに予測することは難しい。特に、ユーザの業務要件が定められたときに、現実にシステムを動作させることなく、どのサーバ群に何台のサーバが必要になるか、つまり、各サーバ群で必要とされる処理性能を定量的に予測することが困難であった。
【０００５】
そこで、本発明の目的は、業務要件に対して、各サーバ群で必要とされる処理性能を定量的に予測することである。
【０００６】
本発明のさらなる目的は、既存業務に対して新たに追加される業務要件に対して、バックエンドサーバ群で追加すべきサーバマシンの台数を予測することである。
【課題を解決するための手段】
【０００７】
本発明の一実施態様に従う性能予測システムは、ユーザ端末装置に対してユーザインタフェースを提供する一台以上のサーバマシンを含むフロントエンドサーバ群と、データベースを保持し、前記データベースのデータを管理する一台以上のサーバマシンを含むバックエンドサーバ群と、前記フロントエンドサーバ群と前記バックエンドサーバ群の中間で、前記フロントエンドサーバ群からのリクエストに応じて前記バックエンドサーバ群へ前記データベースのリード／ライトを要求するとともに、所定の業務処理を行って、その処理結果を前記フロントエンドサーバ群へ返却する、一台以上のサーバマシンを含むミドルサーバ群とを備えた業務処理システムの性能予測を行うシステムであって、前記業務処理システムで処理すべき業務要件を受け付ける手段と、前記受付手段が受け付けた業務要件を処理するのに要する、前記ミドルサーバ群の処理実行時間を予測する処理時間予測手段と、前記処理時間予測手段により予測された処理実行時間に基づいて、前記バックエンドサーバ群の必要サーバマシンの台数を算出するバックエンドサーバ算出手段と、を備える。
【０００８】
好適な実施形態では、前記業務要件と、前記業務要件を処理する際に実行される、前記ミドルサーバ群で動作する一以上の処理単位とを対応付けて記憶する記憶手段をさらに備え、前記処理時間予測手段は、前記記憶手段を参照して、前記業務要件を処理する際に実行される一以上の処理単位を特定し、前記特定された処理単位ごとの個別の処理実行時間を算出し、これらを合計して前記ミドルサーバ群の処理実行時間を予測するようにしてもよい。
【０００９】
好適な実施形態では、前記バックエンドサーバ算出手段は、前記業務処理システムを動作させた実績に基づいて得られた、前記ミドルサーバ群の処理実行時間に対する前記バックエンドサーバ群のＣＰＵ使用率に基づいて、前記バックエンドサーバ群に係る負荷を予測することにより、前記バックエンドサーバ群の必要サーバマシンの台数を算出するようにしてもよい。
【００１０】
好適な実施形態では、前記業務要件を処理する場合に予想される、前記ミドルサーバ群の負荷を予測する負荷予測手段と、前記負荷予測手段により予測された負荷に基づいて、前記ミドルサーバ群の必要サーバマシンの台数を算出するミドルサーバ算出手段と、をさらに備えていてもよい。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態に係るコンピュータシステムの性能予測システムについて、図面を参照して説明する。
【００１２】
まず、図１が性能予測の対象となる業務処理システムの構成図であり、図２が、図１に示す業務処理システムの処理性能を予測するシステムである。
【００１３】
図１に示す業務処理システム７０は、一台以上のＰＬサーバ７３，７３，・・・を含むＰＬサーバ群Ａと、一台以上のＢＬサーバ７５、７５，・・・を含むＢＬサーバ群Ｂと、一台以上のＤＢサーバ７７，７７、・・・を含むＤＢサーバ群Ｃとを備えた３階層の構造のシステムである。各ＰＬサーバ７３，７３，・・・は、共通の機能を有する。同様に、各ＢＬサーバ７５、７５，・・・も共通の機能を有し、各ＤＢサーバ７７，７７・・・も共通の機能を有する。
【００１４】
ＰＬサーバ７３、７３，・・・は、ユーザが操作するユーザ端末装置７１、７１、・・・に対して、ユーザインタフェースを提供するフロントエンドサーバである。
【００１５】
ＢＬサーバ７５，７５，・・・は、ＰＬサーバ７３，７３、・・・・からのリクエストに応じて、所定の業務処理を行い、その処理結果を供給元のＰＬサーバ７３，７３、・・・・へ返却するミドルサーバである。また、ＢＬサーバ７５，７５，・・・は、業務処理に関連して、ＤＢサーバ７７，７７、・・・へデータの更新（ＤＢが管理するデータのリードまたはライト）要求を行う。例えば、ＢＬサーバ７５，７５，・・・には、所定の処理単位である複数のアプリケーション（ＡＰＬ）がインストールされている。そして、ＰＬサーバ７３，７３，・・・からのリクエストを受けると、ＢＬサーバ７５，７５，・・・は、各リクエストに応じたＡＰＬを起動し、所定の処理を実行する。各ＡＰＬの処理において、必要に応じてＤＢサーバ７７，７７のデータのリード／ライト要求が発行される。各ＡＰＬの処理が完了すると、その処理結果がリクエストを発行したＰＬサーバ７３，７３、・・・・へ返却される。
【００１６】
ＤＢサーバ７７，７７は、ＢＬサーバ７５，７５，・・・が行う処理に関連するデータを保持したデータベースを管理するバックエンドサーバである。例えば、ＤＢサーバ７７，７７は、ＢＬサーバ７５，７５，・・・からの要求に応じて、データベースのデータのリード及びライトを行う。
【００１７】
図２に示す性能予測システム１は、図１に示す業務処理システム７０の業務処理量に応じて必要となるＢＬサーバ及びＤＢサーバの処理性能を予測し、それぞれの必要台数を算出する。本実施形態では、特に、既に稼働している業務処理システム７０の稼働実績に基づいて、目標とする業務要件を処理するのに必要なＢＬサーバ７５，７５，・・・及びＤＢサーバ７７，７７の台数を予想する。
【００１８】
性能予測システム１は、例えば汎用的なコンピュータシステムにより構成され、以下に説明する性能予測システム１内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【００１９】
性能予測システム１は、同図に示すように、現状解析部１１と、必要処理能力算出部１３と、サーバ台数算出部１５と、ＡＰＬ情報記憶部２１と、稼働実績記憶部２３とを備える。
【００２０】
現状解析部１１は、業務処理システム７０の稼働実績を示す情報を取得して、業務処理システム７０の現状の解析を行う。例えば、現状解析部１１は、ある期間の、各サーバ７３，７５，７７，・・・のＣＰＵ使用率、ＢＬサーバ７５，７５，・・・でのＡＰＬの起動状態（起動開始時刻、終了時刻）などを取得する。そして、現状解析部１１は、所定の時間帯別に、ＤＢサーバ７７，７７、・・・のＣＰＵ使用率（１分間の平均値）と、各時間帯のＢＬサーバ７５，７５，・・・での処理の総実行時間（全ＡＰＬの実行時間の総和）との関係を求める。
【００２１】
現状解析部１１は、例えば、ある時間帯について、ＢＬサーバ７５，７５，・・・のＣＰＵ使用率（１分間の平均値）と、その時間帯のＢＬサーバ７５，７５，・・・における予め定められている主要ＡＰＬの起動回数（１ＡＰＬあたりの平均値）との関係を求める。
【００２２】
ここで、主要ＡＰＬとは、例えば、ＣＰＵ使用率に占める割合が高く、ＣＰＵ使用率に対して影響を与えるＡＰＬを言う。例えば、図３及び図４に示すような手順で主要ＡＰＬを定めてもよい。
【００２３】
まず、図１に示す業務処理システム７０の業務開始時刻を挟む所定時間の間において、各ＢＬサーバ７５，７５，・・・のＣＰＵ使用率の推移を分析したところ、以下の２つのグループに分かれることがわかった。
【００２４】
すなわち、図３Ａには、第１のグループに属するＢＬサーバ７５，７５，・・・のＣＰＵ使用率の推移をグラフ化したものを示す。第１のグループに属するＢＬサーバ７５，７５，・・・は、業務開始時刻（ここでは９：００）に急激にＣＰＵ使用率が増加し、業務開始時刻の直後にピークを迎えてその後徐々にＣＰＵ使用率が減っていくタイプである。以後、このグラフ形状を山型と呼ぶ。
【００２５】
また、図３Ｂには、第２のグループに属するＢＬサーバ７５，７５，・・・のＣＰＵ使用率の推移をグラフ化したものを示す。第２のグループに属するＢＬサーバ７５，７５，・・・は、業務開始時刻に急激にＣＰＵ使用率が増加し、その後なだらかにＣＰＵ使用率が減っていく。以後、このグラフ形状を岸壁型と呼ぶ。
【００２６】
次に、業務開始時刻を挟む所定時間の間における各ＡＰＬの１分間の実行回数を、その多い順に並べたものを図４Ａに示す。ここで、１分間の実行回数が所定回数以上の上位グループに属するＡＰＬを対象として、さらに以下の分析をする。
【００２７】
すなわち、縦軸に１分間のＡＰＬ実行回数、横軸に時刻をとって、上位グループＡＰＬの時刻別の１分間のＡＰＬ実行回数の推移をグラフ化する。このときのグラフが、図４Ｂに示すような山型、または図４Ｃに示すような岸壁型と類似する形状となるＡＰＬを抽出し、これを主要ＡＰＬとする。
【００２８】
ここで、ＡＰＬの起動回数が多くなるほどＣＰＵ使用率が高くなることは明らかであるので、このようにして定めた主要ＡＰＬのＣＰＵ使用率の推移が、全ＡＰＬのＣＰＵ使用率推移とほぼ同じになると考えられる。つまり、全ＡＰＬのＣＰＵ使用率に占める主要ＡＰＬの割合が極めて高いので、主要ＡＰＬの起動回数を解析することで、実質的にＢＬサーバ群ＢのＣＰＵ使用率を把握することができる。
【００２９】
主要ＡＰＬの抽出において、上位グループＡＰＬの時刻別の１分間のＡＰＬ実行回数の推移が、山型または岸壁型を示すＢＬサーバのＣＰＵ使用率の推移と類似するか否かの判定は、例えば、それぞれをグラフ化して、ユーザの目視によってグラフ形状が類似するか否かにより行っても良いし、あるいは、以下のように相関分析を行って判定しても良い。
【００３０】
すなわち、図５には、ＢＬサーバのＣＰＵ使用率の推移表５００を示す。この推移表５００は、業務開始時刻前後のＢＬサーバごとのＣＰＵ使用率の推移５１０を示しており、これをグラフ化したものが図３Ｂに示す岸壁型グラフである。この推移表５００には、さらに、ＢＬサーバの平均ＣＰＵ使用率の推移５２０も含まれている。
【００３１】
また、図６には、上位グループＡＰＬの中で、岸壁型候補のＡＰＬ別の１分間の実行回数の推移表６００を示す。推移表６００には、さらに、岸壁型候補ＡＰＬの合計実行回数の推移６２０も含まれている。
【００３２】
そして、ＢＬサーバの平均ＣＰＵ使用率の推移５２０と、岸壁型候補ＡＰＬの合計実行回数の推移６２０との相関分析を行った結果、両者が所定以上の相関を有すると判定されたときに、岸壁型候補ＡＰＬを主要ＡＰＬとする。このとき、ＢＬサーバの平均ＣＰＵ使用率の推移５２０と、個別のＡＰＬの実行回数の推移との相関分析を行って、各ＡＰＬについて主要ＡＰＬとするか否かを判定しても良い。
【００３３】
ここでは、岸壁型の主要ＡＰＬの判定について説明したが、山型であっても同様に行うことができる。
【００３４】
現状解析部１１が算出したＢＬサーバ７５，７５，・・・のＣＰＵ使用率とＢＬサーバ７５，７５，・・・の主要ＡＰＬの起動回数との関係を図７に示す。同図に示すように、ＣＰＵ使用率と主要ＡＰＬの起動回数との間には、一方が増加すると他方も増加する関係があり、起動回数Ｋを境に、それぞれ異なる直線で近似できることがわかる。ここで算出された回帰直線を、以下では「ＢＬサーバ性能関数」と呼ぶ。ＢＬサーバ性能関数は、稼働実績記憶部２３に格納される。
【００３５】
また、現状解析部１１が算出した、ＤＢサーバ７７，７７、・・のＣＰＵ使用率とＢＬサーバ７５，７５，・・・での総実行時間との関係を図８に示す。同図に示すように、ＣＰＵ使用率と総実行時間との間にも、一方が増加すると他方も増加するという関係があり、直線で近似できることがわかる。このことからわかるように、ＤＢサーバ７７，７７、・・・のＣＰＵ使用率が、ＢＬサーバ７５，７５，・・・でのＡＰＬの総実行時間と関連する。なお、ここで算出された回帰直線を、以下では「ＤＢサーバ性能関数」と呼ぶ。ＤＢサーバ性能関数は、稼働実績記憶部２３に格納される。
【００３６】
ここで、業務処理システム７０では、ＢＬサーバ７５、７５，・・・のＡＰＬは、ＤＢサーバ群Ｃに対して所定の処理を依頼すると、その処理結果が帰ってくるまでＡＰＬが起動された状態で待ちになっている。つまり、ＢＬサーバ７５，７５，・・・の処理時間の大部分は、ＤＢサーバ群Ｃでの処理時間が占めている。この結果、ＢＬサーバ７５、７５，・・・での各ＡＰＬによるＣＰＵ使用率は極めて低くなっており、ほとんどゼロに近い。一方で、各ＡＰＬによるＣＰＵ使用率が低いということは、ＢＬサーバ７５、７５，・・・にかかる負荷は、ＡＰＬの起動によるものが大きいと考えられる。従って、本発明の発明者らは、ＢＬサーバ７５，７５，・・・におけるＡＰＬの起動回数とＢＬサーバ７５，７５，・・・のＣＰＵ使用率との関連として、上述の「ＢＬサーバ性能」を見いだした。そこで、本実施形態では、後述するように、この「ＢＬサーバ性能関数」を利用してＢＬサーバ７５，７５、・・の性能を予測する。
【００３７】
また、ＤＢサーバ７７，７７、・・の負荷については、ＤＢサーバ７７，７７、・・のＣＰＵ使用率により把握することができる。しかしながら、ＤＢサーバ７７，７７、・・でのＣＰＵ使用率は、多くの場合、データの管理を行うＤＢＭＳのプロセス単位にしか把握できない。このＤＢＭＳのプロセスは、ＢＬサーバ７５、７５，・・・のＡＰＬと必ずしも１対１に対応しない。従って、このプロセス単位のＣＰＵ使用率に基づいて、業務処理とＤＢサーバ７７，７７、・・の負荷との関連を導くことは困難である。そこで、本発明の発明者らは、上述したようにＢＬサーバ７５、７５，・・・のＡＰＬが起動されている時間の大部分は、ＤＢサーバ群Ｃでの処理結果を待っている時間であることに注目して、上述の「ＤＢサーバ性能関数」を見いだした。そこで、本実施形態では、後述するように、この「ＤＢサーバ性能」を利用してＤＢサーバ７７，７７、・・の性能を予測する。
【００３８】
ＡＰＬ情報記憶部２１は、ＢＬサーバ７５，７５，・・・にインストールされているＡＰＬと業務処理との対応に関する情報を記憶する。
【００３９】
図９は、ＡＰＬ情報記憶部２１に記憶されるＡＰＬ情報の一例を示す。同図に示すように、ＡＰＬ情報記憶部２１は、データ項目として、ＡＰＬ名２１１と、対応する業務２１２と、主要ＡＰＬフラグ２１３と、単価２１４とを有する。
【００４０】
ＡＰＬ名２１１は、ＢＬサーバ７５，７５，・・・にインストールされている各ＡＰＬの識別情報である。
【００４１】
対応業務２１２は、ＡＰＬと業務との関連を示す。例えば、図９の例では、「注文」業務を行うときに起動されるＡＰＬは、ＡＰＬ１，ＡＰＬ２であることがわかる。
【００４２】
主要ＡＰＬフラグ２１３は、各ＡＰＬが主要ＡＰＬであるか否かを示すフラグである。ここで、主要ＡＰＬとは、起動される回数が多いＡＰＬであり、予め定められている。
【００４３】
単価２１４は、各ＡＰＬの１回の実行に要する時間である。
【００４４】
稼働実績記憶部２３は、業務処理システム７０の稼働実績を示す情報を記憶する。例えば、稼働実績記憶部２３は、ＢＬサーバ７５，７５，・・・及びＤＢサーバ７７，７７、・・・の稼働実績を記憶する。
【００４５】
図１０は、稼働実績記憶部２３に記憶される稼働実績の一例を示す。すなわち、ＢＬサーバの稼働実績として、サーバ台数２３１、平均ＣＰＵ使用率２３２、ＢＬサーバの性能関数２３３及び特定時間内（例えば、午前８：３０−９：００）のＡＰＬ別稼働実績（総実行時間）２３４及び既存ＡＰＬの総実行時間２３５が含まれる。ＢＬサーバの性能関数２３３は、現状解析部１１で算出される。さらに、ＤＢサーバの稼働実績として、サーバ台数２３６及びＤＢサーバの性能関数２３７が含まれる。ＤＢサーバの性能関数２３７は、現状解析部１１で算出される。
【００４６】
ここで、図２を参照すると、必要処理能力算出部１３は、業務処理システム７０が処理すべき業務要件の入力を受け付けて、その業務要件を処理するのに必要な各サーバ群Ａ，Ｂ，Ｃの処理能力を算出する。本実施形態では、所定の業務要件を追加したときに、ＢＬサーバ群Ｂに新たに加わる負荷、つまり必要とされる処理能力を算出するＢＬ処理部１３１と、ＤＢサーバ群Ｃに必要とされる処理能力を算出するＤＢ処理部１３２とを備える。そして、既に稼働している業務処理システム７０に対して追加すべき業務要件の入力を受け付けて、全体の業務要件を処理するのに必要なＢＬサーバ群Ｂ及びＤＢサーバ群Ｃの処理能力を算出する。
【００４７】
ここで、追加業務要件として、たとえば、１分間あたりの件数が「注文」１００件、「注文取消」２件、「注文照会」２００件とする。このとき、ＢＬ処理部１３１は、ＡＰＬ情報記憶部２１を参照して、「注文」「注文取消」及び「注文照会」と対応する主要ＡＰＬを特定し、主要ＡＰＬの合計起動回数を算出する。図９によれば、「注文」「注文取消」及び「注文照会」を行うときの主要ＡＰＬはＡＰＬ１及びＡＰＬ２である。これにより、主要ＡＰＬの起動回数の増加分は以下のように算出される。
（１）１００件の「注文」により、ＡＰＬ１が１００回、ＡＰＬ２が１００回、それぞれ起動される。
（２）２件の「注文取消」により、ＡＰＬ２が２回起動される。
（３）２００件の「注文照会」により、ＡＰＬ２が２００回起動される。
【００４８】
この結果、追加業務要件によってＢＬサーバ群Ｂで増加するＡＰＬの起動回数の合計が４０２回となり、これがすなわち、ＢＬサーバ群Ｂで増加する負荷である。
【００４９】
また、追加業務要件として、たとえば、上述の特定時間の間の件数が「注文」１０００００件、「注文取消」２０００件、「注文照会」２０００００件とする。このとき、ＤＢ処理部１３２は、ＡＰＬ情報記憶部２１を参照して、「注文」「注文取消」及び「注文照会」と対応するＡＰＬを特定し、特定されたＡＰＬの総実行時間を算出する。つまり、ここでは、追加業務要件に係る処理を行うための、総実行時間の増加分を算出する。
【００５０】
図９によれば、「注文」ではＡＰＬ１，ＡＰＬ２が実行され、「注文取消」ではＡＰＬ２、ＡＰＬ３が実行され、「注文照会」ではＡＰＬ２，ＡＰＬ４が実行される。
【００５１】
これに基づいて、追加業務要件の件数とＡＰＬの単価とを掛け合わせて、それぞれのＡＰＬの実行時間を算出すると以下のようになる。
ＡＰＬ１：１０００００×０．００２０＝２００．０
ＡＰＬ２：（１０００００＋２０００＋２０００００）×０．００１０＝３０２．０
ＡＰＬ３：２０００×０．００４５＝９．０
ＡＰＬ４：２０００００×０．００１０＝２００．０
【００５２】
従って、全ＡＰＬの合計の実行時間である総実行時間（増加分）は、以下のようになる。
総実行時間＝２００．０＋３０２．０＋９．０＋２００．０＝７１１．０
【００５３】
この結果、追加業務要件によってＢＬサーバ群Ｂで増加するＡＰＬの処理時間の合計が７１１．０秒となり、これがすなわち、ＤＢサーバ群Ｃで増加する負荷である。
【００５４】
サーバ台数算出部１５は、既に稼働している業務処理システム７０に、さらに追加業務要件が加わったときに必要となるサーバの台数を算出する。本実施形態では、ＢＬサーバ群Ｂの必要台数を算出するＢＬ処理部１５１と、ＤＢサーバ群Ｃの必要台数を算出するＤＢ処理部１５２とを備える。そして、稼働実績記憶部２３に記憶されている稼働実績及び必要処理能力算出部１３により算出された必要処理能力に基づいて、追加すべきＤＢサーバ７７及びＢＬサーバ７５の台数を算出する。
【００５５】
例えば、ＢＬ処理部１５１は、稼働実績記憶部２３からＢＬサーバの性能関数２３３と、ＢＬサーバの平均ＣＰＵ使用率２３２を取得する。そして、ＢＬ処理部１３１が算出した、追加業務要件に対応する主要ＡＰＬの起動回数（増加分）をＢＬサーバの性能関数２３３に当てはめて、追加業務要件に対応する平均ＣＰＵ使用率（増加分）を求めたとすると、そのときの平均ＣＰＵ使用率が２０．０％になったとする。
【００５６】
そして、平均ＣＰＵ使用率の増加分と、現状の平均ＣＰＵ使用率２３２とを足し合わせ、ＢＬサーバ７５の台数をかけると、追加業務要件を追加した後に必要となるＢＬサーバ群の能力（ＣＰＵ使用率）が求まる。ここでは、
必要ＢＬサーバ能力＝（２０．０＋３８．９）×３＝１７６．７
となる。
【００５７】
ここで、安全を見込んだＣＰＵ使用率の上限を６５％とすると、現状３台あるＢＬサーバ７５のＣＰＵ使用率が６５％以下になるようにするために、追加すべきＢＬサーバ７５の台数は、
（１７６．７／６５）−３＋１＝０．７１（台）
より、１台と求まる。
【００５８】
また、ＤＢ処理部１５２は、稼働実績記憶部２３から、ＤＢサーバの性能関数２３７と、ＢＬサーバ群のＡＰＬ別稼働実績２３４及び既存ＡＰＬの総実行時間２３５を取得する。そして、ＤＢ処理部１３２が算出した、追加業務要件に対応する総実行時間（増加分）と、ＡＰＬ別稼働実績２３４及び既存ＡＰＬの総実行時間２３５の総和である総実行時間（実績分）とを足し合わせることにより、追加業務要件を追加した後に必要となるＤＢサーバの能力（総実行時間）が求まる。ここでは、
必要ＤＢサーバ能力＝７１１．０＋（５００．０＋４００．０＋３００．０＋２００．０＋２４００．０）＝４５１１．０
となる。
【００５９】
さらに、この必要ＤＢサーバ能力（総実行時間）を、ＤＢサーバの性能関数２３７に当てはめて、このときのＤＢサーバ群ＣのＣＰＵ使用率を求めたとすると、そのときのＣＰＵ使用率が７０％になったとする
ここで、安全を見込んだＣＰＵ使用率の上限を６５％とすると、現状５台あるＤＢサーバ群Ｃの各サーバのＣＰＵ使用率が６５％以下になるようにするために、追加すべきＤＢサーバ７７の台数は、
（（７０−６５）×５／６５）＋１＝１．３８（台）
より、２台と求まる。
【００６０】
図１１は、上記のような構成を備えた性能予測システム１における処理手順を示すフローチャートである。
【００６１】
まず、性能予測システム１は、業務処理システム７０での稼働実績を取得し、業務処理システム７０の現状解析を行って、ＤＢサーバ群Ｂ及びＢＬサーバ群Ｃについて、ＣＰＵの負荷状態を示す性能関数を算出する。（Ｓ１）。
【００６２】
予め性能関数を算出しておいた後、性能予測システム１は、ユーザが所望する追加業務要件を受け付ける（Ｓ２）。
【００６３】
必要処理能力算出部１３は、受け付けた追加業務要件を処理するときに実行されるＡＰＬを特定し、ＢＬサーバ群Ｂ及びＤＢサーバ群Ｃでそれぞれ必要となる、増加分の処理能力を算出する（Ｓ３）。
【００６４】
そして、サーバ台数算出部１５は、必要処理能力算出部１３が算出した増加分の処理に必要な能力と、現状の稼働実績とに基づいて、業務追加後にＢＬサーバ群Ｂ及びＤＢサーバ群Ｃのそれぞれが全体として必要とする処理能力を算出した後、増設すべきＢＬサーバ７５及びＤＢサーバ７７の台数を算出する（Ｓ４）。
【００６５】
これにより、業務要件を追加する場合に、稼働実績に基づいて性能を予測し、必要とするサーバの台数を予測することができる。
【００６６】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【図面の簡単な説明】
【００６７】
【図１】性能予測の対象となる業務処理システムの構成図である。
【図２】本発明の一実施形態に係る性能予測システムの構成図である。
【図３】ＢＬサーバのＣＰＵ使用率の時間推移を示す。
【図４】主要ＡＰＬの抽出方法の説明図である。
【図５】ＢＬサーバのＣＰＵ使用率の推移表である。
【図６】上位グループＡＰＬの中で、岸壁型候補のＡＰＬ別の１分間の実行回数の推移表である。
【図７】ＢＬサーバ性能関数を示す。
【図８】ＤＢサーバ性能関数を示す。
【図９】ＡＰＬ情報記憶部２１に記憶されるＡＰＬ情報の一例を示す。
【図１０】稼働実績記憶部２３に記憶される稼働実績の一例を示す。
【図１１】性能予測システム１における処理手順を示すフローチャートである。
【符号の説明】
【００６８】
１      性能予測システム
１１    現状解析部
１３    必要処理能力算出部
１５    サーバ台数算出部
２１    情報記憶部
２３    稼働実績記憶部
７０    業務処理システム
７３    ＰＬサーバ
７５    ＢＬサーバ
７７    ＤＢサーバ
【図１】
2008129878.tif 000003
【図２】
2008129878.tif 000004
【図３】
2008129878.tif 000005
【図４】
2008129878.tif 000006
【図５】
2008129878.tif 000007
【図６】
2008129878.tif 000008
【図７】
2008129878.tif 000009
【図８】
2008129878.tif 000010
【図９】
2008129878.tif 000011
【図１０】
2008129878.tif 000012
【図１１】
2008129878.tif 000013