(57)【要約】【課題】処理要求送信条件の再設定作業および再設定後の試験対象装置の負荷測定作業をそれぞれ不要にする。【解決手段】試験対象サーバ３００に発生した負荷を表す負荷情報を試験対象サーバ３００から取得する負荷情報取得部１０３と、負荷設定値と負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算する負荷制御部１０１と、計算された送信設定値に基づいて、該送信設定値に対応する負荷を試験対象サーバ３００において発生させるために必要な処理要求量および処理内容を送信要求として負荷発生装置２００に対して送信する送信制御部１０２と、を備えた負荷制御装置１００である。【選択図】図１
2005063222.tif 000002
【特許請求の範囲】
【請求項１】
送信要求に応じて負荷発生装置から試験対象装置に対して送信された処理要求に基づいて該試験対象装置に発生した負荷を所定の負荷設定値に制御するための負荷制御装置であって、
前記試験対象装置に発生した負荷を表す負荷情報を該試験対象装置から取得する負荷情報取得手段と、
前記負荷設定値と前記負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算する送信設定値計算手段と、
計算された送信設定値に基づいて、該送信設定値に対応する負荷を前記試験対象装置において発生させるために必要な処理要求量および処理内容を前記送信要求として前記負荷発生装置に対して送信する送信手段と、
を備えたことを特徴とする負荷制御装置。
【請求項２】
前記送信設定値計算手段は、前記負荷設定値と前記負荷情報に対応する負荷値との偏差を減少させるための送信設定値を計算する手段を備えたことを特徴とする請求項１記載の負荷制御装置。
【請求項３】
前記送信設定値計算手段は、前記負荷制御装置、前記負荷発生装置および前記試験対象装置を１つの閉ループ制御系とした場合における制御対象である試験対象装置に対する所定の伝達関数を有する補償器として機能し、前記負荷設定値と前記負荷情報に対応する負荷値との偏差および前記所定の伝達関数を用いて前記送信設定値を計算する手段を備えたことを特徴とする請求項１記載の負荷制御装置。
【請求項４】
前記所定の伝達関数は、予め設定された比例定数、積分定数および微分定数をそれぞれ含むＰＩＤ制御の伝達関数である請求項３記載の負荷制御装置。
【請求項５】
前記試験対象装置には、そのサーバの負荷情報を定期的に検知および取得し、前記負荷制御装置に対して送信する処理を該試験対象装置に実行させるための負荷検知プログラムがインストールされており、
前記負荷情報取得手段は、前記負荷検知プログラムに対して前記負荷情報の通知要求を定期的に送信する手段と、前記負荷検知プログラムに基づく前記試験対象装置の処理により該試験対象装置から定期的に送信されてきた負荷情報を受信する負荷情報受信手段とを備えたことを特徴とする請求項１乃至４の内の何れか１項記載の負荷制御装置。
【請求項６】
送信要求に応じて負荷発生装置から試験対象装置に対して送信された処理要求に基づいて該試験対象装置に発生した負荷を所定の負荷設定値に制御するための処理をコンピュータに実行させるための負荷制御用プログラムであって、
前記コンピュータに、
前記試験対象装置に発生した負荷を表す負荷情報を該試験対象装置から取得する処理と、
前記負荷設定値と前記負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算する処理と、
計算された送信設定値に基づいて、該送信設定値に対応する負荷を前記試験対象装置において発生させるために必要な処理要求量および処理内容を前記送信要求として前記負荷発生装置に対して送信する処理と、
をそれぞれ実行させることを特徴とする負荷制御用プログラム。
【請求項７】
送信要求に応じて負荷発生装置から試験対象装置に対して送信された処理要求に基づいて該試験対象装置に発生した負荷を所定の負荷設定値に制御するための負荷制御方法であって、
前記試験対象装置に発生した負荷を表す負荷情報を該試験対象装置から取得するステップと、
前記負荷設定値と前記負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算するステップと、
計算された送信設定値に基づいて、該送信設定値に対応する負荷を前記試験対象装置において発生させるために必要な処理要求量および処理内容を前記送信要求として前記負荷発生装置に対して送信するステップと、
を備えたことを特徴とする負荷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、評価対象サーバに対して擬似的に発生した負荷を制御する負荷制御方法及び装置、ならびに負荷制御用プログラムに関する。
【背景技術】
【０００２】
例えば分散システムの一部を構成するサーバ上にインストールされたアプリケーションプログラムの性能評価を行う際に、そのアプリケーションがインストールされた評価対象サーバに対して試験端末から処理要求を投じ、そのレスポンスタイム（処理要求に対する応答時間）、スループット｛試験対象サーバが単位時間あたりに処理できる処理量（例えば、１秒あたりの処理バイト量）｝等を計測することにより、アプリケーションプログラムの処理能力を測定している。
【０００３】
上記に関連した従来技術の一例として、特許文献１に開示されたローカルエリアネットワーク上でのネットワークＯＳ（オペレーティングシステム）評価システムがある。このネットワークＯＳ評価システムでは、ネットワークを介した評価対象サーバへのテストコマンド投入および試験結果の取得、記録方法について開示されている。
【０００４】
一方、近年、より実運用状態に近似した環境でアプリケーションプログラムの性能評価を行うために、負荷発生装置を用いて背景負荷（背景呼）として評価対象サーバに擬似的に負荷を発生させ、この背景負荷のもとで、アプリケーションプログラムの性能測定を行う試験手法が一般的に採用されている。
【０００５】
負荷発生装置に関連した従来技術の一例として、特許文献２に開示されたパケット中継装置の過負荷試験装置がある。このパケット中継装置の過負荷試験装置によれば、設定値に従って制御されたパケットが試験対象であるパケット中継装置へ高速に伝送されることにより、そのパケット中継装置の過負荷試験が実行されている。
【０００６】
また、サーバ負荷情報の検出とネットワークを介した通知方法については、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）ネットワークにおいては、ＳＮＭＰ（Simple Network Management Protocol）プロトコルを用いて、検査サーバ内のＳＮＭＰエージェントが監視装置に負荷情報を通知する方法が一般に普及している。
【０００７】
このＳＮＭＰプロトコルに基づく負荷情報の検知と通知に関連した従来技術の一例として、特許文献３に開示されたネットワーク監視装置がある。このネットワーク監視装置によれば、ネットワークの負荷状況に応じてＳＮＭＰリクエストの抑止等の制御が行われている。
【特許文献１】特開平０６−１７７８９３号公報
【特許文献２】特開２００２−１５２３１７号公報
【特許文献３】特開平０９−２８２２５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した特許文献に一例として開示された従来の負荷発生装置は、性能評価対象であるアプリケーションプログラムがインストールされた評価対象サーバに対して予め設定された量の処理要求を送信することにより、評価対象サーバにおいてサーバ負荷を発生させている。
【０００９】
しかしながら、この構成では、処理要求の送信量に対するサーバの負荷特性は一般に非線形であるため、アプリケーションプログラムの性能評価の背景負荷として期待される負荷（期待負荷）を評価対象サーバに発生させるために必要な処理要求の送信量を事前に予測することが困難であった。
【００１０】
例えば、背景負荷として一定のＣＰＵ使用率の負荷を期待負荷として得ようとした場合、従来の負荷発生装置を用いた期待負荷設定方法では、下記の（１）〜（８）の作業を繰り返し行い、期待負荷が得られる処理要求送信条件を設定していた。
【００１１】
すなわち、
（１）処理要求送信条件を設定する。
【００１２】
（２）設定された処理要求送信条件に基づく量の処理要求を負荷発生装置から評価対象サーバに送信する。
【００１３】
（３）評価対象サーバから負荷情報を取得する。
【００１４】
（４）取得された負荷情報から、ＣＰＵ使用率を抽出し、平均ＣＰＵ使用率を計算する。
【００１５】
（５）計算結果が期待負荷よりも小さい場合、オペレータは、負荷が大きくなるよう処理要求送信条件を再設定する。
【００１６】
（６）計算結果が期待負荷よりも大きい場合、オペレータは、負荷が小さくなるよう処理要求送信条件を再設定する。
【００１７】
（７）再設定された処理要求送信条件に基づく量の処理要求を負荷発生装置から評価対象サーバに送信する。
【００１８】
（８）評価対象サーバから取得された負荷情報により計算された結果（負荷値）と期待負荷値とが一致するまで、上記（３）〜（７）の一連の工程を繰り返し実行する。
【００１９】
すなわち、上述した説明から明らかなように、期待負荷値に対応する処理要求送信条件が得られるまで、上述した（３）〜（７）の一連の工程の反復繰り返し作業が必須となり、結果として試験コストおよび試験工程を含むアプリケーションプログラム開発コストをそれぞれ増加させていた。
【００２０】
また、特に長時間試験においては、サーバ内のＯＳ、ミドルウェアや他の複数のアプリケーションプログラム等の影響に基づく評価対象サーバリソース（ＣＰＵ、メモリ等）の状態変化が顕著であり、期待負荷値と計算負荷値との乖離が大きくなった場合には、一旦、性能評価試験を中断し、処理要求送信量を再設定した後に試験を再開する必要が生じていた。
【００２１】
さらに、サーバ負荷変動時における負荷再調整作業は、オペレータによる手作業であった。このため、負荷再調整作業の度に性能評価試験を中断する必要が生じ、応答時間測定を含む試験作業が煩雑かつ非効率であった。
【００２２】
このため、処理要求送信条件の初期設定作業の非効率性と同様に、結果的に試験コストおよび試験工程を含む開発コストを増加させていた。
【００２３】
本発明は、上述した事情に鑑みてなされたもので、試験対象サーバ等の試験対象装置における処理要求送信条件の再設定作業および再設定後の試験対象装置の負荷測定作業をそれぞれ不要にし、かつ試験対象装置が略均一な負荷を持続することを可能にした負荷制御方法および装置、ならびに負荷制御用プログラムを提供することをその目的とする。
【課題を解決するための手段】
【００２４】
上述した目的を達成するため、本発明の第１の態様は、送信要求に応じて負荷発生装置から試験対象装置に対して送信された処理要求に基づいて該試験対象装置に発生した負荷を所定の負荷設定値に制御するための負荷制御装置であって、前記試験対象装置に発生した負荷を表す負荷情報を該試験対象装置から取得する負荷情報取得手段と、前記負荷設定値と前記負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算する送信設定値計算手段と、計算された送信設定値に基づいて、該送信設定値に対応する負荷を前記試験対象装置において発生させるために必要な処理要求量および処理内容を前記送信要求として前記負荷発生装置に対して送信する送信手段と、を備えている。
【００２５】
本発明の第１の態様において、前記送信設定値計算手段は、前記負荷設定値と前記負荷情報に対応する負荷値との偏差を減少させるための送信設定値を計算する手段を備えている。
【００２６】
本発明の第１の態様において、前記送信設定値計算手段は、前記負荷制御装置、前記負荷発生装置および前記試験対象装置を１つの閉ループ制御系とした場合における制御対象である試験対象装置に対する所定の伝達関数を有する補償器として機能し、前記負荷設定値と前記負荷情報に対応する負荷値との偏差および前記所定の伝達関数を用いて前記送信設定値を計算する手段を備えている。
【００２７】
本発明の第１の態様において、前記所定の伝達関数は、予め設定された比例定数、積分定数および微分定数をそれぞれ含むＰＩＤ制御の伝達関数である。
【００２８】
本発明の第１の態様において、前記試験対象装置には、そのサーバの負荷情報を定期的に検知および取得し、前記負荷制御装置に対して送信する処理を該試験対象装置に実行させるための負荷検知プログラムがインストールされており、前記負荷情報取得手段は、前記負荷検知プログラムに対して前記負荷情報の通知要求を定期的に送信する手段と、前記負荷検知プログラムに基づく前記試験対象装置の処理により該試験対象装置から定期的に送信されてきた負荷情報を受信する負荷情報受信手段とを備えている。
【００２９】
上述した目的を達成するため、本発明の第２の態様は、送信要求に応じて負荷発生装置から試験対象装置に対して送信された処理要求に基づいて該試験対象装置に発生した負荷を所定の負荷設定値に制御するための処理をコンピュータに実行させるための負荷制御用プログラムであって、前記コンピュータに、前記試験対象装置に発生した負荷を表す負荷情報を該試験対象装置から取得する処理と、前記負荷設定値と前記負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算する処理と、計算された送信設定値に基づいて、該送信設定値に対応する負荷を前記試験対象装置において発生させるために必要な処理要求量および処理内容を前記送信要求として前記負荷発生装置に対して送信する処理と、をそれぞれ実行させる。
【００３０】
上述した目的を達成するため、本発明の第３の態様は、送信要求に応じて負荷発生装置から試験対象装置に対して送信された処理要求に基づいて該試験対象装置に発生した負荷を所定の負荷設定値に制御するための負荷制御方法であって、前記試験対象装置に発生した負荷を表す負荷情報を該試験対象装置から取得するステップと、前記負荷設定値と前記負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算するステップと、計算された送信設定値に基づいて、該送信設定値に対応する負荷を前記試験対象装置において発生させるために必要な処理要求量および処理内容を前記送信要求として前記負荷発生装置に対して送信するステップと、を備えている。
【発明の効果】
【００３１】
以上で述べたように、本発明によれば、試験対象装置からの負荷値と負荷設定値との偏差を用いて、例えばその偏差が減少するように送信設定値を計算し、計算した送信設定値に対応する負荷を試験対象装置において発生させるために必要な処理要求量および処理内容を送信要求として負荷発生装置に対して送信している。
【００３２】
このため、試験対象装置に対する負荷設定値に対応する期待負荷の設定制御を、その負荷変動に追随して自動的に行うことができる。
【００３３】
この結果、従来の負荷設定において必須であった、負荷設定作業の中断、オペレータによる処理要求送信条件の再設定作業および再設定後の試験対象装置の負荷測定作業をそれぞれ不要にすることができる。
【００３４】
さらに、試験対象装置のリソースの変化等に起因して装置の負荷が動的に変化する場合であっても、その負荷変動に対応する偏差の変化に応じて送信設定値を計算しているため、その送信設定値をダイナミックに変動させて試験対象装置の期待負荷を略一定に維持することができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明に係る負荷制御方法および装置、ならびに負荷制御用プログラムについて図面を参照にして説明する。
【００３６】
図１は、本発明の実施の形態に係る負荷制御装置を含むサーバ負荷自動制御システム１の概略構成を示す図である。
【００３７】
図１に示すように、サーバ負荷自動制御システム１は、図示しないインターネット等の通信ネットワーク上に通信可能に構築された複数のサーバコンピュータ（サーバ）の内の所望のサーバ（試験対象サーバ）３００に擬似的な負荷を背景負荷として自動的に発生させるためのシステムである。
【００３８】
本実施形態において、試験対象サーバ３００に対して発生させる背景負荷としては、サーバ３００のＣＰＵ負荷｛ＣＰＵの使用率（単位：％）｝、メモリ負荷｛サーバ３００のメモリ（ＲＡＭ等の内部メモリ）使用率（単位：％）｝、ディスクＩ／Ｏ負荷｛サーバ３００のディスク（ハードディスク等の外部記憶装置）に対するアクセス（単位：バイト／秒）｝、ネットワーク負荷｛サーバ３００のインタフェース部の通信ネットワークに対する通信スループット（単位：バイト／秒）｝等が想定されている。
【００３９】
サーバ負荷自動制御システム１は、ケーブル、ＬＡＮ（Local Area Network）、専用線等の通信線３を介して試験対象サーバ３００に通信可能に接続され、試験対象サーバ３００に対して所望の負荷を発生させるための処理要求Ｄを送信するための負荷発生装置２００と、試験対象サーバ３００に通信線３を介して通信可能に接続され、かつ負荷発生装置２００に図示しないケーブル等の通信線を介して通信可能に接続された負荷制御装置１００と、試験対象サーバ３００に予めインストールされ、試験対象サーバ３００に、自サーバ３００の負荷情報ＬＩを定期的に検知・取得し、通信線３を介して負荷制御装置１００に送信する処理を実行させる例えばＳＮＭＰエージェント等の負荷検知プログラム３０２と、負荷制御装置１００に図示しないケーブル等の通信線を介して通信可能に接続され、オペレータの指示に応じて、性能評価対象であるアプリケーションプログラムの性能評価の背景負荷として期待される負荷値ＳＶを負荷制御装置１００に対して入力（投入）するための負荷入力装置４００とを備えている。
【００４０】
図１に示すように、サーバ負荷自動制御システム１における負荷制御装置１００、負荷発生装置２００、試験対象サーバ３００および負荷検知プログラム３０２は、１つの閉ループの制御系として、例えば図２に示すようなフィードバック制御系ＦＳとして構築されており、試験対象サーバ３００が伝達関数Ｇ（ｓ）の制御対象ＦＳ１、負荷検知プログラム３０２が制御対象ＦＳ１からの出力信号（負荷情報ＬＩ）をフィードバックするフィードバックループＦＬ、負荷制御装置１００が減算器ＳＵおよび伝達関数Ｃ（ｓ）の補償器ＦＳ２としてそれぞれ機能している。なお、ｓはラプラス演算子を表す。
【００４１】
負荷制御装置１００は、少なくとも１台のコンピュータ（ＣＰＵ、メモリ、入力部、ディスプレイ、通信Ｉ／Ｆおよび記憶装置等を含む）から構成されている。
【００４２】
すなわち、負荷制御装置１００は、例えば記憶装置に記憶され、実行時にメモリにロードされた負荷制御用プログラムは、装置１００（ＣＰＵ）を、それぞれ負荷制御部１０１、送信制御部１０２および負荷情報取得部１０３として機能させるようになっている。
【００４３】
なお、本実施形態における負荷制御部１０１が本発明の送信設定値計算手段に相当し、送信制御部１０２が本発明の送信手段に相当する。また、負荷情報取得部１０３が本発明の負荷情報取得手段に相当する。
【００４４】
負荷制御部１０１は、上記補償器ＦＳ２の伝達関数Ｃ（ｓ）として、ＰＩＤ（Proportional Integral Derivative）制御に基づく次式（１）
Ｃ（ｓ）＝Ｋｐ＋Ｋｉ／ｓ＋Ｋｄ・ｓ                   ・・・（１）
を満足する伝達関数Ｃ（ｓ）として表すことができる。なお、Ｋｐ、ＫｉおよびＫｄは、それぞれ比例定数、積分定数および微分定数を表しており、１／ｓは、ラプラス変換領域での積分、ｓはラプラス変換領域での微分を意味している。また、比例定数Ｋｐ、積分定数Ｋｉおよび微分定数Ｋｄは、それぞれ上記閉ループ（負荷制御装置１００、負荷発生装置２００および試験対象サーバ３００）の初期設定時における応答結果等により、予め試験対象サーバ３００の性能に応じて設定されている。
【００４５】
なお、本実施形態では、負荷制御装置１００は少なくとも１台のコンピュータとして構成されており、上記補償器ＦＳ２の伝達関数Ｃ（ｓ）は、コンピュータで扱えるデジタル信号（パルス信号）に対応するため、ｚ変換により離散化された離散時間系の伝達関数（パルス伝達関数）Ｃ（ｚ）として、下式（２）として表される（図３参照）。
【数１】
2005063222.tif 000003
なお、Ｄｐ、ＤｉおよびＤｄが、上記Ｋｐ、ＫｉおよびＫｄに対応する比例定数、積分定数および微分定数をそれぞれ表しており、ｚは、Ｚ演算子を表す。また、ｚ／（ｚ−１）がｚ変換領域での積分、（ｚ−１）／ｚはｚ変換領域での微分を意味している。
【００４６】
負荷制御部１０１は、負荷入力装置４００から入力された負荷設定値ＳＶ、負荷情報取得部１０３により取得された負荷値ＬＶおよび上記伝達関数Ｃ（ｚ）に基づいて送信設定値を計算して送信制御部１０２に送信する機能を有している。
【００４７】
送信制御部１０２は、負荷制御部１０１から送信された送信設定値に対応する処理要求量の送信要求ＴＲを負荷発生装置２００に送信する機能を有している。
【００４８】
負荷情報取得部１０３は、試験対象サーバ３００の負荷情報ＬＩを取得して負荷値ＬＶとして負荷制御部１０１に送る機能を有している。
【００４９】
負荷発生装置２００は、送信制御部１０２から送信されてきた送信要求ＴＲに対応する処理要求Ｄを試験対象サーバ３００（のアプリケーションプログラム３０１）に送信する機能を有している。
【００５０】
試験対象サーバ３００は、そのソフトウェアとして、ＯＳ、通信ネットワーク上の分散システムの基盤としてのミドルウェアおよび負荷検知プログラム３０２に加えて、性能評価対象のアプリケーションプログラムを含む複数のアプリケーションプログラム３０１を有しており、試験対象サーバ３００は、通信ネットワークを介するアクセスにより、その負荷およびサーバリソースが絶えず変動するようになっている。
【００５１】
負荷入力装置４００は、少なくとも１台のコンピュータ（ＣＰＵ、メモリ、入力部、ディスプレイ、通信Ｉ／Ｆおよび記憶装置等を含む）から構成されている。
【００５２】
次に、本実施形態のサーバ負荷自動制御システム１の全体動作について、特に負荷制御装置１００の動作を中心に説明する。
【００５３】
今、試験対象サーバ３００にインストールされた所望のアプリケーションプログラムの性能評価試験を行うにあたり、最初に、オペレータは、そのアプリケーションプログラムの評価性能試験に対して必要な背景負荷（例えば、上述したＣＰＵ負荷、メモリ負荷、ディスクＩ／Ｏ負荷およびネットワーク負荷の内の少なくとも１つの負荷）の設定値を負荷設定値ＳＶとして装置４００の入力部を操作して負荷入力装置４００（そのＣＰＵ）に入力する。
【００５４】
例えば、背景負荷がＣＰＵ負荷の場合には、例えば、８０％のＣＰＵ使用率、メモリ負荷の場合には、例えば５０％のメモリ使用率、ディスクＩ／Ｏ負荷の場合には、Ｉ／Ｏ負荷３．５Ｍｂ／秒、ネットワーク負荷の場合には、５Ｍｂ／秒等が負荷設定値ＳＶとして設定される。
【００５５】
負荷入力装置４００は、設定された負荷設定値ＳＶを負荷制御装置１００に入力し、負荷制御装置１００の負荷制御部１０１は、入力された負荷設定値ＳＶを受信する（図４；ステップＳ１）。
【００５６】
今、最初の負荷設定時であり、フィードバックループを介した負荷値のフィードバックは無いため、負荷制御装置１００の負荷制御部１０１は、受信した負荷設定値ＳＶおよび伝達関数Ｃ（ｚ）に基づいて、その負荷設定値ＳＶに対応する負荷を試験対象サーバ３００に発生させることができる処理要求量を表す送信設定値ＴＳを計算し、計算した送信設定値ＴＳを送信制御部１０２に送信する（ステップＳ２）。
【００５７】
送信制御部１０２は、送信されてきた送信設定値ＴＳに応じて、この送信設定値ＴＳに対応する負荷を試験対象サーバ３００において発生させるために必要な送信パケット量および処理内容を含む送信要求ＴＲを設定し、設定した送信要求ＴＲを負荷発生装置２００に対して送信する（ステップＳ３）。
【００５８】
負荷発生装置２００は、所定のヴァーチャルユーザからの処理要求Ｄとして、上記送信要求ＴＲに対応する送信パケットを、試験対象サーバ上記処理内容に対応するアプリケーションプログラム３０１へ通信線３を介して送信する（ステップＳ４）。
【００５９】
試験対象サーバ３００は、送信されてきた送信パケットを受信し、対応するアプリケーションプログラム３０１に基づく動作により、受信した送信パケットを処理する。この結果、試験対象サーバ３００にサーバ負荷が発生する（ステップＳ５）。
【００６０】
一方、負荷制御装置１００の負荷情報取得部１０３は、通信線３を介して試験対象サーバ３００に対してポーリングＰＯ、すなわち、試験対象サーバ３００の負荷検知プログラム３０２に対して負荷情報ＬＩの通知要求を送信する処理を定期的に行っており（ステップＳ６）、試験対象サーバ３００は、その負荷検知プログラム３０２に基づく動作により、試験対象サーバ３００の負荷情報として、現在のサーバ負荷の中から、少なくとも上記負荷設定値ＳＶに対応する負荷情報ＬＩを上記ポーリングＰＯに対する応答として負荷制御装置１００の負荷情報取得部１０３に対して送信（フィードバック）する（ステップＳ７）。
【００６１】
負荷制御装置１００の負荷情報取得部１０３は、定期的に送信（フィードバック）されてくる負荷情報ＬＩを受信し、負荷値ＬＶとして負荷制御部１０１に送信（フィードバック）する（ステップＳ８）。
【００６２】
このとき、負荷制御部１０１は、フィードバックされてきた負荷値ＬＶを受信し、受信した負荷値ＬＶと負荷設定値ＳＶとを比較してその偏差ΔＶを求める（ステップＳ９）。
【００６３】
次いで、負荷制御部１０１は、求めた偏差ΔＶおよび上記（２）式で表したパルス伝達関数Ｃ（ｚ）に基づいて、フィードバックされた負荷値ＬＶを負荷設定値ＳＶに一致させる（偏差ΔＶ）を減少させるための処理要求量を表す送信設定値ＴＳを計算する。
【００６４】
今、ｎ回目（ｎは、２以上の整数）の偏差ΔＶnを減少させるための送信設定値ＴＳは、送信設定値ＴＳおよびパルス伝達関数Ｃ（ｚ）により下式（３）
送信設定値ＴＳ＝ΔＶn・Ｄｐ（比例項）＋Ｄｉ・（ΔＶ0＋ΔＶ1＋・・・＋ΔＶn：今回までの偏差の積分値）＋Ｄｄ・（ΔＶn−ΔＶn-1：前回の偏差ΔＶn-1と今回の偏差ΔＶnとの差）                                ・・・（３）
により計算することができる（ステップＳ１０）。
【００６５】
このとき、上記（３）式に基づくＰＩＤ制御によれば、上記比例項ΔＶn・Ｄｐ、すなわち、現在の偏差ΔＶnに比例した値を送信設定値ＴＳに加えることにより、送信設定値ＴＳを目標となる負荷設定値ＳＶにスムーズに近付けることができる。
【００６６】
また、上記（３）式に基づくＰＩＤ制御によれば、上記積分項Ｄｉ・（ΔＶ0＋ΔＶ1＋・・・＋ΔＶn）、すなわち、今回までの偏差の累積値の積分定数Ｄｉ倍を送信設定値ＴＳに加えることにより、送信設定値ＴＳを目標となる負荷設定値ＳＶに対する残留偏差（オフセット）をゼロにすることができる。
【００６７】
さらに、上記（３）式に基づくＰＩＤ制御によれば、上記微分項Ｄｄ・（ΔＶn−ΔＶn-1）、すなわち、前回の偏差ΔＶn-1と今回の偏差ΔＶnとの差の微分定数Ｄｄ倍を送信設定値ＴＳに加えることにより、送信設定値ＴＳを目標となる負荷設定値ＳＶに対する応答速度を上昇させることができる。
【００６８】
負荷制御部１０１は、このようにして計算された送信設定値ＴＳを送信制御部１０２に対して送信し、送信要求ＴＲとして負荷発生装置２００に送信される（ステップＳ１１）。
【００６９】
以下、負荷制御装置１００および試験対象サーバ３００により上記ステップＳ３〜ステップＳ１１が繰り返し実行されることにより、試験対象サーバ３００に対して背景負荷として必要な負荷設定値ＳＶの自動設定制御が実行される。
【００７０】
以上述べたように、本実施形態によれば、試験対象サーバ３００から自動的にフィードバックされてきた負荷情報ＬＩに基づく負荷値ＬＶと負荷設定値ＳＶとの偏差ΔＶに基づく負荷制御装置１００のＰＩＤ制御を行うことにより、試験対象サーバ３００に対する期待負荷（負荷設定値ＳＶ）の設定制御を、その負荷変動に追随して自動的に行うことができる。
【００７１】
この結果、従来の負荷設定において必須であった、試験中断作業、オペレータによる処理要求送信条件の再設定作業および再設定後のサーバ負荷測定作業をそれぞれ不要にし、アプリケーションプログラム性能評価試験における試験コストおよびその試験工程を含むアプリケーションプログラム開発コストをそれぞれ低減し、かつ試験効率を向上させることができる。
【００７２】
さらに、長時間試験を行う場合等、試験対象サーバ３００のサーバリソースの変化等に起因してサーバ負荷が動的に変化する場合であっても、その負荷変動に対応する偏差ΔＶの変化に応じてＰＩＤ制御を行うことにより、送信設定値ＴＳをダイナミックに変動させて試験対象サーバ３００の背景負荷を略一定に維持することができる。
【００７３】
この結果、上述したサーバ負荷の変化に起因した目標負荷の再設定処理を行う必要がなくなり、アプリケーションプログラム性能評価試験における試験コストおよびその試験工程を含むアプリケーションプログラム開発コストをさらに低減し、かつ試験効率をさらに向上させることができる。
【実施例】
【００７４】
図１に示すサーバ負荷自動制御システム１の効果を検証するため、試験対象サーバ３００の各パラメータを下記のように設定し、特性方程式から伝達関数を導出した。前提として、サーバ負荷はＣＰＵ使用率のみを対象とし、ネットワークの遅延時間等は無視する。
【００７５】
ここで、Ｒ：処理要求の未処理係数、θ：ＣＰＵ使用率、ｃ：ＣＰＵ処理効率係数[件／ＧＨｚ]（１ＧＨｚあたりの処理性能比）、ｆ：ＣＰＵクロック周波数[ＧＨｚ]をそれぞれ表すものとする。
【００７６】
試験対象サーバ３００内の未処理の処理要求件数Ｐ（θ，ｔ）は、ＣＰＵ使用率θの変化率に比例すると考えると、次式（４）で与えられる。
【００７７】
Ｐ（θ，ｔ）＝Ｒ・（ｄθ／ｄｔ）         ・・・（４）
また、試験対象サーバ３００内において処理される処理要求件数Ｅ（θ）は、次式（５）で与えられる。
【００７８】
Ｅ（θ）＝ｃ・ｆ・θ                   ・・・（５）
したがって、入力処理要求件数ｑ（ｔ）は未処理の処理要求件数と処理済み処理要求件数の総和と考えると、ｑ（ｔ）＝Ｐ（θ，ｔ）＋Ｅ（θ）の関係から、次の特性方程式（６）が成り立つ。
【００７９】
ｑ（ｔ）＝Ｒ・（ｄθ／ｄｔ）＋ｃ・ｆ・θ       ・・・（６）
ここで、θとｑのラプラス変換をそれぞれΘ（ｓ）、Ｑ（ｓ）として上記（６）式をラプラス変換することにより、制御対象である試験対象サーバ３００の伝達関数Ｇ（ｓ）が下式（７）および（８）として求められる。
【００８０】
Ｑ（ｓ）＝ｓ・Ｒ・Θ（ｓ）＋ｃ・ｆ・θ    ・・・（７）
【数２】
2005063222.tif 000004
上記試験対象サーバ３００のモデル｛上記伝達関数Ｇ（ｓ）に対応する伝達関数Ｇ（ｚ）｝を用い、比例定数Ｄｐ＝４０、Ｄｉ＝１００としてサンプリング周期Ｔｓを変化させたときの各応答特性をシミュレーションした。なお、ＰＩ制御においても、ＰＩＤ制御に近似した応答特性が得られたため、ＰＩ制御モデルを採用した。
【００８１】
ここで、本実施形態のサーバ負荷自動制御システム１（ＰＩ制御モデルの場合）のシミュレーションした結果（インディシャル応答特性）を図５に示す。
【００８２】
図５に示すように、０．２５[ｓｅｃ]≦サンプリング周期Ｔｓ≦４．０[ｓｅｃ]の範囲で良好な応答特性が得られ、８[ｓｅｃ]以内の整定時間で安定化することが確認できた。
【００８３】
また、定常安定時に外乱として、１０％のステップ状入力を加えたときの応答の変化を図６に示す。外乱発生時と消失時の何れの場合も４[ｓｅｃ]以内の整定時間で回復することが確認できた。
【００８４】
さらに、パラメータＲ，ｃ，ｆをＭ＝Ｒ＝ｃ・ｆとおき、同率で変化させた場合の応答特性を図７に示す。５０≦Ｍ≦４００の範囲で良好な応答特性が得られた。このことから、比例定数を固定し、試験対象サーバ３００を性能比５０％〜４００％の範囲で交換した場合においても、負荷安定化が可能であることが確認できた。
【００８５】
なお、本実施の形態では、負荷制御装置１００の負荷制御部１０１は、フィードバック制御としてＰＩＤ制御（実施例では、ＰＩ制御）を用いたが、本発明はこの制御方式に限定されるものではなく、外の様々な制御方式（ファジイ制御、フィードフォワードおよびフィードバック制御等）も適用可能である。
【００８６】
また、本実施の形態およびその実施例では、試験対象装置を分散システムとして構築されたサーバとしたが、本発明はこの構成に限定されるものではなく、他のコンピュータであってもよい。
【図面の簡単な説明】
【００８７】
【図１】本発明の実施の形態に係る負荷制御装置を含むサーバ負荷自動制御システムの概略構成を示す図。
【図２】図１に示すサーバ負荷自動制御システムにより構成されたフィードバック制御系（連続時間系）を示すブロック線図。
【図３】図１に示すサーバ負荷自動制御システムにより構成されたフィードバック制御系（離散時間系）を示すブロック線図。
【図４】図１に示すサーバ負荷自動制御システムの処理の一例を示す概略フローチャート。
【図５】本発明の実施形態の実施例に係るインディシャル応答特性を示す図。
【図６】本発明の実施形態の実施例に係る外乱に対する応答特性を示す図。
【図７】本発明の実施形態の実施例に係る試験対象サーバのパラメータ変化に対する応答特性を示す図。
【符号の説明】
【００８８】
１…サーバ負荷自動制御システム
３…通信線
１００…負荷制御装置
１０１…負荷制御部
１０２…送信制御部
１０３…負荷情報取得部
２００…負荷発生装置
３００…試験対象サーバ
３０１…アプリケーションプログラム
３０２…負荷検知プログラム
４００…負荷入力装置
【図１】
2005063222.tif 000005
【図２】
2005063222.tif 000006
【図３】
2005063222.tif 000007
【図４】
2005063222.tif 000008
【図５】
2005063222.tif 000009
【図６】
2005063222.tif 000010
【図７】
2005063222.tif 000011