(57)【要約】【課題】Ｗｅｂシステムの最大スループットを効率よく求める最大スループット評価システムを提供する。【解決手段】評価対象装置へ課す負荷量の範囲を示す計測区間のうちから実際に評価対象装置に課すべき計測負荷量を決定する負荷量設定部と、計測負荷量を評価対象装置へ課して評価対象装置のスループットを計測するスループット計測部と、計測負荷量における評価対象装置のスループットが計測区間の始点の負荷量における評価対象装置のスループットから線形に増加しているか否かに基づいて計測区間の範囲を減縮する線形性判定部と、計測区間が所定の範囲により示される許容誤差以下である場合に、計測区間の始点の負荷量における評価対象装置のスループットを評価対象装置の最大スループットとして出力する収束判定部とを備える。【選択図】図２
2011107862.tif 000002
【特許請求の範囲】
【請求項１】
評価対象装置へ課す負荷量の範囲を示す計測区間のうちから実際に評価対象装置に課すべき計測負荷量を決定する負荷量設定部と、
前記計測負荷量を前記評価対象装置へ課して前記評価対象装置のスループットを計測するスループット計測部と、
前記計測負荷量における前記評価対象装置のスループットが前記計測区間の始点の負荷量における前記評価対象装置のスループットから線形に増加しているか否かに基づいて前記計測区間の範囲を減縮する線形性判定部と、
前記計測区間が所定の範囲により示される許容誤差以下である場合に、前記計測区間の始点の負荷量における前記評価対象装置のスループットを前記評価対象装置の最大スループットとして出力する収束判定部と
を備える最大スループット評価システム。
【請求項２】
請求項１に記載の最大スループット評価システムであって、
前記線形性判定部は、前記計測負荷量における前記評価対象装置のスループットが前記計測区間の始点の負荷量における前記評価対象装置のスループットから線形に増加している場合に前記計測区間の始点の負荷量を前記計測負荷量へ更新し、前記計測負荷量における前記評価対象装置のスループットが前記計測区間の始点の負荷量における前記評価対象装置のスループットから線形に増加していない場合に前記計測区間の終点の負荷量を前記計測負荷量へ更新することで前記計測区間の範囲を減縮する
最大スループット評価システム。
【請求項３】
請求項１または請求項２に記載の最大スループット評価システムであって、
前記負荷量設定部は、前記計測区間の中間値に対応する負荷量を前記計測負荷量と決定する
最大スループット評価システム。
【請求項４】
請求項１から請求項３までのいずれかに記載の最大スループット評価システムであって、
前記線形性判定モジュールは、前記計測負荷量における前記評価対象装置のスループットが前記計測区間の始点の負荷量における前記評価対象装置のスループットから線形に増加しているとしたときに前記計測負荷量における前記評価対象装置のスループットが含まれるべき所定の誤差範囲を示すスループット許容誤差に、前記計測負荷量における前記評価対象装置のスループットが含まれるか否かに基づいて前記計測区間の範囲を減縮する
最大スループット評価システム。
【請求項５】
請求項４に記載の最大スループット評価システムであって、
前記線形性判定モジュールは、前記スループット許容誤差が割合で与えられる場合には、前記計測区間の始点の負荷量をＬ、前記計測負荷量をＭ、前記計測区間の始点Ｌの負荷量における前記評価対象装置のスループットをＴＰ（Ｌ）、前記計測負荷量Ｍにおける前記評価対象装置のスループットをＴＰ（Ｍ）、前記スループット許容誤差をＥｔとして、
ＴＰ（Ｍ）≧ＴＰ（Ｌ）＋ＴＰ（Ｌ）×（Ｍ−Ｌ）／Ｌ×（１−Ｅｔ）
に基づいて、また、スループット許容誤差が絶対値で与えられる場合には、
ＴＰ（Ｍ）≧ＴＰ（Ｌ）×（Ｍ／Ｌ）―Ｅｔ  
に基づいて、前記計測負荷量における前記評価対象装置のスループットが前記計測区間の始点の負荷量における前記評価対象装置のスループットから線形に増加しているか否かを判定する
最大スループット評価システム。
【請求項６】
請求項１から請求項５までのいずれかに記載の最大スループット評価システムであって、
所定の方法により選択された複数の負荷量における前記スループットを計測して、前記複数の負荷量における前記スループットが線形に増加しなくなった区間を、前記計測区間の初期値として決定する初期計測区間取得部
をさらに備える最大スループット評価システム。
【請求項７】
請求項１から請求項６までに記載の最大スループット評価システムにおいて、前記負荷量設定部と、前記スループット計測部と、前記線形性判定部と、前記収束判定部とを備える最大スループット評価装置。
【請求項８】
請求項１から請求項６までに記載の最大スループット評価システムにおいて、前記負荷量設定部と、前記スループット計測部と、前記線形性判定部と、前記収束判定部と、前記初期計測区間取得部とを備える最大スループット評価装置。
【請求項９】
評価対象装置へ課す負荷量の範囲を示す計測区間のうちから実際に評価対象装置に課すべき計測負荷量を決定するステップと、
前記計測負荷量を前記評価対象装置へ課して前記評価対象装置のスループットを計測するステップと、
前記計測負荷量における前記評価対象装置のスループットが前記計測区間の始点の負荷量における前記評価対象装置のスループットから線形に増加しているか否かに基づいて前記計測区間の範囲を減縮するステップと、
前記計測区間が所定の範囲により示される許容誤差以下である場合に前記計測区間の始点の負荷量における前記評価対象装置のスループットを前記評価対象装置の最大スループットとして出力するステップと
を備える最大スループット評価方法。
【請求項１０】
請求項９に記載の最大スループット評価方法であって、前記計測区間の範囲を減縮するステップは、
前記計測負荷量における前記評価対象装置のスループットが前記計測区間の始点の負荷量における前記評価対象装置のスループットから線形に増加している場合に前記計測区間の始点の負荷量を前記計測負荷量へ更新し、前記計測負荷量における前記評価対象装置のスループットが前記計測区間の始点の負荷量における前記評価対象装置のスループットから線形に増加していない場合に前記計測区間の終点の負荷量を前記計測負荷量へ更新することで前記計測区間の範囲を減縮するステップ
を含む最大スループット評価方法。
【請求項１１】
請求項９または請求項１０に記載の最大スループット評価方法であって、前記計測負荷量を決定するステップは、
前記計測区間の中間値に対応する負荷量を前記計測負荷量と決定するステップ
を含む最大スループット評価方法。
【請求項１２】
請求項９から請求項１１までのいずれかに記載の最大スループット評価方法であって、前記計測区間の範囲を減縮するステップは、
前記計測負荷量における前記評価対象装置のスループットが前記計測区間の始点の負荷量における前記評価対象装置のスループットから線形に増加しているとしたときに前記計測負荷量における前記評価対象装置のスループットが含まれるべき所定の誤差範囲を示すスループット許容誤差に、前記計測負荷量における前記評価対象装置のスループットが含まれるか否かに基づいて前記計測区間の範囲を減縮するステップ
を含む最大スループット評価方法。
【請求項１３】
請求項１２に記載の最大スループット評価方法であって、前記計測区間の範囲を減縮するステップは、
前記スループット許容誤差が割合で与えられる場合には、前記計測区間の始点の負荷量をＬ、前記計測負荷量をＭ、前記計測区間の始点Ｌの負荷量における前記評価対象装置のスループットをＴＰ（Ｌ）、前記計測負荷量Ｍにおける前記評価対象装置のスループットをＴＰ（Ｍ）、前記スループット許容誤差をＥｔとして、
ＴＰ（Ｍ）≧ＴＰ（Ｌ）＋ＴＰ（Ｌ）×（Ｍ−Ｌ）／Ｌ×（１−Ｅｔ）
に基づいて、また、スループット許容誤差が絶対値で与えられる場合には、
ＴＰ（Ｍ）≧ＴＰ（Ｌ）×（Ｍ／Ｌ）―Ｅｔ  
に基づいて、前記計測負荷量における前記評価対象装置のスループットが前記計測区間の始点の負荷量における前記評価対象装置のスループットから線形に増加しているか否かを判定するステップ
を含む最大スループット評価方法。
【請求項１４】
請求項９から請求項１３までのいずれかに記載の最大スループット評価方法であって、
所定の方法により選択された複数の負荷量における前記スループットを計測するステップと、
前記複数の負荷量における前記スループットが線形に増加しなくなった区間を、前記計測区間の初期値として決定するステップと
をさらに備える最大スループット評価方法。
【請求項１５】
請求項９から請求項１４までのいずれかに記載の最大スループット評価方法をコンピュータに実行させる最大スループット評価プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂシステムの最大スループットを評価する最大スループット評価システムに関する。
【背景技術】
【０００２】
Ｗｅｂシステムの性能評価システムが知られている。通信の高速化やインターネットの普及に伴い、ネットワーク上に多数のＷｅｂシステムが接続されて、様々なサービスが提供されている。このようなＷｅｂシステムは、多数の利用者が同時に利用することも多い。そのため、Ｗｅｂシステムの性能を効率よく評価することが求められている。
【０００３】
特許文献１は、Ｗｅｂシステムの性能評価を簡単かつ効率的に行うことが可能であり、また当該評価を反映してミドルウェア等を自動的に設定することが可能なＷｅｂシステムの性能評価システムを開示している。特許文献１のＷｅｂシステム性能評価システムは、データベースと、測定手段と、制御手段とを備える。データベースは、性能評価すべきＷｅｂシステムの構成に関する設定情報、測定に係る仕様に関する情報、ボトルネック判断基準に関する情報及びボトルネック回避候補に関する情報を保存する。測定手段は、Ｗｅｂシステムに接続される複数のクライアントを実現して外部から取り込んだ性能測定対象に対して負荷を課してボトルネックを含むＷｅｂシステムの性能に関する情報を測定する。制御手段は、Ｗｅｂシステムから性能測定に係る情報の採取と、データベースから性能測定に必要な情報の取り出しと、ボトルネックを含むＷｅｂシステムの性能評価結果の出力を制御する。特許文献１のＷｅｂシステムの性能評価システムは、測定対象のコンピュータに負荷をかけた際のハードウェアリソース値を採取し、リソース値に関する閾値と比較して、ボトルネックとなっているリソースを特定する。特許文献１のＷｅｂシステムの性能評価システムによれば、性能評価に関する専門的な知識や環境を必要としないで、Ｗｅｂシステムの性能評価を得ることが可能となる。
【０００４】
また、ある区間において単峰性を有する１変数の関数に対して、その区間の最大値、あるいは最小値を効率的に求める方法として黄金分割法が知られている（非特許文献１）。ここで、単峰性を有する関数とは、関数を図示したときに山（最大値）や谷（最小値）が一つしか現れない関数である。黄金分割法による最大値の算出は、次の手順で行われる。
【０００５】
ここでは、区間（ａ，ｂ）において、単峰性の関数ｆの最大値を求めることを考える。黄金分割法では、まず、区間（ａ，ｂ）に２点ｃとｄとをとる。なお、ａ＜ｃ＜ｄ＜ｂである。次に、ｆ（ｃ）とｆ（ｄ）を比較する。その結果、ｆ（ｃ）＜ｆ（ｄ）である場合、区間（ａ，ｃ）に最大値があると仮定すると、単峰性の仮定に矛盾して山が２つあることになってしまう。そのため、区間（ｃ，ｂ）に最大値があると判断できる。
【０００６】
次に、同様に区間（ｃ，ｂ）に２点をとり、最大値が存在する区間を絞り込んでいく。区間にとる２つの点のうち、小さいほうを黄金比１：（１＋√５）／２の点に、大きいほうを（１＋√５）／２：１）の点にすると、最も収束が早いことが知られている。絞込みを続けて、２点ｊとｋの距離が十分小さくなると、このときのｆ（ｊ）あるいはｆ（ｋ）の値を関数ｆの最大値とみなすことができる。このように、黄金分割法により単峰性を有する関数の最大値を求めることができる。
【０００７】
しかし、特許文献１のＷｅｂシステムの性能評価システムでは、多数の統計を行わなければ、同時接続クライアント数とスループットとの関係がわからない。そのため、Ｗｅｂシステムの最大スループットを求めるのに時間がかかってしまう。また、非特許文献１の黄金分割法は、１回の絞込みによる区間の削減率が「０．６１８」であり、二分法や、二分探索法の削減率「０．５」に比べて効率が落ちる。
【０００８】
この他、特許文献２、特許文献３は、システムの性能評価に関連する技術を開示している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−１３１９０７号公報
【特許文献２】特開２００６−０３１１７８号公報
【特許文献３】特許第３９８７３３３号公報
【非特許文献】
【００１０】
【非特許文献１】「Ｃ言語によるアルゴリズム事典」、奥村晴彦、技術評論社、１９９１年、ｐｐ．１８−１９
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、Ｗｅｂシステムの最大スループットを効率よく求める最大スループット評価システムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の最大スループット評価システムは、評価対象装置へ課す負荷量の範囲を示す計測区間のうちから実際に評価対象装置に課すべき計測負荷量を決定する負荷量設定部と、計測負荷量を評価対象装置へ課して評価対象装置のスループットを計測するスループット計測部と、計測負荷量における評価対象装置のスループットが計測区間の始点の負荷量における評価対象装置のスループットから線形に増加しているか否かに基づいて計測区間の範囲を減縮する線形性判定部と、計測区間が所定の範囲により示される許容誤差以下である場合に、計測区間の始点の負荷量における評価対象装置のスループットを評価対象装置の最大スループットとして出力する収束判定部とを備える。
【００１３】
本発明の最大スループット評価装置は、上述の最大スループット評価システムにおいて、負荷量設定部と、スループット計測部と、線形性判定部と、収束判定部とを備える。
【００１４】
本発明の最大スループット評価方法は、評価対象装置へ課す負荷量の範囲を示す計測区間のうちから実際に評価対象装置に課すべき計測負荷量を決定するステップと、計測負荷量を評価対象装置へ課して評価対象装置のスループットを計測するステップと、計測負荷量における評価対象装置のスループットが計測区間の始点の負荷量における評価対象装置のスループットから線形に増加しているか否かに基づいて計測区間の範囲を減縮するステップと、計測区間が所定の範囲により示される許容誤差以下である場合に計測区間の始点の負荷量における評価対象装置のスループットを評価対象装置の最大スループットとして出力するステップとを備える。
【００１５】
本発明の最大スループット評価プログラムは、上述の最大スループット評価方法をコンピュータに実行させる。
【発明の効果】
【００１６】
本発明によれば、Ｗｅｂシステムの最大スループットを効率よく求める最大スループット評価システムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】Ｗｅｂシステムにおける負荷量とスループットの一般的な関係を示す図である。
【図２】本実施形態における最大スループット評価システムの構成を示す図である。
【図３】本実施形態における最大スループット評価システムの動作フローを示す図である。
【発明を実施するための形態】
【００１８】
添付図面を参照して、本発明の実施形態による最大スループット評価システムを以下に説明する。
【００１９】
［概要］
はじめに、本発明の最大スループット評価システムの目的は、Ｗｅｂシステムの最大スループットを求めることにある。スループットとは、評価対象のＷｅｂシステムよって処理される単位時間（毎秒または毎分）あたりのリクエスト数を表す。Ｗｅｂシステムの最大スループットを求めるには、Ｗｅｂシステムに適切な量の負荷をかける必要がある。以下において、Ｗｅｂシステムに負荷をかけてＷｅｂシステムの性能を評価する作業を負荷テストと呼ぶ。また、負荷量とは、リクエストの到着量、すなわち、Ｗｅｂシステムが受け取る単位時間（毎秒または毎分）あたりのリクエスト数を表す。
【００２０】
ここで、スループットは、Ｗｅｂシステムの一部として稼動するＷｅｂサーバや、アプリケーションサーバ、及びクライアントによって直接計測し得るが、負荷量を直接計測することは原理的に困難である。なぜなら、Ｗｅｂシステムに到着しただけであって、未だ処置が開始されていないリクエストを認識する主体が存在しないからである。そのため、Ｗｅｂシステムの負荷テストを行う際には、リクエストを発行するクライアント側の発行リクエスト数や、スレッド数、プロセス数、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）コネクション数、あるいはクライアントが模しているユーザの人数等が負荷量として用いられる。
【００２１】
図１は、Ｗｅｂシステムにおける負荷量とスループットの一般的な関係を示す図である。図１のグラフは、横軸に負荷量をとり、縦軸にスループットをとったグラフである。Ｗｅｂシステムは、計算機の備えるリソースの量や、アプリケーションの特性によって最大性能、すなわち最大スループットが決定される。負荷量を「０」から少しずつ増加させていくと、最大スループットの値まではほぼ線形にスループットが増加する。これは、計算機に到達したリクエストが全て処理されていることを示している。
【００２２】
ここで、負荷量が、Ｗｅｂシステムの最大スループットを超えたときを考える。Ｗｅｂシステムは、最大スループット以上のリクエストを受信しても、最大スループット以上のリクエストに対する処理は行えない。そのため、Ｗｅｂシステムのスループットは、頭打ちとなる。図１において負荷量ｍは、Ｗｅｂシステムの最大スループットｔｐに対応する負荷量である。このとき、Ｗｅｂシステムに到着したリクエストは、全て処理されずにＷｅｂシステムのバッファに滞留し、やがて、システムに重大な障害をもたらすか、あるいは通信等の失敗によって破棄される。負荷量が最大スループットを大きく超えると、バッファや接続の管理に余計な処理が必要なるため、本来の仕事であるリクエストの処理ができなくなり、スループットが低下していく。この場合におけるスループットの低下の有無や、低下のペースは、Ｗｅｂシステムの構成やアプリケーションの特性に依存し、また、負荷テスト時においては、クライアントの動作にも依存する。
【００２３】
従って、最大スループットを求めるためには、最大スループットが得られる必要最小限の負荷量を見極める必要がある。この負荷量を、以下において、耐負荷量と呼ぶことにする。本実施形態の最大スループット評価システムは、この耐負荷量を効率的に探索することによりＷｅｂシステムの最大スループットを評価する。
【００２４】
［構成の説明］
次に、図２を参照して、本実施形態における最大スループット評価システムの構成の説明を行う。図２は、本実施形態における最大スループット評価システムの構成を示す図である。
【００２５】
本実施形態の最大スループット評価システムは、処理装置１と、記憶装置２と、入力装置３と、通信装置４と、出力装置５と、評価対象Ｗｅｂシステム１００とを備える。なお、処理装置１と、記憶装置２と、入力装置３と、通信装置４と、出力装置５とは、一般に、これらの構成を備えた最大スループット評価装置として実現される。以下に、各構成を説明する。
【００２６】
まず、評価対象Ｗｅｂシステム１００は、ウェブサーバシステムに例示される。評価対象Ｗｅｂシステム１００は、単独のサーバにより構成されても良いし、複数のサーバにより構成されても良い。評価対象Ｗｅｂシステム１００が、複数のサーバにより構成される場合には、各々のサーバは、物理的に複数の装置により構築されても良いし、仮想的に単独の装置により構築されても良い。評価対象Ｗｅｂシステム１００は、通信装置４とインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に例示されるネットワークを介して接続されており、通信装置４を介して処理装置１と通信を行うことが可能である。
【００２７】
次に、入力装置３は、キーボードや、マウスや、メディアドライブ等に例示される。通信装置４は、ネットワークと接続される通信インターフェースに例示される。出力装置５は、ディスプレイに例示される。入力装置３、通信装置４、及び出力装置５は、処理装置１と接続される。なお、前述の通り、通信装置４は、評価対象Ｗｅｂシステム１００とネットワークを介して接続される。
【００２８】
次に、記憶装置２は、ハードディスクや、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に例示される。記憶装置２は、最大スループット評価装置１００の機能を実現する処理用プログラムやデータを記憶している。処理用プログラムは、典型的には、コンピュータの読み取り可能な記憶媒体に記録されている。記憶媒体は、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）や、フラッシュメモリを搭載したＵＳＢメモリに例示される。この場合、処理用プログラムは、記憶媒体から記憶装置２へ導入される。また、記憶装置２は、処理装置１と接続される。
【００２９】
次に、記憶装置２は、スループット許容誤差記憶部２１と、計測結果記憶部２２と、負荷量許容誤差記憶部２３とを備える。スループット許容誤差記憶部２１は、スループットに対する許容誤差Ｅｔを記憶する。計測結果記憶部２２は、耐負荷量を含む区間を記憶する。負荷量許容誤差記憶部２３は、負荷量に対する許容誤差Ｅｄを記憶する。
【００３０】
次に、処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に例示される。処理装置１は、記憶装置２に記憶される処理用プログラムを読み込んで、実行することによって最大スループット評価装置１００の機能を実行する。処理装置１は、許容誤差取得モジュール１１と、初期計測区間取得モジュール１２と、スループット計測モジュール１３と、線形性判定モジュール１４と、負荷量設定モジュール１５と、収束判定モジュール１６とを備える。これら、処理装置１が備える各モジュールは、処理装置１が処理用プログラムを実行することによって実現される。
【００３１】
以上が、本実施形態における最大スループット評価システムの構成の説明である。
【００３２】
［動作の説明］
次に、図３を参照して、上述のような構成である本実施形態における最大スループット評価システムの動作方法の説明を行う。図３は、本実施形態における最大スループット評価システムの動作フローを示す図である。
【００３３】
（ステップＳ０１）
まず、許容誤差取得モジュール１１は、負荷量とスループットに関する許容誤差を取得する。許容誤差取得モジュール１１は、負荷量に関する許容誤差（以下、負荷量許容誤差）Ｅｄと、スループットに関する許容誤差（以下、スループット許容誤差）Ｅｔとを取得する。許容誤差取得モジュール１１は、負荷量許容誤差Ｅｄを負荷量許容誤差記憶部２３へ記憶させ、スループット許容誤差Ｅｔをスループット許容誤差記憶部２１へ記憶させる。なお、負荷量許容誤差Ｅｄ、及びスループット許容誤差Ｅｔは、１０や２０といった絶対値で与えられても良いし、５％といった割合で与えられても良い。また、負荷量許容誤差Ｅｄ、及びスループット許容誤差Ｅｔは、同じ値が用いられても良いし、異なる値が用いられても良い。加えて、負荷量許容誤差Ｅｄ、及びスループット許容誤差Ｅｔは、入力装置３を介して外部から入力されても良いし、予め、処理用プログラムに設定されていても良い。
【００３４】
（ステップＳ０２）
初期計測区間取得モジュール１２は、初期計測区間を取得する。初期計測区間は、耐負荷量を含む負荷量の区間である始点Ｌと終点Ｒの初期値である。初期値計測区間取得モジュール１２は、初期計測区間を計測結果記憶部２２へ記憶させる。初期計測区間取得モジュール１２は、初期計測区間を計測結果記憶部２２へ記憶させるときに、始点Ｌにおけるスループットの値を「０」として共に記憶させる。なお、初期計測区間取得モジュール１２は、予め始点Ｌにおけるスループットの値が判明している場合、始点Ｌにおけるスループットの値を「０」に換えてその値を記憶させても良い。また、初期計測区間の与え方は、例えば、始点Ｌを負荷量「０」として、終点Ｒを十分大きな値の負荷量に設定すればよい。なお、他の初期計測区間の与え方については、後述する。初期計測区間は、入力装置３を介して外部から入力されても良いし、予め、処理用プログラムに設定されていても良い。
【００３５】
（ステップＳ０３）
収束判定モジュール１６は、計測区間のサイズが負荷量許容誤差Ｅｄ以下であるか否かを判定する。収束判定モジュール１６は、計測結果記憶部２２に記憶された計測区間と、負荷量許容値誤差記憶部２３に記憶された負荷量許容誤差Ｅｄとに基づいて、計測区間のサイズが負荷量許容誤差Ｅｄ以下であるか否かを判定する。
【００３６】
このとき、収束判定モジュール１６は、負荷量許容誤差Ｅｄが５％といった割合で与えられている場合、次の数式（１）を用いて判定を行う。
Ｒ−Ｌ≦Ｌ×Ｅｄ  ・・・（１）
【００３７】
また、収束判定モジュール１６は、負荷量許容誤差Ｅｄが１０や２０といった絶対値で与えられている場合、次の数式（２）を用いて判定を行う。
Ｒ−Ｌ≦Ｅｄ  ・・・（２）
【００３８】
収束判定モジュール１６が、上記の数式（１）あるいは数式（２）を用いて判定を行った結果、数式（１）あるいは数式（２）が成立しない場合、つまり、計測区間のサイズが負荷量許容誤差Ｅｄより大きい場合、ステップＳ０４へ進む。一方、数式（１）あるいは数式（２）が成立する場合、つまり、計測区間のサイズが負荷量許容誤差Ｅｄ以下の場合、ステップＳ０９へ進む。
【００３９】
（ステップＳ０４）
負荷量設定モジュール１５は、始点Ｌと終点Ｒの中間値を負荷量Ｍとして設定する。負荷量設定モジュール１５は、ステップＳ０３の判定において計測区間のサイズが負荷量許容誤差Ｅｄより大きい場合、評価対象Ｗｅｂシステム１００のスループット計測に用いるべき負荷量Ｍを、始点Ｌと終点Ｒの中間値に対応する負荷量に設定する。
【００４０】
負荷量設定モジュール１５は、次に示す数式（３）を用いて負荷量Ｍを設定する。
負荷量Ｍ＝（Ｌ＋Ｒ）／２  ・・・（３）
【００４１】
（ステップＳ０５）
スループット計測モジュール１３は、設定された負荷量Ｍでスループットを計測する。スループット計測モジュール１３は、負荷量設定モジュール１５により設定された負荷量Ｍで評価対象Ｗｅｂシステム１００へリクエストを発行して、評価対象Ｗｅｂシステム１００のスループットを計測する。スループットの計測は、スループット計測モジュール１３が行うが、例えば、評価対象Ｗｅｂシステム１００により計測の行われた値を、スループット計測モジュール１３が取得する動作としても良い。
【００４２】
（ステップＳ０６）
線形性判定モジュール１４は、スループットが線形に増加しているか否かを判定する。線形性判定モジュール１４は、スループット計測モジュール１３により計測の行われた負荷量Ｍにおけるスループットが、計測結果記憶部２２に記憶された始点Ｌにおけるスループットに比べて線形に増加しているか否かを、スループット許容誤差記憶部２１に記憶されたスループット許容誤差Ｅｔに基づいて判定する。
【００４３】
線形性判定モジュール１４は、スループット許容誤差Ｅｔが５％のような割合で与えられる場合、次の数式（４）を用いてスループットが線形に増加しているか否かを判定する。
ＴＰ（Ｍ）≧ＴＰ（Ｌ）＋ＴＰ（Ｌ）×（Ｍ−Ｌ）／Ｌ×（１−Ｅｔ）  ・・・（４）
【００４４】
なお、数式（４）において、ＴＰ（Ｌ）は、始点Ｌにおけるスループットを表し、ＴＰ（Ｍ）は、負荷量Ｍにおけるスループットを表す。数式（４）は、始点Ｌに対応する負荷量から負荷量Ｍへ増加させた場合に期待されるスループットの増加量「ＴＰ（Ｌ）×（Ｍ−Ｌ）／Ｌ」に対して、スループット許容誤差Ｅｔの分だけ増加量が少なくても許容できることを示している。また、誤差分の「１−Ｅｔ」を、スループットの増加量「ＴＰ（Ｌ）×（Ｍ−Ｌ）／Ｌ」だけに掛け合わせているのは、後述により計測区間の削減が進んだ場合に、「１−Ｅｔ」を「ＴＰ（Ｌ）＋ＴＰ（Ｌ）×（Ｍ−Ｌ）／Ｌ」に掛け合わせていると、ＴＰ（Ｍ）がＴＰ（Ｌ）より若干低下したような場合でも、スループットが線形に増加していると誤って判定されることがあり、これを防ぐためである。
【００４５】
一方、線形性判定モジュール１４は、スループット許容誤差Ｅｔが１０や２０といった絶対値で与えられる場合、次の数式（５）を用いてスループットが線形に増加しているか否かを判定する。
ＴＰ（Ｍ）≧ＴＰ（Ｌ）×（Ｍ／Ｌ）―Ｅｔ  ・・・（５）
【００４６】
なお、数式（５）において、ＴＰ（Ｌ）は、始点Ｌにおけるスループットを表し、ＴＰ（Ｍ）は、負荷量Ｍにおけるスループットを表す。
【００４７】
線形性判定モジュール１４が、上記の数式（４）あるいは数式（５）を用いて判定を行った結果、数式（４）あるいは数式（５）が成立しない場合、つまり、スループットが線形に増加していない場合、ステップＳ０７へ進む。一方、数式（４）あるいは数式（５）が成立する場合、つまり、スループットが線形に増加している場合、ステップＳ０８へ進む。
【００４８】
（ステップＳ０７）
線形性判定モジュール１４は、計測区間の終点Ｒを計測区間の中間値である負荷量Ｍへ更新する。線形性判定モジュール１４は、ステップＳ０６の判定においてスループットが線形に増加していない場合、計測結果記憶部２２に記憶されたスループットの計測区間の終点Ｒを負荷量Ｍへ更新する。スループットが線形に増加していない場合、負荷量Ｍは耐負荷量より大きいと考えられ、耐負荷量は、計測区間の始点Ｌと負荷量Ｍとの間に存在すると考えられるからである。なお、線形性判定モジュール１４は、負荷量Ｍによるスループット計測において、評価対象Ｗｅｂシステム１００が過負荷によるエラーを出力した場合、あるいは過負荷によりダウンしてしまった場合においても、同様に終点Ｒを負荷量Ｍへ更新する。この後、ステップＳ０３へ戻り、再度、計測区間のサイズが負荷量許容誤差Ｅｄ以下であるか否かの判定が行われることになる。
【００４９】
（ステップＳ０８）
線形性判定モジュール１４は、計測区間の始点Ｌを計測区間の中間値である負荷量Ｍへ更新する。線形性判定モジュール１４は、ステップＳ０６の判定においてスループットが線形に増加している場合、計測結果記憶部２２に記憶されたスループットの計測区間の始点Ｌを負荷量Ｍへ更新する。スループットが線形に増加している場合、負荷量Ｍは耐負荷量より小さいと考えられ、耐負荷量は、負荷量Ｍと計測区間の終点Ｒとの間に存在すると考えられるからである。この後、ステップＳ０３へ戻り、再度、計測区間のサイズが負荷量許容誤差Ｅｄ以下であるか否かの判定が行われることになる。
【００５０】
（ステップＳ０９）
収束判定モジュール１６は、始点Ｌにおけるスループットを、評価対象Ｗｅｂシステム１００の最大スループットとして、出力装置５へ出力する。収束判定モジュール１６は、ステップＳ０３において計測区間のサイズが負荷量許容誤差Ｅｄ以下であると判定すると、計測結果記憶部２２に記憶された計測区間の始点Ｌの負荷量に対応するスループットを、評価対象Ｗｅｂシステム１００における最大スループットとして、出力装置５へ出力する。このように、収束判定モジュール１６は、計測区間のサイズが負荷量許容誤差Ｅｄ以下となると、計測区間が十分に小さくなったとみなして、始点Ｌにおけるスループットを評価対象Ｗｅｂシステム１００の最大スループットと決定する。これにより、本動作フローは終了となる。
【００５１】
以上が、本実施形態における最大スループット評価システムの動作方法の説明である。このように、ステップＳ０７あるいはステップＳ０８において、線形性判定モジュール１４が、負荷量の計測区間の始点Ｌ、あるいは終点Ｒを中間値Ｍにより更新する。これによって、計測区間が半分に削減される。本実施形態の最大スループット評価システムは、ステップＳ０３からステップＳ０８までを繰り返すことで計測区間が繰り返し半減されて、負荷量許容誤差Ｅｄ以下となると、つまり、計測区間が十分に小さくなると、始点Ｌにおけるスループットを最大スループットとして出力装置５へ出力する。これによって、Ｗｅｂシステムの最大スループットを効率よく求める最大スループット評価システムを提供することができる。
【００５２】
ここで、ステップＳ０２における初期区間を与える他の方法を説明する。まず、負荷量の初期値を十分小さな値、例えば「１」に設定する。次に、負荷量を等比級数的に増やすための係数を設定する。ここでは、係数を「１０」に設定したとする。これらの設定値に基づいて、負荷量を「１、１０、１００」と増加させながら、評価対象Ｗｅｂシステム１００のスループットを計測する。この計測において、スループットが線形に増加しなくなった区間を初期区間と決定する。仮に、負荷量１のときのスループットが５であり、負荷量１０のときのスループットが５０、負荷量１００のときのスループットが２３７であったとすれば、区間（１０、１００）を初期区間と決定する。区間（１０，１００）においてスループットが約１０倍に増えていないためである。また、負荷量１００のときに評価対象Ｗｅｂシステム１００が、過負荷によるエラーを応答したり、過負荷によりダウンしたりした場合も同様に考えることができる。
【００５３】
このような処理を図２の最大スループット評価システムに適用する場合を考える。まず、初期計測区間取得モジュール１２が、負荷量に対する初期値と係数とを取得する。これらの値は、入力装置３を介して外部から入力されても良いし、予め処理用プログラムに設定されていても良い。初期計測区間取得モジュール１２は、負荷量に対する初期値と係数とに基づいて、初期計測区間を設定するために計測するべき負荷量を決定する。スループット計測モジュール１３は、初期計測区間取得モジュール１２により設定された負荷量を用いて、評価対象Ｗｅｂシステム１００のスループットを計測する。線形性判定モジュール１４は、スループット計測モジュール１３により計測された評価対象Ｗｅｂシステム１００のスループットが線形に増加しているか否かを判定して初期計測区間を決定する。初期計測区間取得モジュール１２は、線形性判定モジュール１４により決定された初期計測区間を計測結果記憶部１２へ記憶させる。このようにして、前述のステップＳ０２における初期計測区間が決定されてもよい。
【００５４】
［実施例］
次に、上述した本実施形態における最大スループット評価システムの構成、及び動作方法の具体例の説明を行う。以下の説明では、評価対象Ｗｅｂシステム１００にリクエストを発行するクライアントプログラムのスレッド数を負荷量として用いる。クライアントプログラムの１スレッドは、「評価対象Ｗｅｂシステム１００にリクエストを発行し、評価対象Ｗｅｂシステム１００からレスポンスを受信した後、１秒間待機する。」という動作を一定時間繰り返し行う。並行動作するスレッドの個数を変化させることで、Ｗｅｂシステムに様々な量の負荷をかけることができる。
【００５５】
このとき、１スレッドのリクエスト発行間隔が１秒であっても、１スレッドが評価対象Ｗｅｂシステムに毎秒１リクエストを発行するわけではないので注意が必要である。リクエスト到着量は、評価対象Ｗｅｂシステム１００のレスポンスタイムやクライアントプログラムの処理効率に依存するため、１スレッドによって生成される負荷量は、毎秒１リクエストよりも小さくなる。
【００５６】
まず、許容誤差取得モジュール１１は、スループット許容誤差Ｅｔと負荷量許容誤差Ｅｄとを、共に「１０％」として、それぞれスループット許容誤差記憶部２１、及び負荷量許容誤差記憶部２３へ記憶させる（ステップＳ０１）。
【００５７】
また、初期計測区間取得モジュール１２は、初期計測区間を、始点Ｌ＝５０、終点Ｒ＝９０として、計測結果記憶部２２へ記憶させる（ステップＳ０２）。つまり、スレッド数５０から９０の間に、最大スループットが得られるポイントがあると想定して初期計測区間が設定されたといえる。なお、始点Ｌ＝５０のときの評価対象Ｗｅｂシステム１００のスループットがＴＰ（Ｌ）＝３３であることが判明しているとする。この始点Ｌ＝５０におけるスループットの情報も計測結果記憶部２２へ記憶される。
【００５８】
収束判定モジュール１６は、前述の数式（１）を用いて、計測区間のサイズが負荷量許容誤差Ｅｄ以下であるか否かを判定する（ステップＳ０３）。収束判定モジュール１６は、数式（１）より９０−５０≦５０×０．１であるため数式（１）は成立せず、計測区間のサイズが負荷量許容誤差Ｅｄ以下でないと判定する。
【００５９】
この判定を受けて、負荷量設定モジュール１５は、前述の数式（３）を用いて負荷量Ｍを設定する（ステップＳ０４）。すなわち、負荷量設定モジュール１５は、数式（３）により負荷量Ｍ＝（５０＋９０）／２＝７０であるため、負荷量Ｍ＝７０に設定する。
【００６０】
スループット計測モジュール１３は、評価対象Ｗｅｂシステム１００に対して負荷量Ｍ＝７０、すなわち、スレッド数を７０に設定した負荷を生成して、スループットを計測する（ステップＳ０５）。スループット計測モジュール１３は、この計測の結果、ＴＰ（Ｍ）＝５０を取得したとする。なお、スループット計測モジュール１３は、１回のみの計測によりスループットを取得しても良いし、複数回の計測の平均によりスループットを取得しても良い。
【００６１】
線形性判定モジュール１４は、前述の数式（４）を用いてスループットが線形に増加しているか否かを判定する（ステップＳ０６）。線形性判定モジュール１４は、５０≧３３＋３３×（７０−５０）／５０×（１−０．１）＝４４．７であり数式（４）は成立するため、スループットが線形に増加していると判定する。
【００６２】
そのため、線形性判定モジュール１４は、計測結果記憶部２２の始点Ｌを負荷量Ｍへ更新して、始点Ｌ＝７０と設定する（ステップＳ０８）。同時に線形性判定モジュール１４は、ＴＰ（Ｌ）＝５０を計測結果記憶部２２へ記憶させる。
【００６３】
この後、ステップＳ０３へ戻り、２回目のループ処理となる。そのため、収束判定モジュール１６は、前述の数式（１）を用いて、計測区間のサイズが負荷量許容誤差Ｅｄ以下であるか否かを判定する（ステップＳ０３）。収束判定モジュール１６は、数式（１）より９０−７０≦７０×０．１であるため数式（１）は成立せず、計測区間のサイズが負荷量許容誤差Ｅｄ以下でないと判定する。この判定を受けて、負荷量設定モジュール１５は、前述の数式（３）を用いて負荷量Ｍを設定する（ステップＳ０４）。すなわち、負荷量設定モジュール１５は、数式（３）により負荷量Ｍ＝（７０＋９０）／２＝８０であるため、負荷量Ｍ＝８０に設定する。
【００６４】
スループット計測モジュール１３は、評価対象Ｗｅｂシステム１００に対して負荷量Ｍ＝８０、すなわち、スレッド数を８０に設定した負荷を生成して、スループットを計測する（ステップＳ０５）。スループット計測モジュール１３は、この計測の結果、ＴＰ（Ｍ）＝５７を取得したとする。線形性判定モジュール１４は、前述の数式（４）を用いてスループットが線形に増加しているか否かを判定する（ステップＳ０６）。線形性判定モジュール１４は、５７≧５０＋５０×（８０−７０）／７０×（１−０．１）＝５６．３であり数式（４）は成立するため、スループットが線形に増加していると判定する。そのため、線形性判定モジュール１４は、計測結果記憶部２２の始点Ｌを負荷量Ｍへ更新して、始点Ｌ＝８０と設定する（ステップＳ０８）。同時に線形性判定モジュール１４は、ＴＰ（Ｌ）＝５７を計測結果記憶部２２へ記憶させる。
【００６５】
さらに、ステップＳ０３へ戻り、３回目のループ処理となる。そのため、収束判定モジュール１６は、前述の数式（１）を用いて、計測区間のサイズが負荷量許容誤差Ｅｄ以下であるか否かを判定する（ステップＳ０３）。収束判定モジュール１６は、数式（１）より９０−８０≦８０×０．１であるため数式（１）は成立せず、計測区間のサイズが負荷量許容誤差Ｅｄ以下でないと判定する。この判定を受けて、負荷量設定モジュール１５は、前述の数式（３）を用いて負荷量Ｍを設定する（ステップＳ０４）。すなわち、負荷量設定モジュール１５は、数式（３）により負荷量Ｍ＝（８０＋９０）／２＝８５であるため、負荷量Ｍ＝８５に設定する。
【００６６】
スループット計測モジュール１３は、評価対象Ｗｅｂシステム１００に対して負荷量Ｍ＝８５、すなわち、スレッド数を８５に設定した負荷を生成して、スループットを計測する（ステップＳ０５）。スループット計測モジュール１３は、この計測の結果、ＴＰ（Ｍ）＝５８を取得したとする。線形性判定モジュール１４は、前述の数式（４）を用いてスループットが線形に増加しているか否かを判定する（ステップＳ０６）。線形性判定モジュール１４は、５８≧５７＋５７×（８５−８０）／８０×（１−０．１）＝５９．７であり数式（４）は成立しないため、スループットが線形に増加していないと判定する。そのため、線形性判定モジュール１４は、計測結果記憶部２２の終点Ｒを負荷量Ｍへ更新して、終点Ｒ＝８５と設定する（ステップＳ０７）。このとき、線形性判定モジュール１４は、ＴＰ（Ｒ）＝５８を計測結果記憶部２２に記憶させても良いが、最大スループットを求めるにあたってＴＰ（Ｒ）の記憶は必ずしも必要でない。
【００６７】
そして、ステップＳ０３へ戻り、４回目のループ処理となる。そのため、収束判定モジュール１６は、前述の数式（１）を用いて、計測区間のサイズが負荷量許容誤差Ｅｄ以下であるか否かを判定する（ステップＳ０３）。収束判定モジュール１６は、数式（１）より８５−８０≦８０×０．１であり数式（１）は成立するため、計測区間のサイズが負荷量許容誤差Ｅｄ以下であると判定する。
【００６８】
この判定結果を受けて、収束判定モジュール１６は、計測結果記憶部２２に記憶されたＴＰ（Ｌ）＝５７を、評価対象Ｗｅｂシステム１００の最大スループットとして出力装置５へ出力する（ステップＳ０８）。このとき、収束判定モジュール１６は、スレッド数がＬ＝８０であることを、出力装置５へ同時に出力しても良い。このようにして、評価対象Ｗｅｂシステム１００の最大スループットが計測される。
【００６９】
なお、上述の処理の過程において、実際には、スレッド数８５のときに最も高いスループットである５８が得られており、この値を最大スループットとして出力することも可能である。しかし、スループットが線形に伸びていない範囲の負荷量は、短時間であれば評価対象Ｗｅｂシステム１００により処理が行われて真の値よりも大きなスループットが得られることもあるものの、長時間は処理し続けられない可能性が高い。そのため、本実施形態では安全を考えてＴＰ（８０）＝５７を出力することとする。なお、ＴＰ（８５）＝５８として出力を行うか否かは、最大スループット評価システムの管理者や評価者に依存する。
【００７０】
以上が、本実施形態における最大スループット評価システムの構成、及び動作方法の具体例の説明である。
【００７１】
ここまで、本実施形態の最大スループット評価システムを説明してきた。本発明の最大スループット評価システムにより、評価対象のＷｅｂシステムの最大スループットを効率よく求めることが可能となる。また、本発明の最大スループット評価システムにより、評価対象のＷｅｂシステムが処理することの可能なリクエスト数やユーザ数の見極めが可能となる。
【００７２】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解し得る様々な変更を行うことが可能である。
【符号の説明】
【００７３】
１  処理装置
２  記憶装置
３  入力装置
４  通信装置
５  出力装置
１１  許容誤差取得モジュール
１２  初期計測区間取得モジュール
１３  スループット計測モジュール
１４  線形性判定モジュール
１５  負荷量設定モジュール
１６  収束判定モジュール
２１  スループット許容誤差記憶部
２２  計測結果記憶部
２３  負荷量許容誤差記憶部
１００  評価対象Ｗｅｂシステム
【図１】
2011107862.tif 000003
【図２】
2011107862.tif 000004
【図３】
2011107862.tif 000005