(57)【要約】【課題】クラスタシステムの性能を予測する簡便な方法を提供する。【解決手段】クライアント１で発生したリクエスト要求の処理を負荷分担して実行する複数の運用サーバ３１１を含むクラスタシステム３の性能を予測する為に、システム構成・稼働状況収集手段４１は、運用サーバ３１１の台数、システム稼働率及びシステムスループットの測定値を収集し記憶手段４４に記録する。演算手段４４は、測定値を読み出して解析し、同一サーバ台数での単位システム稼働率あたりのシステムスループットの変動量である第１のシステムスループット変動量と、同じシステム稼働率を維持したままサーバ台数を増減したときのサーバ１台あたりのシステムスループットの変動量である第２のシステムスループット変動量を算出し、この算出したシステムスループット変動量を使用して、クラスタシステムの運用サーバ台数を変更した際の性能などを予測する。【選択図】図１
2007128382.tif 000002
【特許請求の範囲】
【請求項１】
クライアント計算機群で発生したリクエスト要求の処理を負荷分担して実行する複数の運用サーバ計算機を含むクラスタシステムの性能を予測する装置において、
前記クラスタシステムのサーバ台数、システム稼働率およびシステムスループットの測定値を収集するシステム構成・稼働状況収集手段と、前記収集された測定値を記録する記憶手段と、前記記録された測定値を解析して、同一サーバ台数での単位システム稼働率あたりのシステムスループットの変動量である第１のシステムスループット変動量と、同じシステム稼働率を維持したままサーバ台数を増減したときのサーバ１台あたりのシステムスループットの変動量である第２のシステムスループット変動量を算出し、前記第１および第２のシステムスループット変動量を使用して前記クラスタシステムの性能を予測し出力する演算手段とを備えたことを特徴とするクラスタシステムの性能予測装置。
【請求項２】
前記記憶手段は、システム稼働率と運用サーバ計算機の台数とを行と列のインデックスとして行列の交点のセルにシステムスループットを記録するスループット表を記憶することを特徴とする請求項１記載のクラスタシステムの性能予測装置。
【請求項３】
前記記憶手段は、前記算出された第１のシステムスループット変動量を記憶する第１の表と、前記算出された第２のシステムスループット変動量を記憶する第２の表を記憶することを特徴とする請求項２記載のクラスタシステムの性能予測装置。
【請求項４】
前記演算手段は、前記スループット表におけるシステムスループットの測定値が記録されていないセルに記録すべきシステムスループットを予測して記録し、性能予測要求が入力されたとき、予測値の記録された前記スループット表を検索して前記性能予測要求に対する予測結果を取得するものであることを特徴とする請求項２または３記載のクラスタシステムの性能予測装置。
【請求項５】
前記演算手段は、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求に対しては、前記スループット表の各列毎に、現状のシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、若し見つかれば、当該セルの列のサーバ台数と行のシステム稼働率の組を１つの予測結果として出力するものであることを特徴とする請求項４記載のクラスタシステムの性能予測装置。
【請求項６】
前記演算手段は、現状のシステムスループットと異なる或る値のシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求に対しては、前記スループット表の各列毎に、前記或る値のシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、若し見つかれば、当該セルの列のサーバ台数と検索した行のシステム稼働率の組を１つの予測結果として出力するものであることを特徴とする請求項４記載のクラスタシステムの性能予測装置。
【請求項７】
前記演算手段は、前記システム構成・稼働状況収集手段により前記スループット表に記録された予測値が測定値で書き換えられた場合、影響の及ぶ他の予測値を再計算して書き換えるものであることを特徴とする請求項４記載のクラスタシステムの性能予測装置。
【請求項８】
前記演算手段は、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求が入力されたとき、サーバ台数がｎでシステム稼働率がρのときのシステムスループットをλ（ｎ，ρ）、サーバ台数がｎ＋１でシステム稼働率がρ−Δρのときのシステムスループットをλ（ｎ＋１，ρ−Δρ）としたとき、λ（ｎ，ρ）とλ（ｎ＋１，ρ−Δρ）が等しくなる場合に近似的に成立する、
Δρ・ａ（ｎ，ρ）＝１・ｂ（ｎ，ρ）
但し、ａ（ｎ，ρ）はサーバ台数ｎにおける第１のシステムスループット変動量、ｂ（ｎ，ρ）は同じシステム稼働率ρを維持したままサーバをｎ＋１台にしたときの第２のシステムスループットの増加量
なる式を用いて、現状と異なるサーバ台数時のシステム稼働率を予測するものであることを特徴とする請求項２または３記載のクラスタシステムの性能予測装置。
【請求項９】
前記演算手段は、現状のシステムスループットより或る割合αだけ増加したシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測する要求が入力されたとき、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測した後、各サーバ台数毎に、
Δρ＝（割合α・λ）／ａ（ｎ，ρ）
なる式を用いて、システムスループットが割合αだけ増加したときのシステム稼働率の増分Δρを求めて元のシステム稼働率に加えることで予測結果を算出するものであることを特徴とする請求項８記載のクラスタシステムの性能予測装置。
【請求項１０】
前記演算手段は、現状のシステムスループットより或る量Δλだけ増加したシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測する要求が入力装置から入力されたとき、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測した後、各サーバ台数毎に、
Δρ＝Δλ／ａ（ｎ，ρ）
なる式を用いて、システムスループットがΔλだけ増加したときのシステム稼働率の増分Δρを求めて元のシステム稼働率に加えることで予測結果を算出するものであることを特徴とする請求項８記載のクラスタシステムの性能予測装置。
【請求項１１】
クライアント計算機群で発生したリクエスト要求の処理を負荷分担して実行する複数の運用サーバ計算機を含むクラスタシステムの性能を予測する方法において、
システム構成・稼働状況収集手段が、前記クラスタシステムのサーバ台数、システム稼働率およびシステムスループットの測定値を収集して、記憶手段に記録するステップ、
演算手段が、前記記憶手段に記録された測定値を読み出して解析し、同一サーバ台数での単位システム稼働率あたりのシステムスループットの変動量である第１のシステムスループット変動量と、同じシステム稼働率を維持したままサーバ台数を増減したときのサーバ１台あたりのシステムスループットの変動量である第２のシステムスループット変動量を算出するステップ、
前記演算手段が、前記算出した第１および第２のシステムスループット変動量を使用して前記クラスタシステムの性能を予測し出力するステップ、
を含むことを特徴とするクラスタシステムの性能予測方法。
【請求項１２】
前記記憶手段は、システム稼働率と運用サーバ計算機の台数とを行と列のインデックスとして行列の交点のセルにシステムスループットを記録するスループット表を記憶し、前記システム構成・稼働状況収集手段は、前記スループット表に測定値を記録することを特徴とする請求項１１記載のクラスタシステムの性能予測方法。
【請求項１３】
前記記憶手段は、前記算出された第１のシステムスループット変動量を記憶する第１の表と、前記算出された第２のシステムスループット変動量を記憶する第２の表を記憶し、前記演算手段は、前記算出した第１および第２のシステムスループット変動量を前記第１および第２の表に記録することを特徴とする請求項１２記載のクラスタシステムの性能予測方法。
【請求項１４】
前記演算手段は、前記スループット表におけるシステムスループットの測定値が記録されていないセルに記録すべきシステムスループットを予測して記録し、性能予測要求が入力されたとき、予測値の記録された前記スループット表を検索して前記性能予測要求に対する予測結果を取得することを特徴とする請求項１２または１３記載のクラスタシステムの性能予測方法。
【請求項１５】
前記演算手段は、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求に対しては、前記スループット表の各列毎に、現状のシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、若し見つかれば、当該セルの列のサーバ台数と行のシステム稼働率の組を１つの予測結果として出力することを特徴とする請求項１４記載のクラスタシステムの性能予測方法。
【請求項１６】
前記演算手段は、現状のシステムスループットと異なる或る値のシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求に対しては、前記スループット表の各列毎に、前記或る値のシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、若し見つかれば、当該セルの列のサーバ台数と検索した行のシステム稼働率の組を１つの予測結果として出力することを特徴とする請求項１４記載のクラスタシステムの性能予測方法。
【請求項１７】
前記演算手段は、前記システム構成・稼働状況収集手段により前記スループット表に記録された予測値が測定値で書き換えられた場合、影響の及ぶ他の予測値を再計算して書き換えることを特徴とする請求項１４記載のクラスタシステムの性能予測方法。
【請求項１８】
前記演算手段は、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求が入力されたとき、サーバ台数がｎでシステム稼働率がρのときのシステムスループットをλ（ｎ，ρ）、サーバ台数がｎ＋１でシステム稼働率がρ−Δρのときのシステムスループットをλ（ｎ＋１，ρ−Δρ）としたとき、λ（ｎ，ρ）とλ（ｎ＋１，ρ−Δρ）が等しくなる場合に近似的に成立する、
Δρ・ａ（ｎ，ρ）＝１・ｂ（ｎ，ρ）
但し、ａ（ｎ，ρ）はサーバ台数ｎにおける第１のシステムスループット変動量、ｂ（ｎ，ρ）は同じシステム稼働率ρを維持したままサーバをｎ＋１台にしたときの第２のシステムスループットの増加量
なる式を用いて、現状と異なるサーバ台数時のシステム稼働率を予測することを特徴とする請求項１２または１３記載のクラスタシステムの性能予測方法。
【請求項１９】
前記演算手段は、現状のシステムスループットより或る割合αだけ増加したシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測する要求が入力されたとき、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測した後、各サーバ台数毎に、
Δρ＝（割合α・λ）／ａ（ｎ，ρ）
なる式を用いて、システムスループットが割合αだけ増加したときのシステム稼働率の増分Δρを求めて元のシステム稼働率に加えることで予測結果を算出することを特徴とする請求項１８記載のクラスタシステムの性能予測方法。
【請求項２０】
前記演算手段は、現状のシステムスループットより或る量Δλだけ増加したシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測する要求が入力されたとき、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測した後、各サーバ台数毎に、
Δρ＝Δλ／ａ（ｎ，ρ）
なる式を用いて、システムスループットがΔλだけ増加したときのシステム稼働率の増分Δρを求めて元のシステム稼働率に加えることで予測結果を算出することを特徴とする請求項１８記載のクラスタシステムの性能予測方法。
【請求項２１】
クライアント計算機群で発生したリクエスト要求の処理を負荷分担して実行する複数の運用サーバ計算機を含むクラスタシステムの構成を管理するコンピュータに、
システム構成・稼働状況収集手段が、前記クラスタシステムのサーバ台数、システム稼働率およびシステムスループットを測定して、記憶手段に記録するステップ、
演算手段が、前記記憶手段に記録された測定値を読み出して解析し、同一サーバ台数での単位システム稼働率あたりのシステムスループットの変動量である第１のシステムスループット変動量と、同じシステム稼働率を維持したままサーバ台数を増減したときのサーバ１台あたりのシステムスループットの変動量である第２のシステムスループット変動量を算出するステップ、
前記演算手段が、前記算出した第１および第２のシステムスループット変動量を使用して前記クラスタシステムの性能を予測して出力するステップ、
を実行させるためのプログラム。
【請求項２２】
前記記憶手段は、システム稼働率と運用サーバ計算機の台数とを行と列のインデックスとして行列の交点のセルにシステムスループットを記録するスループット表を記憶し、前記システム構成・稼働状況収集手段は、前記スループット表に測定値を記録することを特徴とする請求項２１記載のプログラム。
【請求項２３】
前記記憶手段は、前記算出された第１のシステムスループット変動量を記憶する第１の表と、前記算出された第２のシステムスループット変動量を記憶する第２の表を記憶し、前記演算手段は、前記算出した第１および第２のシステムスループット変動量を前記第１および第２の表に記録することを特徴とする請求項２２記載のプログラム。
【請求項２４】
前記演算手段は、前記スループット表におけるシステムスループットの測定値が記録されていないセルに記録すべきシステムスループットを予測して記録し、入力装置から性能予測要求が入力されたとき、予測値の記録された前記スループット表を検索して前記性能予測要求に対する予測結果を取得することを特徴とする請求項２２または２３記載のプログラム。
【請求項２５】
前記演算手段は、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求に対しては、前記スループット表の各列毎に、現状のシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、若し見つかれば、当該セルの列のサーバ台数と検索した行のシステム稼働率の組を１つの予測結果として出力することを特徴とする請求項２４記載のプログラム。
【請求項２６】
前記演算手段は、現状のシステムスループットと異なる或る値のシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求に対しては、前記スループット表の各列毎に、前記或る値のシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、若し見つかれば、当該セルの列のサーバ台数と検索した行のシステム稼働率の組を１つの予測結果として出力することを特徴とする請求項２４記載のプログラム。
【請求項２７】
前記演算手段は、前記システム構成・稼働状況収集手段により前記スループット表に記録された予測値が測定値で書き換えられた場合、影響の及ぶ他の予測値を再計算して書き換えることを特徴とする請求項２４記載のプログラム。
【請求項２８】
前記演算手段は、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求が入力装置から入力されたとき、サーバ台数がｎでシステム稼働率がρのときのシステムスループットをλ（ｎ，ρ）、サーバ台数がｎ＋１でシステム稼働率がρ−Δρのときのシステムスループットをλ（ｎ＋１，ρ−Δρ）としたとき、λ（ｎ，ρ）とλ（ｎ＋１，ρ−Δρ）が等しくなる場合に近似的に成立する、
Δρ・ａ（ｎ，ρ）＝１・ｂ（ｎ，ρ）
但し、ａ（ｎ，ρ）はサーバ台数ｎにおける第１のシステムスループット変動量、ｂ（ｎ，ρ）は同じシステム稼働率ρを維持したままサーバをｎ＋１台にしたときの第２のシステムスループットの増加量
なる式を用いて、現状と異なるサーバ台数時のシステム稼働率を予測することを特徴とする請求項２２または２３記載のプログラム。
【請求項２９】
前記演算手段は、現状のシステムスループットより或る割合αだけ増加したシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測する要求が入力装置から入力されたとき、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測した後、各サーバ台数毎に、
Δρ＝（割合α・λ）／ａ（ｎ，ρ）
なる式を用いて、システムスループットが割合αだけ増加したときのシステム稼働率の増分Δρを求めて元のシステム稼働率に加えることで予測結果を算出することを特徴とする請求項２８記載のプログラム。
【請求項３０】
前記演算手段は、現状のシステムスループットより或る量Δλだけ増加したシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測する要求が入力装置から入力されたとき、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測した後、各サーバ台数毎に、
Δρ＝Δλ／ａ（ｎ，ρ）
なる式を用いて、システムスループットがΔλだけ増加したときのシステム稼働率の増分Δρを求めて元のシステム稼働率に加えることで予測結果を算出することを特徴とする請求項２８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクライアント計算機群で発生したリクエスト要求の処理を負荷分担して実行する複数の運用サーバ計算機を含むクラスタシステムの性能予測方法および装置に関する。
【背景技術】
【０００２】
複数のサーバ計算機を疎結合して見かけ上単一のサーバ計算機を構成したクラスタシステムが、インターネット上での電子商取引やコンテンツの配信などの各種サービスを提供する計算機システムに用いられている。このようなクラスタシステムでは、多数のクライアント計算機から出されるリクエスト要求（サービス処理要求）を、ラウンドロビン方式など適当な負荷分散アルゴリズムを使用して各サーバ計算機に振り分けることで、多量のリクエスト要求を処理している。
【０００３】
また、需要変動に応じて、クラスタシステムを構成するサーバ計算機の台数を動的に変更する技術も提案されている。例えば、特許文献１には、クラスタシステムが提供するサービスへの需要が所定の上限値あるいは下限値に達したか否かを監視し、この監視結果に基づいて、サービスを提供するサーバ計算機を追加すべきか、または削除すべきかを判断し、サーバ計算機の追加、削除を動的に行う仕組みが記載されている。但し、追加あるいは削除すべきサーバ計算機の台数を求める機能はなく、例えば１台ずつ追加あるいは削除される。
【０００４】
他方、クラスタシステムなど計算機システムの性能を予測（推定）する技術としては、一般にシミュレーションによる方法が知られている（例えば、特許文献２参照）。
【０００５】
【特許文献１】特開２００２−１６３２４１号公報
【特許文献２】特開２００４−２７２５８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
需要の変動に応じてクラスタシステムを目標通りの性能で稼働させるためには、サーバ計算機の増減が必要になるが、その際、構成変更後のクラスタシステムの性能を予測することができると都合が良い。何故なら、例えば、クラスタシステム全体の稼働率が高くなり過ぎたり、逆に低くなり過ぎた時、現状と同じスループットを達成しながらシステム稼働率を適正な範囲にするために必要なサーバ計算機の追加台数や削除台数が事前に分かれば、最適な台数のサーバ計算機を備えた構成へ即変更できるからである。
【０００７】
このような構成変更後のクラスタシステムの性能の予測をシミュレーションにより行う場合、サーバ計算機で稼働するプログラムの性能、ＣＰＵの性能、業務特性（リクエスト処理に必要となるＣＰＵ時間やディスクアクセス時間など）を正確に見積もってモデル化する必要があり、予測コストが非常に大きくなり、また予測に長い時間を必要とする。
【０００８】
本発明はこのような事情に鑑みて提案されたものであり、その目的は、クラスタシステムの性能を予測する簡便な方法および装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１のクラスタシステムの性能予測装置は、クライアント計算機群で発生したリクエスト要求の処理を負荷分担して実行する複数の運用サーバ計算機を含むクラスタシステムの性能を予測する装置において、前記クラスタシステムのサーバ台数、システム稼働率およびシステムスループットの測定値を収集するシステム構成・稼働状況収集手段と、前記収集された測定値を記録する記憶手段と、前記記録された測定値を解析して、同一サーバ台数での単位システム稼働率あたりのシステムスループットの変動量である第１のシステムスループット変動量と、同じシステム稼働率を維持したままサーバ台数を増減したときのサーバ１台あたりのシステムスループットの変動量である第２のシステムスループット変動量を算出し、前記第１および第２のシステムスループット変動量を使用して前記クラスタシステムの性能を予測し出力する演算手段とを備えたことを特徴とする。
【００１０】
本発明の第２のクラスタシステムの性能予測装置は、第１のクラスタシステムの性能予測装置において、前記記憶手段は、システム稼働率と運用サーバ計算機の台数とを行と列のインデックスとして行列の交点のセルにシステムスループットを記録するスループット表を記憶することを特徴とする。
【００１１】
本発明の第３のクラスタシステムの性能予測装置は、第２のクラスタシステムの性能予測装置において、前記記憶手段は、前記算出された第１のシステムスループット変動量を記憶する第１の表と、前記算出された第２のシステムスループット変動量を記憶する第２の表を記憶することを特徴とする。
【００１２】
本発明の第４のクラスタシステムの性能予測装置は、第２または第３のクラスタシステムの性能予測装置において、前記演算手段は、前記スループット表におけるシステムスループットの測定値が記録されていないセルに記録すべきシステムスループットを予測して記録し、性能予測要求が入力されたとき、予測値の記録された前記スループット表を検索して前記性能予測要求に対する予測結果を取得するものであることを特徴とする。
【００１３】
本発明の第５のクラスタシステムの性能予測装置は、第４のクラスタシステムの性能予測装置において、前記演算手段は、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求に対しては、前記スループット表の各列毎に、現状のシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、若し見つかれば、当該セルの列のサーバ台数と行のシステム稼働率の組を１つの予測結果として出力するものであることを特徴とする。
【００１４】
本発明の第６のクラスタシステムの性能予測装置は、第４のクラスタシステムの性能予測装置において、前記演算手段は、現状のシステムスループットと異なる或る値のシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求に対しては、前記スループット表の各列毎に、前記或る値のシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、若し見つかれば、当該セルの列のサーバ台数と行のシステム稼働率の組を１つの予測結果として出力するものであることを特徴とする。
【００１５】
本発明の第７のクラスタシステムの性能予測装置は、第４のクラスタシステムの性能予測装置において、前記演算手段は、前記システム構成・稼働状況収集手段により前記スループット表に記録された予測値が測定値で書き換えられた場合、影響の及ぶ他の予測値を再計算して書き換えるものであることを特徴とする。
【００１６】
本発明の第８のクラスタシステムの性能予測装置は、第２または第３のクラスタシステムの性能予測装置において、前記演算手段は、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求が入力されたとき、サーバ台数がｎでシステム稼働率がρのときのシステムスループットをλ（ｎ，ρ）、サーバ台数がｎ＋１でシステム稼働率がρ−Δρのときのシステムスループットをλ（ｎ＋１，ρ−Δρ）としたとき、λ（ｎ，ρ）とλ（ｎ＋１，ρ−Δρ）が等しくなる場合に近似的に成立する、
Δρ・ａ（ｎ，ρ）＝１・ｂ（ｎ，ρ）
但し、ａ（ｎ，ρ）はサーバ台数ｎにおける第１のシステムスループット変動量、ｂ（ｎ，ρ）は同じシステム稼働率ρを維持したままサーバをｎ＋１台にしたときの第２のシステムスループットの増加量
なる式を用いて、現状と異なるサーバ台数時のシステム稼働率を予測するものであることを特徴とする。
【００１７】
本発明の第９のクラスタシステムの性能予測装置は、第８のクラスタシステムの性能予測装置において、前記演算手段は、現状のシステムスループットより或る割合αだけ増加したシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測する要求が入力されたとき、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測した後、各サーバ台数毎に、
Δρ＝（割合α・λ）／ａ（ｎ，ρ）
なる式を用いて、システムスループットが割合αだけ増加したときのシステム稼働率の増分Δρを求めて元のシステム稼働率に加えることで予測結果を算出するものであることを特徴とする。
【００１８】
本発明の第１０のクラスタシステムの性能予測装置は、第８のクラスタシステムの性能予測装置において、前記演算手段は、現状のシステムスループットより或る量Δλだけ増加したシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測する要求が入力されたとき、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測した後、各サーバ台数毎に、
Δρ＝Δλ／ａ（ｎ，ρ）
なる式を用いて、システムスループットがΔλだけ増加したときのシステム稼働率の増分Δρを求めて元のシステム稼働率に加えることで予測結果を算出するものであることを特徴とする。
【００１９】
本発明の第１のクラスタシステムの性能予測方法は、クライアント計算機群で発生したリクエスト要求の処理を負荷分担して実行する複数の運用サーバ計算機を含むクラスタシステムの性能を予測する方法において、システム構成・稼働状況収集手段が、前記クラスタシステムのサーバ台数、システム稼働率およびシステムスループットの測定値を収集して、記憶手段に記録するステップ、演算手段が、前記記憶手段に記録された測定値を読み出して解析し、同一サーバ台数での単位システム稼働率あたりのシステムスループットの変動量である第１のシステムスループット変動量と、同じシステム稼働率を維持したままサーバ台数を増減したときのサーバ１台あたりのシステムスループットの変動量である第２のシステムスループット変動量を算出するステップ、前記演算手段が、前記算出した第１および第２のシステムスループット変動量を使用して前記クラスタシステムの性能を予測して出力するステップ、を含むことを特徴とする。
【００２０】
本発明の第２のクラスタシステムの性能予測方法は、第１のクラスタシステムの性能予測方法において、前記記憶手段は、システム稼働率と運用サーバ計算機の台数とを行と列のインデックスとして行列の交点のセルにシステムスループットを記録するスループット表を記憶し、前記システム構成・稼働状況収集手段は、前記スループット表に測定値を記録することを特徴とする。
【００２１】
本発明の第３のクラスタシステムの性能予測方法は、第２のクラスタシステムの性能予測方法において、前記記憶手段は、前記算出された第１のシステムスループット変動量を記憶する第１の表と、前記算出された第２のシステムスループット変動量を記憶する第２の表を記憶し、前記演算手段は、前記算出した第１および第２のシステムスループット変動量を前記第１および第２の表に記録することを特徴とする。
【００２２】
本発明の第４のクラスタシステムの性能予測方法は、第２または第３のクラスタシステムの性能予測方法において、前記演算手段は、前記スループット表におけるシステムスループットの測定値が記録されていないセルに記録すべきシステムスループットを予測して記録し、性能予測要求が入力されたとき、予測値の記録された前記スループット表を検索して前記性能予測要求に対する予測結果を取得することを特徴とする。
【００２３】
本発明の第５のクラスタシステムの性能予測方法は、第４のクラスタシステムの性能予測方法において、前記演算手段は、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求に対しては、前記スループット表の各列毎に、現状のシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、若し見つかれば、当該セルの列のサーバ台数と行のシステム稼働率の組を１つの予測結果として出力することを特徴とする。
【００２４】
本発明の第６のクラスタシステムの性能予測方法は、第４のクラスタシステムの性能予測方法において、前記演算手段は、現状のシステムスループットと異なる或る値のシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求に対しては、前記スループット表の各列毎に、前記或る値のシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、若し見つかれば、当該セルの列のサーバ台数と行のシステム稼働率の組を１つの予測結果として出力することを特徴とする。
【００２５】
本発明の第７のクラスタシステムの性能予測方法は、第４のクラスタシステムの性能予測方法において、前記演算手段は、前記システム構成・稼働状況収集手段により前記スループット表に記録された予測値が測定値で書き換えられた場合、影響の及ぶ他の予測値を再計算して書き換えることを特徴とする。
【００２６】
本発明の第８のクラスタシステムの性能予測方法は、第２または第３のクラスタシステムの性能予測方法において、前記演算手段は、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測する要求が入力されたとき、サーバ台数がｎでシステム稼働率がρのときのシステムスループットをλ（ｎ，ρ）、サーバ台数がｎ＋１でシステム稼働率がρ−Δρのときのシステムスループットをλ（ｎ＋１，ρ−Δρ）としたとき、λ（ｎ，ρ）とλ（ｎ＋１，ρ−Δρ）が等しくなる場合に近似的に成立する、
Δρ・ａ（ｎ，ρ）＝１・ｂ（ｎ，ρ）
但し、ａ（ｎ，ρ）はサーバ台数ｎにおける第１のシステムスループット変動量、ｂ（ｎ，ρ）は同じシステム稼働率ρを維持したままサーバをｎ＋１台にしたときの第２のシステムスループットの増加量
なる式を用いて、現状と異なるサーバ台数時のシステム稼働率を予測することを特徴とする。
【００２７】
本発明の第９のクラスタシステムの性能予測方法は、第８のクラスタシステムの性能予測方法において、前記演算手段は、現状のシステムスループットより或る割合αだけ増加したシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測する要求が入力されたとき、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測した後、各サーバ台数毎に、
Δρ＝（割合α・λ）／ａ（ｎ，ρ）
なる式を用いて、システムスループットが割合αだけ増加したときのシステム稼働率の増分Δρを求めて元のシステム稼働率に加えることで予測結果を算出することを特徴とする。
【００２８】
本発明の第１０のクラスタシステムの性能予測方法は、第８のクラスタシステムの性能予測方法において、前記演算手段は、現状のシステムスループットより或る量Δλだけ増加したシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測する要求が入力されたとき、現状と同じシステムスループットを実現するために必要なサーバ台数とそのときのシステム稼働率との関係を予測した後、各サーバ台数毎に、
Δρ＝Δλ／ａ（ｎ，ρ）
なる式を用いて、システムスループットがΔλだけ増加したときのシステム稼働率の増分Δρを求めて元のシステム稼働率に加えることで予測結果を算出することを特徴とする。
【００２９】
『作用』
サーバ計算機１台の構成時に或るシステム稼働率の状態で得られたシステムスループットとサーバ計算機２台の構成時に同じシステム稼働率の状態で得られるシステムスループットとが測定されている場合、１台から２台に変わった際のシステムスループットの増加傾向に基づいて、２台から３台に変わった際のシステムスループットの変動量、３台から４台に変わった際のシステムスループットの変動量を予測することができる。また、同じサーバ台数の状況下で異なるシステム稼働率でのシステムスループットが測定されている場合、システム稼働率の変化に伴うシステムスループットの変動量を予測することができる。そして、これら２つのシステムスループットの変動量が求まると、サーバ台数を増減したときの同じシステム稼働率におけるシステムスループットの変化や、同じシステムスループットを達成するサーバ台数とそのときのシステム稼働率の組み合わせなどのクラスタシステムの性能を予測することができる。
【発明の効果】
【００３０】
本発明によれば、クラスタシステムの性能を安価なコストで簡便に予測することができる。その理由は、システムの運用中に測定されたサーバ台数、システム稼働率およびシステムスループットを分析して、同一サーバ台数での単位システム稼働率あたりのシステムスループットの変動量である第１のシステムスループット変動量、同じシステム稼働率を維持したままサーバ台数を増減したときのサーバ１台あたりのシステムスループットの変動量である第２のシステムスループット変動量を算出し、この第１および第２のシステムスループット変動量を使用してクラスタシステムの性能を予測しており、シミュレーション方式のように、サーバで稼働するプログラムの性能、ＣＰＵの性能、業務特性を正確に見積もってモデル化する必要がないためである。
【発明を実施するための最良の形態】
【００３１】
『第１の実施の形態』
図１を参照すると、本発明の第１の実施の形態にかかるクライアント・サーバシステムは、複数のクライアント計算機１、負荷分散装置２、クラスタシステム３およびクラスタシステム構成管理装置４を備えている。
【００３２】
クライアント計算機（以下、単にクライアントと記す）１は、例えばウェブブラウザが搭載されたパーソナルコンピュータや携帯電話などであり、インターネット等のネットワークを介してクラスタシステム３にアクセスし、各種コンテンツの閲覧やプログラムのダウンロード、商品の注文などのサービスを要求する。
【００３３】
クラスタシステム３は、運用サーバ群３１と予備サーバ群３２とを備えている。運用サーバ群３１は、実際の運用に供される複数の運用サーバ計算機（以下、サーバ計算機を単にサーバと記す）３１１を疎結合したものであり、予備サーバ群３２は、必要に応じて運用サーバ群３１に追加される１以上の予備サーバ３２１の集合である。ここで、運用サーバ３１１および予備サーバ３２１は全てほぼ同一の性能を持っている。
【００３４】
負荷分散装置２は、各クライアント１からのサービス要求を、クラスタシステム３の運用サーバ群３１中の運用サーバ３１１に、ラウンドロビン方式などの適切な負荷分散アルゴリズムを使用して、ほぼ均等に振り分ける装置である。負荷分散装置２が運用サーバ群３１に含まれる運用サーバ３１１を認識する方法は任意であり、例えば特許文献１に示されるように、利用可能なサーバのアドレスを記録したアクセス振り分け先リストを持つ方法が利用できる。
【００３５】
クラスタシステム構成管理装置４は、クラスタシステム３の性能を予測する機能と、クラスタシステム３の構成を変更する機能とを有する。クラスタシステム構成管理装置４は、それ単独の装置として構成することができる以外に、クラスタシステム３や負荷分散装置２の一部としても構成できる。クラスタシステム構成管理装置４は、システム構成・稼働状況収集手段４１、演算手段４２、構成変更手段４３、記憶手段４４、表示装置４５および入力装置４６を備えている。
【００３６】
システム構成・稼働状況収集手段４１は、クラスタシステム３の運用サーバ３１１の台数、システム稼働率およびシステムスループットの測定値を定期的に収集し、記憶手段４４に蓄積する。
【００３７】
システムスループットとは、クラスタシステム３の単位時間あたりのリクエスト処理件数である。このシステムスループットをシステム構成・稼働状況収集手段４１が収集する方法は幾つか考えられる。
【００３８】
一つは、負荷分散装置２においてシステムスループットを測定し、システム構成・稼働状況収集手段４１が負荷分散装置２の測定結果を定期的に収集する方法である。
【００３９】
他の一つは、各運用サーバ３１１上で測定される完了リクエスト数をシステム構成・稼働状況収集手段４１が定期的に収集し、各運用サーバ３１１のスループットを計算し、その平均をとることによってシステム全体のスループットを計算する方法である。例えば、個々の運用サーバ３１１から図１８に示されるような表形式の稼働情報を定期的にシステム構成・稼働状況収集手段４１に送信するものとする。図１８の表は、或る運用サーバ３１１上で測定されたシステムの稼働情報を測定時刻順に並べたものであり、ＣＰＵ使用率、ディスク使用率およびネットワーク使用率の３つの使用率は５分間隔の平均値を、完了リクエスト数は５分間にリクエスト処理が完了したリクエスト数をそれぞれ示す。また、時刻は測定時刻であり、全ての運用サーバ３１１で同じになっている。このような稼働情報を全ての運用サーバ３１１から受信したシステム構成・稼働状況収集手段４１は、同じ測定時刻毎に、全ての運用サーバ３１１から受信した完了リクエスト数を集計し、クラスタシステム全体のスループットを計算する。
【００４０】
また、サーバのスループットは、「そのサーバの滞留リクエスト数／そのサーバの応答時間」で求めることができるため、各運用サーバ３１１上で測定される応答時間と滞留リクエスト数とをシステム構成・稼働状況収集手段４１が定期的に収集し、各運用サーバ３１１のスループットを計算し、その平均をとることによってシステム全体のスループットを計算する方法も利用できる。従って、完了リクエスト数の代わりにレスポンスと滞留リクエスト数を有する図１９に示すような稼働情報を各運用サーバ３１１からシステム構成・稼働状況収集手段４１へ定期的に送信するようにしても良い。
【００４１】
システム稼働率としては、すべての運用サーバ３１１のＣＰＵ使用率の平均値を用いることができる。この場合、システム構成・稼働状況収集手段４１は、各運用サーバ３１１で測定されているＣＰＵ使用率を定期的に収集し、それらの平均を計算する。例えば図１８および図１９に示すような形式の稼働情報が各運用サーバ３１１から定期的に送信される場合、同じ測定時刻毎に、全ての運用サーバ３１１から受信したＣＰＵ使用率の平均値を計算する。
【００４２】
また、システム稼働率として、各サーバのＣＰＵ使用率、ディスク使用率、ネットワーク使用率のうち、その平均使用率が最も高いものや予めユーザから指定されたものをシステム稼働率とすることもできる。この場合、システム構成・稼働状況収集手段４１は、例えば図１８や図１９に示すような形式で各運用サーバ３１１で測定されているＣＰＵ使用率、ディスク使用率およびネットワーク使用率を定期的に収集し、その平均使用率を計算し、その値が最も高いものや予めユーザから指定されたものをシステム稼働率として算出する。
【００４３】
運用サーバ３１１の台数をシステム構成・稼働状況収集手段４１が収集する方法は幾つか考えられる。一つは、運用サーバ３１１の台数は負荷分散装置２が当然認識しているので、負荷分散装置２から運用サーバ３１１の台数を収集する方法である。他の一つは、管理者から手動でサーバ台数を入力させる方法である。更に、図１８および図１９の表のように各運用サーバ３１１から稼働情報が送られてくる場合、稼働情報を送信してきた運用サーバ３１１の数をカウントする方法でも取得できる。
【００４４】
なお、図１８および図１９に示した稼働情報では、過去１５分間の稼働情報を各運用サーバ３１１からシステム構成・稼働状況収集手段４１へ送信したが、過去１時間分、１日分、１週間分あるいは１ヶ月分などのように、或る程度まとまった期間分をまとめて送信するようにしても良い。
【００４５】
記憶手段４４は、計算機の主記憶装置やハードディスク装置などのコンピュータ可読記録媒体で構成される。この記憶手段４４には、システム構成・稼働状況収集手段４１で収集された情報を蓄積するスループット表などが記憶されると共に、クラスタシステム構成管理装置４の処理過程で生成された各種のデータが記憶される。
【００４６】
図２を参照すると、記憶手段４４に記憶されるスループット表４４１は、ｍ行ｎ列の２次元テーブルであり、行のインデックスはシステム稼働率、列のインデックスはサーバ台数になっており、行と列の交点のセル（記憶領域）に当該サーバ台数および当該システム稼働率でのシステムスループットの測定値または予測値が記憶される。例えば、システム構成・稼働状況収集手段４１で収集されたサーバ台数が２台で、システム稼働率が４８％で、システムスループットがλ2-48の場合、スループット表４４１におけるシステム稼働率４８％とサーバ台数２台との組み合わせに対応するセルにシステムスループットの測定値λ2-48が書き込まれる。また、演算手段４２の予測結果が、サーバ台数が３台で、システム稼働率が５０％で、システムスループットがλ3-50の場合、スループット表４４１におけるシステム稼働率５０％とサーバ台数３台との組み合わせに対応するセルにシステムスループットの予測値が書き込まれる。スループットの値が測定値であるか、予測値であるかは、例えば１ビットのフラグを付加して区別される。また、システムスループットの測定値および予測値の何れも書き込まれていないセルはＮＵＬＬになっている。さらに、システム稼働率０％と各サーバ台数との組み合わせ、および、サーバ台数０と各システム稼働率との組み合わせに対応するセルにはスループット０が設定されている。なお、図２に示したスループット表４４１では、システム稼働率の刻み幅を１％としたが、刻み幅はそれより大きくしても良いし、小さくしても良い。また、０％から１００％までを等分する以外に、中央部分のみを１％で細かく刻み、他の部分は５％で刻むようにしても良い。さらに、５％から９０％というように限定された範囲内のシステム稼働率だけを扱うようにしても良い。
【００４７】
演算手段４２は、スループット表４４１に蓄積されたシステムスループットの測定値に基づいて、スループット表４４１におけるシステムスループットの測定値が記憶されていないセルに対応するシステムスループットを予測してスループット表４４１のＮＵＬＬのセルを予測値で埋める処理と、管理者から入力装置４６を通じて入力される性能予測要求に対してスループット表４４１に基づく性能予測を行い、結果を表示装置４５に表示する処理とを行う。
【００４８】
スループット表４４１のＮＵＬＬのセルの値を予測するために、演算手段４２は、スループット表４４１に蓄積された同一サーバ台数での複数のシステム稼働率におけるシステムスループットの測定値に基づいて、同一サーバ台数での単位システム稼働率あたりのシステムスループットの変動量である第１のシステムスループット変動量を算出し、また、同じシステム稼働率での複数のサーバ台数におけるシステムスループットの測定値に基づいて、同じシステム稼働率を維持したままサーバ台数を増減したときのサーバ１台あたりのシステムスループットの変動量である第２のシステムスループット変動量を算出する。以下、第１および第２のシステムスループット変動量の算出原理について説明する。
【００４９】
＜第１のシステムスループット変動量の算出原理＞
一般的に、サーバのＣＰＵ使用率とそのサーバでのリクエスト処理のスループットとは比例関係にある。このことは、複数のサーバのＣＰＵ使用率の平均値、つまりシステム稼働率と、その複数のサーバでのリクエスト処理のスループット、つまりクラスタシステム３のスループットとの関係についても同じと考えられる。従って、同じサーバ台数で少なくとも２つのシステム稼働率ρ１、ρ２（ρ１＜ρ２）におけるシステムスループットλ１、λ２（λ１＜λ２）が測定されていれば、第１のシステムスループット変動量は次式により算出できる。ここで、ρ１は０％である場合を含む。
第１のシステムスループット変動量＝（λ２−λ１）／（ρ２−ρ１）    …（１）
【００５０】
なお、同じサーバ台数で３つ以上のシステム稼働率ρ１、ρ２、ρ３、…、ρｎにおけるシステムスループットλ１、λ２、λ３、…、λｎが測定されている場合、その中から適当な２つのペアを選択して前記式（１）で第１のシステムスループット変動量を計算しても良いし、それぞれ異なる幾つかのペアを選択して前記式（１）で各ペア毎の第１のシステムスループット変動量を計算し、その平均値を求めるようにしても良い。
【００５１】
上記の算出方法によって、少なくとも２つのシステム稼働率におけるシステムスループットが測定されているサーバ台数毎に、１つの第１のシステムスループット変動量が求められる。この第１のシステムスループット変動量は、スループット表４４１に記録された測定値から何時でも算出できるが、算出された値を保存しておけば後の計算を省けるので効率が良い。この第１のシステムスループット変動量を蓄積する表をＡ表と呼び、記憶手段４４に記憶される。
【００５２】
図３を参照すると、Ａ表４４２の一例は、１行ｎ−１列の１次元テーブルであり、列のインデックスはサーバ台数になっており、各サーバ台数ごとの第１のシステムスループット変動量が記憶できるようになっている。図３の場合、サーバ台数１、２に対応して、ａ1、ａ2という第１のシステムスループット変動量が記録されており、サーバ台数３以上の第１のシステムスループット変動量はＮＵＬＬになっている。
【００５３】
＜第２のシステムスループット変動量の算出原理＞
或るシステム稼働率ρ１でサーバ台数が１台のときのシステムスループットλ１が測定されている場合、このλ１が、システム稼働率ρ１とサーバ台数１の組に対応する第２のシステムスループット変動量となる。また、同じシステム稼働率ρ１でサーバ台数が２台のときのシステムスループットλ２が測定されている場合、１台のときのシステムスループットとの差（λ２−λ１）が、システム稼働率ρ１とサーバ台数２の組に対応する第２のシステムスループット変動量となる。同様に、システム稼働率ρ１でサーバ台数が３台のときのシステムスループットλ３が測定されていれば、（λ３−λ２）がシステム稼働率ρ１とサーバ台数３の組に対応する第２のシステムスループット変動量となる。このように或るシステム稼働率ρ１で、サーバ台数が順次増えた際のシステムスループットが測定されていれば、それらから複数の第２のシステムスループット増加量を求めることができ、そして、この求めた複数の第２のシステムスループット増加量の変化の傾向から、さらにサーバ台数が増えていった場合の第２のシステムスループット増加量を、補間計算によって予測することができる。具体的には、システム稼働率ρ１のサーバ台数０、１、２での第２のシステムスループット変動量がｂ０、ｂ１、ｂ２として測定値から求められている場合、多項式補間、スプライン補間など予め定められた適当な関数による補間で、システム稼働率ρ１でのサーバ台数３、４、…、ｎのときの第２のシステムスループット変動量ｂ３、ｂ４、…ｂｎを求めることができる。あるいは、ｂ０／ｂ１、ｂ１／ｂ２といった比に対して多項式補間やスプライン補間などを適用して求めることも可能である。
【００５４】
上記の算出方法によって、少なくとも２つのサーバ台数におけるシステムスループットが測定されているシステム稼働率について、各サーバ台数毎の第２のシステムスループット変動量が求められる。この第２のシステムスループット変動量は、スループット表４４１に記録された測定値から何時でも算出できるが、算出された値を保存しておけば後の計算を省けるので効率が良い。この第２のシステムスループット変動量を蓄積する表をＢ表と呼び、記憶手段４４に記憶される。
【００５５】
図４を参照すると、Ｂ表４４３の一例は、ｍ−１行ｎ−１列の２次元テーブルであり、行のインデックスはシステム稼働率、列のインデックスはサーバ台数になっており、行と列の交点のセルに当該システム稼働率と当該サーバ台数との組に対応する第２のシステムスループット変動量が記憶される。図４の場合、システム稼働率１％、２％、…、５１％での各サーバ台数毎の第２のシステムスループット変動量が記録されており、システム稼働率５２％以上のシステム稼働率での各サーバ台数毎の第２のシステムスループット変動量はＮＵＬＬになっている。
【００５６】
以上のようにして、第１および第２のシステムスループット変動量が算出されると、演算手段４２は、算出された第１および第２のシステムスループット変動量を使用して、スループット表４４１におけるシステムスループットの測定値が記憶されていないセルに対応するシステムスループットを予測し、スループット表４４１を完成させる。そして、この完成させたスループット表４４１を参照して、入力装置４６から入力される性能予測要求を処理する。また演算手段４２は、システム構成・稼働状況収集手段４１によるスループット表４４１への新たな測定値の書き込みに連動して、影響の及ぶ予測値を再予測することで、スループット表４４１を最新の状態に維持する処理も行う。
【００５７】
構成変更手段４３は、管理者から入力装置４６を通じて入力される構成変更指示に応答して、クラスタシステム３の運用サーバ群３１のサーバ台数の増減を行う。構成変更手段４３による運用サーバ群３１のサーバ台数の増減は、特許文献１に記載されるように動的に実施するものであっても良いし、オペレータによる手動でサーバの追加あるいは削除を行うようなものであっても良い。
【００５８】
表示装置４５は、ＬＣＤなどで構成され、演算手段４２で得られた予測結果などを管理者に提示する。入力装置４６は、キーボードやマウスなどで構成され、管理者から指示やデータを入力し、演算手段４２および構成変更手段４３に伝達する。
【００５９】
次に本実施の形態の動作を説明する。
【００６０】
図１のクライアント・サーバシステムにおいて、クライアント１からリクエスト要求がクラスタシステム３に送信されると、それを負荷分散装置２が受信し、所定の負荷分散アルゴリズムに従って運用サーバ群３１の何れかの運用サーバ３１１へ送信する。リクエスト要求を受信した運用サーバ３１１は、データベースなどの必要な資源をアクセスしてリクエスト要求を処理し、結果を負荷分散装置２を通じて要求元のクライアント１へ返却する。このようにクライアント・サーバシステムが通常業務を遂行しているときに、クラスタシステム構成管理装置４のシステム構成・稼働状況収集手段４１が定期的に情報を収集し、記憶手段４４に蓄積する。このシステム構成・稼働状況収集手段４１の処理例を図５に示す。
【００６１】
図５を参照すると、システム構成・稼働状況収集手段４１は、運用サーバ群３１に含まれる運用サーバ３１１の台数、クラスタシステム３のシステム稼働率およびシステムスループットの測定値を収集する（Ｓ１０１）。次に、記憶手段４４のスループット管理表４４１に対する演算手段４２からの書き込みを禁止するために排他制御によるロックをかけ（Ｓ１０２）、測定値をスループット表４４１に記録し（Ｓ１０３）、その後、スループット管理表４４１をアンロックする（Ｓ１０４）。次に、今回の測定値の書き込みにより、スループット管理表４４１に記録されているＮＵＬＬ値または予測値を上書きした場合（Ｓ１０５でＹＥＳ）、およびスループット管理表４４１に記録されている測定値をそれとは異なる測定値で上書きした場合（Ｓ１０６でＹＥＳ）、演算手段４２に対してスループット表４４１の更新箇所情報を付加した更新通知を送出する（Ｓ１０７）。そして、一定時間だけウエイトし（Ｓ１０８）、ステップＳ１０１に戻って上述した処理と同様の処理を繰り返す。
【００６２】
演算手段４２は、システム構成・稼働状況収集手段４１によってスループット管理表４４１に或る程度の量の測定値が蓄積された後、例えば管理者によって入力装置４６から入力されるコマンドによって起動される。
【００６３】
演算手段４２は、起動されると、図６に示される処理の実行を開始する。まず、記憶手段４４のスループット表４４１をロックする（Ｓ２０１）。次に、スループット表４４１に記録された測定値に基づいて、前述した方法で第１のシステムスループット変動量を算出し、記憶手段４４のＡ表４４２に記録する（Ｓ２０２）。次に、スループット表４４１に記録された測定値に基づいて、前述した方法で第２のシステムスループット変動量を算出し、記憶手段４４のＢ表４４３に記録する（Ｓ２０３）。次に、Ａ表４４２およびＢ表４４３を使用して、スループット表４４１を予測値で埋める処理を実行し（Ｓ２０４）、その完了後にスループット表４４１をアンロックする（Ｓ２０５）。その後、演算手段４２は、入力装置４６から性能予測要求が入力されたかどうか、システム構成・稼働状況収集手段４１からスループット表４４１の更新が通知されたかどうかを監視し（Ｓ２０６、Ｓ２０７）、性能予測要求が入力された場合には、スループット表４４１の検索により性能を予測してその結果を表示装置４５に表示し（Ｓ２０８）、スループット表４４１の更新が通知された場合には、必要に応じてＡ表４４２およびＢ表４４３を更新し、スループット表４４１の予測値を更新する（Ｓ２０９）。そして、再び性能予測要求が入力されたかどうか、スループット表４４１の更新通知があったかどうかの監視処理を続ける。
【００６４】
図７に図６のステップＳ２０４の詳細を示す。以下、スループット表４４１、Ａ表４４２およびＢ表４４３が図２、図３および図４に示される内容になっている場面を想定して、スループット表４４１のＮＵＬＬ値のセルを予測値で埋め、スループット表４４１を完成させる処理について説明する。
【００６５】
まず演算手段４４は、スループット表４４１の先頭の行に注目する（Ｓ３０１）。次に、注目行にＮＵＬＬのセルがないかどうかを調べる（Ｓ３０２）。ＮＵＬＬのセルが１つもない場合、スループット表４４１の次の行に注目を移し（Ｓ３０７）、ステップＳ３０８経由でステップＳ３０２に戻る。図２を参照すると、スループット表４４１の先頭行はシステム稼働率０％の行であり、その行の各セルにはスループット０が設定されているため、先頭行に対する処理を終え、システム稼働率１％である２行目に注目が移される。
【００６６】
２行目の行はサーバ台数３以降の列のセルのスループットがＮＵＬＬになっているため（Ｓ３０２でＮＯ）、演算手段４４は、注目行に対応するＢ表４４３の行にＮＵＬＬのセルがないかどうかを調べる（Ｓ３０３）。図４を参照すると、スループット表４４１の２行目に対応するＢ表４４３の行は１行目のシステム稼働率１％の行であり、その行のすべてのセルには第２のシステムスループット変動量が書き込まれている。従って演算手段４４は、ステップＳ３０６へ進み、スループット表４４１の注目行である２行目のＮＵＬＬのセルを、Ｂ表４４３の１行目の内容に基づいて予測した予測値で埋める。具体的には、スループット表４４１のシステム稼働率１％とサーバ台数３とに対応するＮＵＬＬのセルには、同じ行のサーバ台数２に対応するスループットλ2-1に、Ｂ表４４３のシステム稼働率１％とサーバ台数３とに対応する第２のシステムスループット変動量ｂ3-1を加えた値λ3-1（＝λ2-1＋ｂ3-1）を設定する。同様に、サーバ台数４のセルにはλ4-1（＝λ3-1＋ｂ4-1）、サーバ台数５のセルにはλ5-1（＝λ4-1＋ｂ5-1）、…、サーバ台数ｎのセルにはλn-1（＝λn-1-1＋ｂn-1）をそれぞれ設定する。そして、スループット表４４１の２行目の行の処理を終え、３行目の行の処理へと移る。図２のスループット表４４１および図４のＢ表４４３の内容の場合、スループット表４４１の２行目の行に対する処理と同様の処理が、スループット表４４１のシステム稼働率５１％の行まで繰り返される。
【００６７】
次にスループット表４４１のシステム稼働率５２％の行に注目が移ると、演算手段４２は、その行にＮＵＬＬのセルがあるのでステップＳ３０２からステップＳ３０３へ進み、その行に対応するＢ表の行であるシステム稼働率５２％の行は図４を参照するとＮＵＬＬのセルで埋まっているので、ステップＳ３０４へと処理を進める。
【００６８】
ステップＳ３０４では、演算手段４２は、Ｂ表４４３の現在注目している行のＮＵＬＬのセルに対応するＡ表４４２の列の第１のシステムスループット変動量がすべてＮＵＬＬかどうかを調べ、若しすべてＮＵＬＬであれば、スループット表４４１の注目行に対する処理を終え、次の行に注目を移す。また、Ｂ表４４３の現在注目している行のＮＵＬＬのセルに対応するＡ表４４２の列の第１のシステムスループット変動量がすべてＮＵＬＬでなければ、演算手段４２は、スループット表４４１とＡ表４４２の内容に基づいてＢ表４４３のＮＵＬＬのセルの値を予測する（Ｓ３０５）。具体的には、Ｂ表４４３のシステム稼働率５２％とサーバ台数１とに対応する第２のシステムスループット変動量ｂ1-52を、スループット表４４１の１行前のシステム稼働率５１％とサーバ台数１とに対応するシステムスループットλ1-51に、Ａ表４４２のサーバ台数１に対応する第１のシステムスループット変動量ａ1を加えた値λ1-52（λ1-51＋ａ1）として算出する。同様に、Ｂ表４４３のシステム稼働率５２％とサーバ台数２とに対応する第２のシステムスループット変動量ｂ2-52を、スループット表４４１の１行前のシステム稼働率５１％とサーバ台数２とに対応するシステムスループットλ2-51に、Ａ表４４２のサーバ台数２に対応する第１のシステムスループット変動量ａ2を加えた値λ2-52（λ2-51＋ａ2）から、λ1-52を減算して算出する。算出した結果はＢ表４４３の該当セルに一時的に記録しても良いし、別途保持するようにしても良い。図３のＡ表４４２には、サーバ台数３以上のセルはＮＵＬＬなので、Ａ表に基づくＢ表のＮＵＬＬの列の値の予測はこれで終了し、次に、Ｂ表４４３のシステム稼働率５２％のサーバ台数０、１、２に対応する第２のシステムスループット変動量０、ｂ1-52、ｂ2-52に基づいて、前述したような補間処理によってサーバ台数３以上の箇所の第２のシステムスループット変動量を予測する。予測した結果はＢ表４４３の該当セルに一時的に記録しても良いし、別途保持するようにしても良い。次に演算手段４２は、こうして求めたＢ表４４３のシステム稼働率５２％の行の第２のシステムスループット変動量に基づいて、スループット表４４１のシステム稼働率５２％の行のＮＵＬＬのセルのシステムスループットを予測して書き込む。
【００６９】
図２のスループット表４４１、図３のＡ表４４２および図４のＢ表４４３の内容の場合、スループット表４４１のシステム稼働率５３％の行以降の行に対しても、システム稼働率５２％の行に対する処理と同様の処理が繰り返される。そして、ステップＳ３０８において、スループット表４４１の最後の行まで処理し終えたことを検出すると、図７の処理を終える。
【００７０】
図８に図６のステップＳ２０９の詳細を示す。演算手段４４は、システム構成・稼働状況収集手段４１から更新箇所情報を付加した更新通知を受信すると、スループット表４４１をロックし（Ｓ４０１）、まず、Ａ表４４２の内容のうち、影響の及ぶ箇所を再計算する（Ｓ４０２）。例えば、運用サーバ群３１の運用サーバ３１１の台数が２台の状態で、今まで測定実績のないシステム稼働率５２％のシステムスループットλ2-52が測定されてスループット表４４１に記録された場合、演算手段４４は、図３のＡ表４４２のサーバ台数２の箇所を影響の及ぶ箇所と判断し、前述した方法によってサーバ台数２に対応する第１のシステムスループット変動量を計算してＡ表４４２に記録する。
【００７１】
次に演算手段４４は、Ｂ表４４３の内容のうち、影響の及ぶ箇所を再計算する（Ｓ４０３）。例えば前記の例の場合、Ｂ表４４３のシステム稼働率５２％の行が影響の及ぶ範囲と判断し、システム稼働率５２％の各サーバ台数ごとの第２のシステムスループット変動量を再計算してＢ表４４３に記録する。この場合、システム稼働率５２％でサーバ台数２のときのシステムスループットは、λ2-51＋ａ2で算出せずに測定値λ2-52を使用することで、システム稼働率５２％の各サーバ台数ごとの第２のシステムスループット変動量の予測精度を高めることができる。
【００７２】
次に演算手段４４は、スループット表４４１の内容のうち、影響の及ぶ箇所のシステムスループットを再計算する（Ｓ４０５）。例えば前記の例の場合、スループット表４４１のシステム稼働率５２％以降のすべてのシステム稼働率の行のシステムスループットの予測値をすべて再計算する。
【００７３】
次に演算手段４４は、スループット表４４１をアンロックして、図８の処理を終える。
【００７４】
以上の説明では、運用サーバ群３１内の運用サーバ３１１の台数が２台の状態で、今まで測定実績のないシステム稼働率のシステムスループットが測定された場合を例に挙げたが、例えば、運用サーバ群３１の運用サーバ３１１の台数が２台から３台に変更された結果、今まで測定実績のないサーバ台数３の或るシステム稼働率のシステムスループットが測定されてスループット表４４１に記録された場合なども同様に、影響の及ぶ範囲の再計算が行われる。なお、本実施の形態では、演算量の削減を図るためにＡ表、Ｂ表およびスループット表の内容のうち、新たな測定結果が得られたことによって影響の及ぶ箇所だけを再計算しているが、システム構成・稼働状況収集手段４１から更新通知があった場合、図７に示した処理を再度最初から実行するようにしても良い。
【００７５】
次に図６のステップＳ２０８の処理について、性能予測要求を管理者から受け付けるインタフェースと共に詳細に説明する。
【００７６】
図９は表示装置４５に表示される操作画面４５１の一例を示す。画面は上下に分けられ、上側にモニタ画面４５２が表示され、下側に予測画面４５３が表示される。モニタ画面４５２には、クラスタシステム３の運用サーバ３１の現状のサーバ台数の表示欄４５２１、クラスタシステム３の現状のシステム稼働率の表示欄４５２２、およびクラスタシステム３の現状のシステムスループットの表示欄４５２３が設けられている。これらの表示欄にはシステム構成・稼働状況収集手段４１で収集されている最新のサーバ台数、システム稼働率およびシステムスループットが表示される。
【００７７】
予測画面４５３には、（１）から（９）までの合計９個の予測項目と予測ボタン４５４とが設けられている。
【００７８】
予測項目（１）は、現状のサーバ台数で、システムスループットが或る値になると、システム稼働率はどうなるかを予測する項目であり、システムスループットの値を入力欄４５５１に設定し、選択ボタン４５６１をオンし、予測ボタン４５４をオンすれば、サーバ台数表示欄４５２１に表示されている現状のサーバ台数と入力欄４５５１に設定されたシステムスループットと予測項目番号１とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、記憶手段４４に記憶されたスループット表４４１の列のうち、性能予測要求に付加されたサーバ台数に対応する列から、その要求に付加されたシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、このセルのシステム稼働率を予測結果として表示装置４５に表示する。
【００７９】
ここで、入力欄４５５１にシステムスループットの或る特定の値が入力されず、空白のままである場合、システムスループットが変数として扱われ、サーバ台数表示欄４５２１に表示されている現状のサーバ台数とシステムスループットが変数である旨と予測項目番号１とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、記憶手段４４に記憶されたスループット表４４１の列のうち、性能予測要求に付加されたサーバ台数に対応する列の内容をすべて読み出し、例えば図１０に示すように、横軸にシステムスループットを、縦軸にシステム稼働率をとったグラフ形式で、現状のサーバ台数の下でのシステムスループットとシステム稼働率との関係を表示装置４５に表示する。なお、グラフ中の×印は現状のシステム稼働率およびシステムスループットを示す。
【００８０】
予測項目（２）は、現状のサーバ台数で、システム稼働率が或る値になると、システムスループットはどうなるかを予測する項目であり、システム稼働率の値を入力欄４５５２に設定し、選択ボタン４５６２をオンし、予測ボタン４５４をオンすれば、サーバ台数表示欄４５２１に表示されている現状のサーバ台数と入力欄４５５２に設定されたシステム稼働率と予測項目番号２とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、記憶手段４４に記憶されたスループット表４４１における性能予測要求に付加されたシステム稼働率にほぼ等しいシステム稼働率の行と性能予測要求に付加されたサーバ台数に対応する列の交点のセルに記録されたシステムスループットを読み出し、これを予測結果として表示装置４５に表示する。
【００８１】
ここで、入力欄４５５２にシステム稼働率の或る特定の値が入力されず、空白のままである場合、システム稼働率が変数として扱われ、サーバ台数表示欄４５２１に表示されている現状のサーバ台数とシステム稼働率が変数である旨と予測項目番号２とを付加した性能予測要求が演算手段４２に送られ、図１０と同様なグラフが表示装置４５に表示される。
【００８２】
予測項目（３）は、現状のシステム稼働率で、システムスループットを或る値にするには、サーバが何台いるかを予測する項目であり、システムスループットの値を入力欄４５５３に設定し、選択ボタン４５６３をオンし、予測ボタン４５４をオンすれば、システム稼働率表示欄４５２２に表示されている現状のシステム稼働率と入力欄４５５３に設定されたシステムスループットと予測項目番号３とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、記憶手段４４に記憶されたスループット表４４１の行のうち、性能予測要求に付加されたシステム稼働率にほぼ等しいシステム稼働率の行から、その要求に付加されたシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、このセルの列のサーバ台数を予測結果として表示装置４５に表示する。
【００８３】
予測項目（４）は、現状のシステム稼働率で、サーバ台数を或る台数にすると、システムスループットはどうなるかを予測する項目であり、サーバ台数の値を入力欄４５５４に設定し、選択ボタン４５６４をオンし、予測ボタン４５４をオンすれば、システム稼働率表示欄４５２２に表示されている現状のシステム稼働率と入力欄４５５４に設定されたサーバ台数と予測項目番号４とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、記憶手段４４に記憶されたスループット表４４１における性能予測要求に付加されたシステム稼働率にほぼ等しいシステム稼働率の行と性能予測要求に付加されたサーバ台数に対応する列の交点のセルに記録されたシステムスループットを読み出し、これを予測結果として表示装置４５に表示する。
【００８４】
ここで、入力欄４５５４にサーバ台数が入力されず、空白のままである場合、サーバ台数が変数として扱われ、システム稼働率表示欄４５２２に表示されている現状のシステム稼働率とサーバ台数が変数である旨と予測項目番号４とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、記憶手段４４に記憶されたスループット表４４１の行のうち、性能予測要求に付加されたシステム稼働率にほぼ等しいシステム稼働率に対応する行の内容をすべて読み出し、例えば図１１に示すように、横軸にサーバ台数を、縦軸にシステムスループットをとったグラフ形式で、現状のシステム稼働率と同じシステム稼働率の下でのサーバ台数とシステムスループットとの関係を表示装置４５に表示する。なお、グラフ中の×印は現状のサーバ台数とシステムスループットを示し、○印は予測値であることを示す。
【００８５】
予測項目（５）は、現状のシステムスループットで、システム稼働率を或る値にするには、サーバは何台必要になるかを予測する項目であり、システム稼働率の値を入力欄４５５５に設定し、選択ボタン４５６５をオンし、予測ボタン４５４をオンすれば、システムスループット表示欄４５２３に表示されている現状のシステムスループットと入力欄４５５５に設定されたシステム稼働率と予測項目番号５とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、記憶手段４４に記憶されたスループット表４４１の行のうち、性能予測要求に付加されたシステム稼働率にほぼ等しいシステム稼働率の行から、その要求に付加されたシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、このセルの列のサーバ台数を予測結果として表示装置４５に表示する。
【００８６】
予測項目（６）は、現状のシステムスループットで、サーバを或る台数にすると、システム稼働率はどうなるかを予測する項目であり、サーバ台数を入力欄４５５６に設定し、選択ボタン４５６６をオンし、予測ボタン４５４をオンすれば、システムスループット表示欄４５２３に表示されている現状のシステムスループットと入力欄４５５６に設定されたサーバ台数と予測項目番号６とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、記憶手段４４に記憶されたスループット表４４１の列のうち、性能予測要求に付加されたサーバ台数の列から、その要求に付加されたシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、このセルの行のシステム稼働率を予測結果として表示装置４５に表示する。
【００８７】
ここで、入力欄４５５６にサーバ台数が入力されず、空白のままである場合、サーバ台数が変数として扱われ、システムスループット表示欄４５２３に表示されている現状のシステムスループットとサーバ台数が変数である旨と予測項目番号６とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、記憶手段４４に記憶されたスループット表４４１の各列毎に、現状のシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、若し見つかれば、当該セルの列のサーバ台数と行のシステム稼働率の組を１つの予測結果とし、すべての予測結果を表示装置４５に表示する。表示例を図１２に示す。この例では、横軸にサーバ台数を、縦軸にシステム稼働率をとったグラフ形式で、現状のシステムスループットと同じシステムスループットが得られるサーバ台数とシステム稼働率との関係を表示している。なお、グラフ中の×印は現状のサーバ台数とシステム稼働率を示す。
【００８８】
予測項目（７）は、システムスループットを或る値にするために必要なサーバ台数とそのときのシステム稼働率を予測する項目であり、システムスループットを任意に指定できる点が予測項目（６）でサーバ台数を変数にする場合と相違する。希望するシステムスループットの値を入力欄４５５７に設定し、選択ボタン４５６７をオンし、予測ボタン４５４をオンすれば、入力欄４５５７に設定されたシステムスループットと予測項目番号７とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、記憶手段４４に記憶されたスループット表４４１の各列毎に、性能予測要求に付加されたシステムスループットにほぼ等しいシステムスループットを記録したセルを検索し、若し見つかれば、当該セルの列のサーバ台数と行のシステム稼働率の組を１つの予測結果とし、すべての予測結果を表示装置４５に表示する。表示例を図１３に示す。この例では、横軸にサーバ台数を、縦軸にシステム稼働率をとったグラフ形式で、指定されたシステムスループットが得られるサーバ台数とシステム稼働率との関係を表示している。
【００８９】
予測項目（８）は、サーバを或る台数にすると、システム稼働率とシステムスループットの関係はどうなるかを予測する項目であり、サーバ台数を任意に指定できる点が予測項目（１）でシステムスループットを変数にする場合および予測項目（２）でシステム稼働率を変数にする場合と相違する。希望するサーバ台数を入力欄４５５８に設定し、選択ボタン４５６８をオンし、予測ボタン４５４をオンすれば、入力欄４５５８に設定されたサーバ台数と予測項目番号８とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、記憶手段４４に記憶されたスループット表４４１の列のうち、性能予測要求に付加されたサーバ台数に対応する列の内容をすべて読み出し、例えば図１０に示したグラフと同様に、横軸にシステムスループットを、縦軸にシステム稼働率をとったグラフ形式で、指定されたサーバ台数の下でのシステムスループットとシステム稼働率との関係を表示装置４５に表示する。
【００９０】
予測項目（９）は、システム稼働率を或る値に維持する場合、サーバ台数とシステムスループットの関係はどうなるかを予測する項目であり、システム稼働率を任意に指定できる点が予測項目（４）でサーバ台数を変数にする場合と相違する。希望するシステム稼働率を入力欄４５５９に設定し、選択ボタン４５６９をオンし、予測ボタン４５４をオンすれば、入力欄４５５９に設定されたシステム稼働率と予測項目番号９とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、記憶手段４４に記憶されたスループット表４４１の行のうち、性能予測要求に付加されたシステム稼働率にほぼ等しいシステム稼働率に対応する行の内容をすべて読み出し、例えば図１１に示したグラフと同様に、横軸にサーバ台数を、縦軸にシステムスループットをとったグラフ形式で、指定されたシステム稼働率と同じシステム稼働率の下でのサーバ台数とシステムスループットとの関係を表示装置４５に表示する。
【００９１】
次に本実施の形態の効果を説明する。
【００９２】
本実施の形態によれば、クラスタシステムの性能を安価なコストで簡便に予測することができる。その理由は、システムの運用中に測定されたサーバ台数、システム稼働率およびシステムスループットを分析して、同一サーバ台数での単位システム稼働率あたりのシステムスループットの変動量である第１のシステムスループット変動量、同じシステム稼働率を維持したままサーバ台数を増減したときのサーバ１台あたりのシステムスループットの変動量である第２のシステムスループット変動量を算出し、この第１および第２のシステムスループット変動量を使用してクラスタシステムの性能を予測しており、シミュレーション方式のように、サーバで稼働するプログラムの性能、ＣＰＵの性能、業務特性（リクエスト処理に必要となるＣＰＵ時間やディスクアクセス時間など）を正確に見積もってモデル化する必要がないためである。
【００９３】
また本実施の形態によれば、サーバ台数とシステム稼働率との組み合わせ毎にシステムスループットを保持するセルを有するスループット表に測定結果を蓄積し、測定結果が得られていないセルのシステムスループットは第１および第２のシステムスループット変動量に基づいて予測してスループット表を完成させるため、性能予測時に特別な計算を行わなくてもスループット表の検索だけで性能予測が可能になる。
【００９４】
また本実施の形態によれば、スループット表の完成後に新たな測定値が得られて予測値が書き換えられた場合、この新たな測定値によって影響の及ぶ予測値を再計算するため、システムの運用の継続につれて性能予測の精度が向上する。
【００９５】
また本実施の形態によれば、予測項目（６）でサーバ台数を変数にする場合に得られる図１２のグラフによって、現状のシステムスループットと同じシステムスループットが得られるサーバ台数とシステム稼働率との関係を知ることができるため、クラスタシステム３のシステム稼働率が高くなり過ぎたり、逆に低くなり過ぎた時、現状と同じスループットを達成しながらシステム稼働率を適正な範囲にするために必要なサーバの追加台数や削減台数を求めることができ、構成変更手段４３を使用して、最適な台数のサーバを備えた構成へ即変更することができる。
【００９６】
また本実施の形態によれば、予測項目（７）で得られる図１３のグラフによって、現状のシステムスループットが仮に幾らか増加した場合や減少した場合を想定し、現状のサーバ台数のままではシステム稼働率はどのように変化するかを知ることができ、そして同時に、変化後のシステム稼働率が高くなり過ぎたり、逆に低くなり過ぎる場合に、そのスループットを達成しながらシステム稼働率を適正な範囲にするために必要なサーバの追加台数や削減台数を事前に求めることができる。
【００９７】
『第２の実施の形態』
次に本発明の第２の実施の形態について詳細に説明する。前述した第１の実施の形態では、予測値で埋めたスループット表４４１を使用して予測を行ったが、本実施の形態は基本的にスループット表４４１には測定値だけを蓄積し、測定値に基づいて算出した第１および第２のシステムスループット変動量を使って性能予測値を適宜計算して算出する。
【００９８】
本実施の形態にかかるクライアント・サーバシステムの全体構成は、図１に示される第１の実施の形態とほぼ同じであり、主にシステム構成・稼働状況収集手段４１と演算手段４２の機能が相違する。以下、相違点を中心に説明する。
【００９９】
図１４に本実施の形態におけるシステム構成・稼働状況収集手段４１の処理例を示す。図５に示される第１の実施の形態との相違点はステップＳ１０５’である。この相違点は、本実施の形態では、スループット表４４１に予測値が記録されないことによる。
【０１００】
図１５に本実施の形態における演算手段４２の処理例を示す。図６に示される第１の実施の形態との相違点はステップＳ２０４が省略されていることと、ステップＳ２０８’およびＳ２０９’である。この相違点は、本実施の形態では、スループット表４４１を予測値で埋めず、算出式を用いて性能を予測することによる。
【０１０１】
図１６は本実施の形態において表示装置４５に表示される操作画面４５１の一例を示す。図９に示される第１の実施の形態の操作画面と同様に、上側にモニタ画面４５２が表示され、下側に予測画面４５３が表示され、モニタ画面４５２上に、現状のサーバ台数の表示欄４５２１、現状のシステム稼働率の表示欄４５２２、および現状のシステムスループットの表示欄４５２３が設けられている。他方、予測画面４５３には、本実施の形態の場合、（１１）と（１２）の２つの予測項目と予測ボタン４５４とが設けられている。
【０１０２】
予測項目（１１）は、現状のシステムスループットと同じシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測する項目であり、第１の実施の形態における予測項目（６）でサーバ台数を変数とした場合に対応する。選択ボタン４５７１をオンし、予測ボタン４５４をオンすれば、システムスループット表示欄４５２３に表示されている現状のシステムスループットと予測項目番号１１とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、後に詳細に説明する手順で予測を行い、結果を表示装置４５に表示する。このときの表示例を図１７に示す。この例では、横軸にサーバ台数を、縦軸にシステム稼働率をとったグラフ形式で、図中の実線に示されるように、現状のシステムスループットと同じシステムスループットが得られるサーバ台数とシステム稼働率との関係を表示している。なお、グラフ中の×印が現状のサーバ台数とシステム稼働率を示し、○印は予測を示す。
【０１０３】
予測項目（１２）は、現状のシステムスループットより或る割合だけ増加あるいは減少したシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測する項目であり、入力欄４５８１に増加または減少する割合を入力し、選択欄４５８２で増加および減少の何れか一方の種別を選択し、選択ボタン４５７２をオンし、予測ボタン４５４をオンすれば、システムスループット表示欄４５２３に表示されている現状のシステムスループットと入力欄４５８１に入力された割合と選択欄４５８２で選択された種別と予測項目番号１２とを付加した性能予測要求が演算手段４２に送られる。演算手段４２は、後に詳細に説明する手順で予測を行い、結果を表示装置４５に表示する。このときの表示例を図１７のグラフ中の破線で示す。
【０１０４】
次に、予測項目（１１）の性能予測方法について詳細に説明する。
【０１０５】
今、システムスループットをλ、サーバ台数をｎ、システム稼働率をρで表すと、システムスループットλは、ｎとρとが与えられると決定されるので、λ（ｎ，ρ）という関数の形で表現できる。また、λ（０，ρ）＝０とする。これは、サーバ台数が０台のときは、システムスループットが０になるからである。関数λに２変数関数のテイラー展開を適用すると、近似的に以下の式が成り立つ。
λ（ｎ＋１，ρ−Δρ）＝λ（ｎ，ρ）−Δρ・ａ（ｎ，ρ）＋１・ｂ（ｎ，ρ）
…（２）
ここで、
ａ（ｎ，ρ）＝｛λ（ｎ，ρ）−λ（ｎ，ρ−Δρ）｝／Δρ      …（３）
ｂ（ｎ，ρ）＝｛λ（ｎ＋１，ρ）−λ（ｎ，ρ）｝／１          …（４）
であり、Δρはシステム稼働率の変動分である。
【０１０６】
前記式３から明らかなように、ａ（ｎ，ρ）は、第１の実施の形態で説明した第１のシステムスループット変動量に相当する。また、前記式４から明らかなように、ｂ（ｎ，ρ）は、第２のシステムスループット変動量に相当する。
【０１０７】
予測項目（１１）では、現状のシステムスループットと同じシステムスループットを達成するサーバ台数とシステム稼働率の組を求める必要がある。現在のサーバ台数がｎ台で、システム稼働率がρであり、その時のシステムスループットがλ（ｎ，ρ）である。このとき、サーバを１台追加することで、システム稼働率を低下させることができる。そのシステム稼働率の低下分（絶対値）がΔρである。すなわち、サーバ台数をｎ台からｎ＋１台に変更することで、システム稼働率をρからρ−Δρに低下させることができる。そして、サーバ台数を１台増やしても、システムスループットが変わらないとすると（つまり、λ（ｎ＋１，ρ−Δρ）＝λ（ｎ，ρ））、次式が成り立つ。
Δρ・ａ（ｎ，ρ）＝１・ｂ（ｎ，ρ）      …（５）
【０１０８】
従って、前記式５を解いて、Δρの値を求めれば、現在の状態からサーバを１台増やしたときにシステム稼働率がどれだけ変化するかがわかり、現在のシステム稼働率からその変化量だけ減算すれば、サーバを１台増やしたｎ＋１システム構成時のシステム稼働率が得られる。そして、システム稼働率が求まったサーバ台数ｎ＋１の状態をあらたな出発点として、前記と同様の方法で更にサーバを１台追加したｎ＋２システム構成時のシステム稼働率を求めることができ、以下、追加可能なサーバ台数まで同様にして求めることができる。また、現在の状態からサーバを１台削減したｎ−１システム構成時のシステム稼働率も同様の論理で求めることができる。
【０１０９】
次に、予測項目（１２）の性能予測方法について詳細に説明する。
【０１１０】
システムスループットλがα％増加した場合、サーバ台数ｎを変えないとすると、システム稼働率ρの増分Δρは次式で与えられる。
Δρ＝｛（α／１００）・λ｝／ａ（ｎ，ρ）      …（６）
【０１１１】
従って、予測項目（１１）の箇所で説明した方法と同じ方法によって、現状のシステムスループットと同じシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測した後、各サーバ台数ごとに、前記式６を用いて、システムスループットλが入力欄４５８１に設定された割合だけ増加したときにシステム稼働率の増分Δρを求め、このΔρを元のシステム稼働率に加えれば、現状のシステムスループットより或る割合だけ増加したシステムスループットを実現するサーバ台数とそのときのシステム稼働率を予測することができる。増加でなく、或る割合だけ減少した場合も同様に求めることができる。
【０１１２】
以上の説明では、システムスループットの増加あるいは減少の割合を入力するものとしたが、増加あるいは減少するシステムスループット量Δλを入力欄４５８１に入力させるようにしても良い。この場合、前記式６の代わりに次式を使用すれば良い。
Δρ＝Δλ／ａ（ｎ，ρ）      …（７）
【０１１３】
次に本実施の形態の効果を説明する。
【０１１４】
本実施の形態によれば、第１の実施の形態と同様の効果が得られると共に、予測結果として出力するシステム稼働率をスループット表の刻み幅単位より小さくできる利点がある。例えば、スループット表のシステム稼働率の刻み幅を５％とすると、図１２の縦軸の目盛りも５％が最小になるが、本実施の形態におけるシステム稼働率の予測値は前記式５〜７により計算されるため、５％より小さな幅で求めることができる。
【０１１５】
なお、本実施の形態は、図１６の操作画面４５１の予測項目（１１）と予測項目（１２）について予測する例を示したが、前記式６または式７を用いれば、第１の実施の形態の図９の操作画面４５１の予測項目（１）なども予測可能である。
【０１１６】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。本発明にかかるクラスタシステム構成管理装置は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態におけるクラスタシステム構成管理装置４として機能させる。
【図面の簡単な説明】
【０１１７】
【図１】本発明の第１の実施の形態のクライアント・サーバシステムのブロック図である。
【図２】本発明の第１の実施の形態で使用するスループット表の一例を示す図である。
【図３】本発明の第１の実施の形態で使用する第１のシステムスループット変動量を記録する表の一例を示す図である。
【図４】本発明の第１の実施の形態で使用する第２のシステムスループット変動量を記録する表の一例を示す図である。
【図５】本発明の第１の実施の形態におけるクラスタシステム構成管理装置のシステム構成・稼働状況収集手段の処理例を示すフローチャートである。
【図６】本発明の第１の実施の形態におけるクラスタシステム構成管理装置の演算手段の処理例を示すフローチャートである。
【図７】ステップＳ２０４の詳細を示すフローチャートである。
【図８】ステップＳ２０９の詳細を示すフローチャートである。
【図９】本発明の第１の実施の形態におけるクラスタシステム構成管理装置の表示装置に表示される操作画面の一例を示す図である。
【図１０】現状のサーバ台数の下でのシステムスループットとシステム稼働率との関係の予測結果を示すグラフの例である。
【図１１】現状のシステム稼働率と同じシステム稼働率の下でのサーバ台数とシステムスループットとの関係の予測結果を示すグラフの例である。
【図１２】現状のシステムスループットと同じシステムスループットが得られるサーバ台数とシステム稼働率との関係の予測結果を示すグラフの例である。
【図１３】指定されたシステムスループットが得られるサーバ台数とシステム稼働率との関係の予測結果を示すグラフの例である。
【図１４】本発明の第２の実施の形態におけるクラスタシステム構成管理装置のシステム構成・稼働状況収集手段の処理例を示すフローチャートである。
【図１５】本発明の第２の実施の形態におけるクラスタシステム構成管理装置の演算手段の処理例を示すフローチャートである。
【図１６】本発明の第２の実施の形態におけるクラスタシステム構成管理装置の表示装置に表示される操作画面の一例を示す図である。
【図１７】現状のシステムスループットと同じシステムスループットが得られるサーバ台数とシステム稼働率との関係の予測結果、および現状のシステムスループットが或る割合だけ増加したシステムスループットが得られるサーバ台数とシステム稼働率との関係の予測結果を示すグラフの例である。
【図１８】各運用サーバからシステム構成・稼働状況収集手段へ送信される稼働情報の一例を示す図である。
【図１９】各運用サーバからシステム構成・稼働状況収集手段へ送信される稼働情報の別の例を示す図である。
【符号の説明】
【０１１８】
１…クライアント
２…負荷分散装置
３…クラスタシステム
３１…運用サーバ群
３１１…運用サーバ
３２…予備サーバ群
３２１…予備サーバ
４…クラスタシステム構成管理装置
４１…システム構成・稼働状況収集手段
４２…演算手段
４３…構成変更手段
４４…記憶手段
４５…表示装置
４６…入力装置
【図１】
2007128382.tif 000003
【図２】
2007128382.tif 000004
【図３】
2007128382.tif 000005
【図４】
2007128382.tif 000006
【図５】
2007128382.tif 000007
【図６】
2007128382.tif 000008
【図７】
2007128382.tif 000009
【図８】
2007128382.tif 000010
【図９】
2007128382.tif 000011
【図１０】
2007128382.tif 000012
【図１１】
2007128382.tif 000013
【図１２】
2007128382.tif 000014
【図１３】
2007128382.tif 000015
【図１４】
2007128382.tif 000016
【図１５】
2007128382.tif 000017
【図１６】
2007128382.tif 000018
【図１７】
2007128382.tif 000019
【図１８】
2007128382.tif 000020
【図１９】
2007128382.tif 000021