JP2005063222A - 負荷制御方法および装置、ならびに負荷制御用プログラム - Google Patents
負荷制御方法および装置、ならびに負荷制御用プログラム Download PDFInfo
- Publication number
- JP2005063222A JP2005063222A JP2003293778A JP2003293778A JP2005063222A JP 2005063222 A JP2005063222 A JP 2005063222A JP 2003293778 A JP2003293778 A JP 2003293778A JP 2003293778 A JP2003293778 A JP 2003293778A JP 2005063222 A JP2005063222 A JP 2005063222A
- Authority
- JP
- Japan
- Prior art keywords
- load
- test target
- transmission
- setting value
- target device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】処理要求送信条件の再設定作業および再設定後の試験対象装置の負荷測定作業をそれぞれ不要にする。
【解決手段】試験対象サーバ300に発生した負荷を表す負荷情報を試験対象サーバ300から取得する負荷情報取得部103と、負荷設定値と負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算する負荷制御部101と、計算された送信設定値に基づいて、該送信設定値に対応する負荷を試験対象サーバ300において発生させるために必要な処理要求量および処理内容を送信要求として負荷発生装置200に対して送信する送信制御部102と、を備えた負荷制御装置100である。
【選択図】図1
【解決手段】試験対象サーバ300に発生した負荷を表す負荷情報を試験対象サーバ300から取得する負荷情報取得部103と、負荷設定値と負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算する負荷制御部101と、計算された送信設定値に基づいて、該送信設定値に対応する負荷を試験対象サーバ300において発生させるために必要な処理要求量および処理内容を送信要求として負荷発生装置200に対して送信する送信制御部102と、を備えた負荷制御装置100である。
【選択図】図1
Description
本発明は、評価対象サーバに対して擬似的に発生した負荷を制御する負荷制御方法及び装置、ならびに負荷制御用プログラムに関する。
例えば分散システムの一部を構成するサーバ上にインストールされたアプリケーションプログラムの性能評価を行う際に、そのアプリケーションがインストールされた評価対象サーバに対して試験端末から処理要求を投じ、そのレスポンスタイム(処理要求に対する応答時間)、スループット{試験対象サーバが単位時間あたりに処理できる処理量(例えば、1秒あたりの処理バイト量)}等を計測することにより、アプリケーションプログラムの処理能力を測定している。
上記に関連した従来技術の一例として、特許文献1に開示されたローカルエリアネットワーク上でのネットワークOS(オペレーティングシステム)評価システムがある。このネットワークOS評価システムでは、ネットワークを介した評価対象サーバへのテストコマンド投入および試験結果の取得、記録方法について開示されている。
一方、近年、より実運用状態に近似した環境でアプリケーションプログラムの性能評価を行うために、負荷発生装置を用いて背景負荷(背景呼)として評価対象サーバに擬似的に負荷を発生させ、この背景負荷のもとで、アプリケーションプログラムの性能測定を行う試験手法が一般的に採用されている。
負荷発生装置に関連した従来技術の一例として、特許文献2に開示されたパケット中継装置の過負荷試験装置がある。このパケット中継装置の過負荷試験装置によれば、設定値に従って制御されたパケットが試験対象であるパケット中継装置へ高速に伝送されることにより、そのパケット中継装置の過負荷試験が実行されている。
また、サーバ負荷情報の検出とネットワークを介した通知方法については、TCP/IP(Transmission Control Protocol/Internet Protocol)ネットワークにおいては、SNMP(Simple Network Management Protocol)プロトコルを用いて、検査サーバ内のSNMPエージェントが監視装置に負荷情報を通知する方法が一般に普及している。
このSNMPプロトコルに基づく負荷情報の検知と通知に関連した従来技術の一例として、特許文献3に開示されたネットワーク監視装置がある。このネットワーク監視装置によれば、ネットワークの負荷状況に応じてSNMPリクエストの抑止等の制御が行われている。
特開平06−177893号公報
特開2002−152317号公報
特開平09−282252号公報
上述した特許文献に一例として開示された従来の負荷発生装置は、性能評価対象であるアプリケーションプログラムがインストールされた評価対象サーバに対して予め設定された量の処理要求を送信することにより、評価対象サーバにおいてサーバ負荷を発生させている。
しかしながら、この構成では、処理要求の送信量に対するサーバの負荷特性は一般に非線形であるため、アプリケーションプログラムの性能評価の背景負荷として期待される負荷(期待負荷)を評価対象サーバに発生させるために必要な処理要求の送信量を事前に予測することが困難であった。
例えば、背景負荷として一定のCPU使用率の負荷を期待負荷として得ようとした場合、従来の負荷発生装置を用いた期待負荷設定方法では、下記の(1)〜(8)の作業を繰り返し行い、期待負荷が得られる処理要求送信条件を設定していた。
すなわち、
(1)処理要求送信条件を設定する。
(1)処理要求送信条件を設定する。
(2)設定された処理要求送信条件に基づく量の処理要求を負荷発生装置から評価対象サーバに送信する。
(3)評価対象サーバから負荷情報を取得する。
(4)取得された負荷情報から、CPU使用率を抽出し、平均CPU使用率を計算する。
(5)計算結果が期待負荷よりも小さい場合、オペレータは、負荷が大きくなるよう処理要求送信条件を再設定する。
(6)計算結果が期待負荷よりも大きい場合、オペレータは、負荷が小さくなるよう処理要求送信条件を再設定する。
(7)再設定された処理要求送信条件に基づく量の処理要求を負荷発生装置から評価対象サーバに送信する。
(8)評価対象サーバから取得された負荷情報により計算された結果(負荷値)と期待負荷値とが一致するまで、上記(3)〜(7)の一連の工程を繰り返し実行する。
すなわち、上述した説明から明らかなように、期待負荷値に対応する処理要求送信条件が得られるまで、上述した(3)〜(7)の一連の工程の反復繰り返し作業が必須となり、結果として試験コストおよび試験工程を含むアプリケーションプログラム開発コストをそれぞれ増加させていた。
また、特に長時間試験においては、サーバ内のOS、ミドルウェアや他の複数のアプリケーションプログラム等の影響に基づく評価対象サーバリソース(CPU、メモリ等)の状態変化が顕著であり、期待負荷値と計算負荷値との乖離が大きくなった場合には、一旦、性能評価試験を中断し、処理要求送信量を再設定した後に試験を再開する必要が生じていた。
さらに、サーバ負荷変動時における負荷再調整作業は、オペレータによる手作業であった。このため、負荷再調整作業の度に性能評価試験を中断する必要が生じ、応答時間測定を含む試験作業が煩雑かつ非効率であった。
このため、処理要求送信条件の初期設定作業の非効率性と同様に、結果的に試験コストおよび試験工程を含む開発コストを増加させていた。
本発明は、上述した事情に鑑みてなされたもので、試験対象サーバ等の試験対象装置における処理要求送信条件の再設定作業および再設定後の試験対象装置の負荷測定作業をそれぞれ不要にし、かつ試験対象装置が略均一な負荷を持続することを可能にした負荷制御方法および装置、ならびに負荷制御用プログラムを提供することをその目的とする。
上述した目的を達成するため、本発明の第1の態様は、送信要求に応じて負荷発生装置から試験対象装置に対して送信された処理要求に基づいて該試験対象装置に発生した負荷を所定の負荷設定値に制御するための負荷制御装置であって、前記試験対象装置に発生した負荷を表す負荷情報を該試験対象装置から取得する負荷情報取得手段と、前記負荷設定値と前記負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算する送信設定値計算手段と、計算された送信設定値に基づいて、該送信設定値に対応する負荷を前記試験対象装置において発生させるために必要な処理要求量および処理内容を前記送信要求として前記負荷発生装置に対して送信する送信手段と、を備えている。
本発明の第1の態様において、前記送信設定値計算手段は、前記負荷設定値と前記負荷情報に対応する負荷値との偏差を減少させるための送信設定値を計算する手段を備えている。
本発明の第1の態様において、前記送信設定値計算手段は、前記負荷制御装置、前記負荷発生装置および前記試験対象装置を1つの閉ループ制御系とした場合における制御対象である試験対象装置に対する所定の伝達関数を有する補償器として機能し、前記負荷設定値と前記負荷情報に対応する負荷値との偏差および前記所定の伝達関数を用いて前記送信設定値を計算する手段を備えている。
本発明の第1の態様において、前記所定の伝達関数は、予め設定された比例定数、積分定数および微分定数をそれぞれ含むPID制御の伝達関数である。
本発明の第1の態様において、前記試験対象装置には、そのサーバの負荷情報を定期的に検知および取得し、前記負荷制御装置に対して送信する処理を該試験対象装置に実行させるための負荷検知プログラムがインストールされており、前記負荷情報取得手段は、前記負荷検知プログラムに対して前記負荷情報の通知要求を定期的に送信する手段と、前記負荷検知プログラムに基づく前記試験対象装置の処理により該試験対象装置から定期的に送信されてきた負荷情報を受信する負荷情報受信手段とを備えている。
上述した目的を達成するため、本発明の第2の態様は、送信要求に応じて負荷発生装置から試験対象装置に対して送信された処理要求に基づいて該試験対象装置に発生した負荷を所定の負荷設定値に制御するための処理をコンピュータに実行させるための負荷制御用プログラムであって、前記コンピュータに、前記試験対象装置に発生した負荷を表す負荷情報を該試験対象装置から取得する処理と、前記負荷設定値と前記負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算する処理と、計算された送信設定値に基づいて、該送信設定値に対応する負荷を前記試験対象装置において発生させるために必要な処理要求量および処理内容を前記送信要求として前記負荷発生装置に対して送信する処理と、をそれぞれ実行させる。
上述した目的を達成するため、本発明の第3の態様は、送信要求に応じて負荷発生装置から試験対象装置に対して送信された処理要求に基づいて該試験対象装置に発生した負荷を所定の負荷設定値に制御するための負荷制御方法であって、前記試験対象装置に発生した負荷を表す負荷情報を該試験対象装置から取得するステップと、前記負荷設定値と前記負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算するステップと、計算された送信設定値に基づいて、該送信設定値に対応する負荷を前記試験対象装置において発生させるために必要な処理要求量および処理内容を前記送信要求として前記負荷発生装置に対して送信するステップと、を備えている。
以上で述べたように、本発明によれば、試験対象装置からの負荷値と負荷設定値との偏差を用いて、例えばその偏差が減少するように送信設定値を計算し、計算した送信設定値に対応する負荷を試験対象装置において発生させるために必要な処理要求量および処理内容を送信要求として負荷発生装置に対して送信している。
このため、試験対象装置に対する負荷設定値に対応する期待負荷の設定制御を、その負荷変動に追随して自動的に行うことができる。
この結果、従来の負荷設定において必須であった、負荷設定作業の中断、オペレータによる処理要求送信条件の再設定作業および再設定後の試験対象装置の負荷測定作業をそれぞれ不要にすることができる。
さらに、試験対象装置のリソースの変化等に起因して装置の負荷が動的に変化する場合であっても、その負荷変動に対応する偏差の変化に応じて送信設定値を計算しているため、その送信設定値をダイナミックに変動させて試験対象装置の期待負荷を略一定に維持することができる。
以下、本発明に係る負荷制御方法および装置、ならびに負荷制御用プログラムについて図面を参照にして説明する。
図1は、本発明の実施の形態に係る負荷制御装置を含むサーバ負荷自動制御システム1の概略構成を示す図である。
図1に示すように、サーバ負荷自動制御システム1は、図示しないインターネット等の通信ネットワーク上に通信可能に構築された複数のサーバコンピュータ(サーバ)の内の所望のサーバ(試験対象サーバ)300に擬似的な負荷を背景負荷として自動的に発生させるためのシステムである。
本実施形態において、試験対象サーバ300に対して発生させる背景負荷としては、サーバ300のCPU負荷{CPUの使用率(単位:%)}、メモリ負荷{サーバ300のメモリ(RAM等の内部メモリ)使用率(単位:%)}、ディスクI/O負荷{サーバ300のディスク(ハードディスク等の外部記憶装置)に対するアクセス(単位:バイト/秒)}、ネットワーク負荷{サーバ300のインタフェース部の通信ネットワークに対する通信スループット(単位:バイト/秒)}等が想定されている。
サーバ負荷自動制御システム1は、ケーブル、LAN(Local Area Network)、専用線等の通信線3を介して試験対象サーバ300に通信可能に接続され、試験対象サーバ300に対して所望の負荷を発生させるための処理要求Dを送信するための負荷発生装置200と、試験対象サーバ300に通信線3を介して通信可能に接続され、かつ負荷発生装置200に図示しないケーブル等の通信線を介して通信可能に接続された負荷制御装置100と、試験対象サーバ300に予めインストールされ、試験対象サーバ300に、自サーバ300の負荷情報LIを定期的に検知・取得し、通信線3を介して負荷制御装置100に送信する処理を実行させる例えばSNMPエージェント等の負荷検知プログラム302と、負荷制御装置100に図示しないケーブル等の通信線を介して通信可能に接続され、オペレータの指示に応じて、性能評価対象であるアプリケーションプログラムの性能評価の背景負荷として期待される負荷値SVを負荷制御装置100に対して入力(投入)するための負荷入力装置400とを備えている。
図1に示すように、サーバ負荷自動制御システム1における負荷制御装置100、負荷発生装置200、試験対象サーバ300および負荷検知プログラム302は、1つの閉ループの制御系として、例えば図2に示すようなフィードバック制御系FSとして構築されており、試験対象サーバ300が伝達関数G(s)の制御対象FS1、負荷検知プログラム302が制御対象FS1からの出力信号(負荷情報LI)をフィードバックするフィードバックループFL、負荷制御装置100が減算器SUおよび伝達関数C(s)の補償器FS2としてそれぞれ機能している。なお、sはラプラス演算子を表す。
負荷制御装置100は、少なくとも1台のコンピュータ(CPU、メモリ、入力部、ディスプレイ、通信I/Fおよび記憶装置等を含む)から構成されている。
すなわち、負荷制御装置100は、例えば記憶装置に記憶され、実行時にメモリにロードされた負荷制御用プログラムは、装置100(CPU)を、それぞれ負荷制御部101、送信制御部102および負荷情報取得部103として機能させるようになっている。
なお、本実施形態における負荷制御部101が本発明の送信設定値計算手段に相当し、送信制御部102が本発明の送信手段に相当する。また、負荷情報取得部103が本発明の負荷情報取得手段に相当する。
負荷制御部101は、上記補償器FS2の伝達関数C(s)として、PID(Proportional Integral Derivative)制御に基づく次式(1)
C(s)=Kp+Ki/s+Kd・s ・・・(1)
を満足する伝達関数C(s)として表すことができる。なお、Kp、KiおよびKdは、それぞれ比例定数、積分定数および微分定数を表しており、1/sは、ラプラス変換領域での積分、sはラプラス変換領域での微分を意味している。また、比例定数Kp、積分定数Kiおよび微分定数Kdは、それぞれ上記閉ループ(負荷制御装置100、負荷発生装置200および試験対象サーバ300)の初期設定時における応答結果等により、予め試験対象サーバ300の性能に応じて設定されている。
C(s)=Kp+Ki/s+Kd・s ・・・(1)
を満足する伝達関数C(s)として表すことができる。なお、Kp、KiおよびKdは、それぞれ比例定数、積分定数および微分定数を表しており、1/sは、ラプラス変換領域での積分、sはラプラス変換領域での微分を意味している。また、比例定数Kp、積分定数Kiおよび微分定数Kdは、それぞれ上記閉ループ(負荷制御装置100、負荷発生装置200および試験対象サーバ300)の初期設定時における応答結果等により、予め試験対象サーバ300の性能に応じて設定されている。
なお、本実施形態では、負荷制御装置100は少なくとも1台のコンピュータとして構成されており、上記補償器FS2の伝達関数C(s)は、コンピュータで扱えるデジタル信号(パルス信号)に対応するため、z変換により離散化された離散時間系の伝達関数(パルス伝達関数)C(z)として、下式(2)として表される(図3参照)。
なお、Dp、DiおよびDdが、上記Kp、KiおよびKdに対応する比例定数、積分定数および微分定数をそれぞれ表しており、zは、Z演算子を表す。また、z/(z−1)がz変換領域での積分、(z−1)/zはz変換領域での微分を意味している。
負荷制御部101は、負荷入力装置400から入力された負荷設定値SV、負荷情報取得部103により取得された負荷値LVおよび上記伝達関数C(z)に基づいて送信設定値を計算して送信制御部102に送信する機能を有している。
送信制御部102は、負荷制御部101から送信された送信設定値に対応する処理要求量の送信要求TRを負荷発生装置200に送信する機能を有している。
負荷情報取得部103は、試験対象サーバ300の負荷情報LIを取得して負荷値LVとして負荷制御部101に送る機能を有している。
負荷発生装置200は、送信制御部102から送信されてきた送信要求TRに対応する処理要求Dを試験対象サーバ300(のアプリケーションプログラム301)に送信する機能を有している。
試験対象サーバ300は、そのソフトウェアとして、OS、通信ネットワーク上の分散システムの基盤としてのミドルウェアおよび負荷検知プログラム302に加えて、性能評価対象のアプリケーションプログラムを含む複数のアプリケーションプログラム301を有しており、試験対象サーバ300は、通信ネットワークを介するアクセスにより、その負荷およびサーバリソースが絶えず変動するようになっている。
負荷入力装置400は、少なくとも1台のコンピュータ(CPU、メモリ、入力部、ディスプレイ、通信I/Fおよび記憶装置等を含む)から構成されている。
次に、本実施形態のサーバ負荷自動制御システム1の全体動作について、特に負荷制御装置100の動作を中心に説明する。
今、試験対象サーバ300にインストールされた所望のアプリケーションプログラムの性能評価試験を行うにあたり、最初に、オペレータは、そのアプリケーションプログラムの評価性能試験に対して必要な背景負荷(例えば、上述したCPU負荷、メモリ負荷、ディスクI/O負荷およびネットワーク負荷の内の少なくとも1つの負荷)の設定値を負荷設定値SVとして装置400の入力部を操作して負荷入力装置400(そのCPU)に入力する。
例えば、背景負荷がCPU負荷の場合には、例えば、80%のCPU使用率、メモリ負荷の場合には、例えば50%のメモリ使用率、ディスクI/O負荷の場合には、I/O負荷3.5Mb/秒、ネットワーク負荷の場合には、5Mb/秒等が負荷設定値SVとして設定される。
負荷入力装置400は、設定された負荷設定値SVを負荷制御装置100に入力し、負荷制御装置100の負荷制御部101は、入力された負荷設定値SVを受信する(図4;ステップS1)。
今、最初の負荷設定時であり、フィードバックループを介した負荷値のフィードバックは無いため、負荷制御装置100の負荷制御部101は、受信した負荷設定値SVおよび伝達関数C(z)に基づいて、その負荷設定値SVに対応する負荷を試験対象サーバ300に発生させることができる処理要求量を表す送信設定値TSを計算し、計算した送信設定値TSを送信制御部102に送信する(ステップS2)。
送信制御部102は、送信されてきた送信設定値TSに応じて、この送信設定値TSに対応する負荷を試験対象サーバ300において発生させるために必要な送信パケット量および処理内容を含む送信要求TRを設定し、設定した送信要求TRを負荷発生装置200に対して送信する(ステップS3)。
負荷発生装置200は、所定のヴァーチャルユーザからの処理要求Dとして、上記送信要求TRに対応する送信パケットを、試験対象サーバ上記処理内容に対応するアプリケーションプログラム301へ通信線3を介して送信する(ステップS4)。
試験対象サーバ300は、送信されてきた送信パケットを受信し、対応するアプリケーションプログラム301に基づく動作により、受信した送信パケットを処理する。この結果、試験対象サーバ300にサーバ負荷が発生する(ステップS5)。
一方、負荷制御装置100の負荷情報取得部103は、通信線3を介して試験対象サーバ300に対してポーリングPO、すなわち、試験対象サーバ300の負荷検知プログラム302に対して負荷情報LIの通知要求を送信する処理を定期的に行っており(ステップS6)、試験対象サーバ300は、その負荷検知プログラム302に基づく動作により、試験対象サーバ300の負荷情報として、現在のサーバ負荷の中から、少なくとも上記負荷設定値SVに対応する負荷情報LIを上記ポーリングPOに対する応答として負荷制御装置100の負荷情報取得部103に対して送信(フィードバック)する(ステップS7)。
負荷制御装置100の負荷情報取得部103は、定期的に送信(フィードバック)されてくる負荷情報LIを受信し、負荷値LVとして負荷制御部101に送信(フィードバック)する(ステップS8)。
このとき、負荷制御部101は、フィードバックされてきた負荷値LVを受信し、受信した負荷値LVと負荷設定値SVとを比較してその偏差ΔVを求める(ステップS9)。
次いで、負荷制御部101は、求めた偏差ΔVおよび上記(2)式で表したパルス伝達関数C(z)に基づいて、フィードバックされた負荷値LVを負荷設定値SVに一致させる(偏差ΔV)を減少させるための処理要求量を表す送信設定値TSを計算する。
今、n回目(nは、2以上の整数)の偏差ΔVnを減少させるための送信設定値TSは、送信設定値TSおよびパルス伝達関数C(z)により下式(3)
送信設定値TS=ΔVn・Dp(比例項)+Di・(ΔV0+ΔV1+・・・+ΔVn:今回までの偏差の積分値)+Dd・(ΔVn−ΔVn-1:前回の偏差ΔVn-1と今回の偏差ΔVnとの差) ・・・(3)
により計算することができる(ステップS10)。
送信設定値TS=ΔVn・Dp(比例項)+Di・(ΔV0+ΔV1+・・・+ΔVn:今回までの偏差の積分値)+Dd・(ΔVn−ΔVn-1:前回の偏差ΔVn-1と今回の偏差ΔVnとの差) ・・・(3)
により計算することができる(ステップS10)。
このとき、上記(3)式に基づくPID制御によれば、上記比例項ΔVn・Dp、すなわち、現在の偏差ΔVnに比例した値を送信設定値TSに加えることにより、送信設定値TSを目標となる負荷設定値SVにスムーズに近付けることができる。
また、上記(3)式に基づくPID制御によれば、上記積分項Di・(ΔV0+ΔV1+・・・+ΔVn)、すなわち、今回までの偏差の累積値の積分定数Di倍を送信設定値TSに加えることにより、送信設定値TSを目標となる負荷設定値SVに対する残留偏差(オフセット)をゼロにすることができる。
さらに、上記(3)式に基づくPID制御によれば、上記微分項Dd・(ΔVn−ΔVn-1)、すなわち、前回の偏差ΔVn-1と今回の偏差ΔVnとの差の微分定数Dd倍を送信設定値TSに加えることにより、送信設定値TSを目標となる負荷設定値SVに対する応答速度を上昇させることができる。
負荷制御部101は、このようにして計算された送信設定値TSを送信制御部102に対して送信し、送信要求TRとして負荷発生装置200に送信される(ステップS11)。
以下、負荷制御装置100および試験対象サーバ300により上記ステップS3〜ステップS11が繰り返し実行されることにより、試験対象サーバ300に対して背景負荷として必要な負荷設定値SVの自動設定制御が実行される。
以上述べたように、本実施形態によれば、試験対象サーバ300から自動的にフィードバックされてきた負荷情報LIに基づく負荷値LVと負荷設定値SVとの偏差ΔVに基づく負荷制御装置100のPID制御を行うことにより、試験対象サーバ300に対する期待負荷(負荷設定値SV)の設定制御を、その負荷変動に追随して自動的に行うことができる。
この結果、従来の負荷設定において必須であった、試験中断作業、オペレータによる処理要求送信条件の再設定作業および再設定後のサーバ負荷測定作業をそれぞれ不要にし、アプリケーションプログラム性能評価試験における試験コストおよびその試験工程を含むアプリケーションプログラム開発コストをそれぞれ低減し、かつ試験効率を向上させることができる。
さらに、長時間試験を行う場合等、試験対象サーバ300のサーバリソースの変化等に起因してサーバ負荷が動的に変化する場合であっても、その負荷変動に対応する偏差ΔVの変化に応じてPID制御を行うことにより、送信設定値TSをダイナミックに変動させて試験対象サーバ300の背景負荷を略一定に維持することができる。
この結果、上述したサーバ負荷の変化に起因した目標負荷の再設定処理を行う必要がなくなり、アプリケーションプログラム性能評価試験における試験コストおよびその試験工程を含むアプリケーションプログラム開発コストをさらに低減し、かつ試験効率をさらに向上させることができる。
図1に示すサーバ負荷自動制御システム1の効果を検証するため、試験対象サーバ300の各パラメータを下記のように設定し、特性方程式から伝達関数を導出した。前提として、サーバ負荷はCPU使用率のみを対象とし、ネットワークの遅延時間等は無視する。
ここで、R:処理要求の未処理係数、θ:CPU使用率、c:CPU処理効率係数[件/GHz](1GHzあたりの処理性能比)、f:CPUクロック周波数[GHz]をそれぞれ表すものとする。
試験対象サーバ300内の未処理の処理要求件数P(θ,t)は、CPU使用率θの変化率に比例すると考えると、次式(4)で与えられる。
P(θ,t)=R・(dθ/dt) ・・・(4)
また、試験対象サーバ300内において処理される処理要求件数E(θ)は、次式(5)で与えられる。
また、試験対象サーバ300内において処理される処理要求件数E(θ)は、次式(5)で与えられる。
E(θ)=c・f・θ ・・・(5)
したがって、入力処理要求件数q(t)は未処理の処理要求件数と処理済み処理要求件数の総和と考えると、q(t)=P(θ,t)+E(θ)の関係から、次の特性方程式(6)が成り立つ。
したがって、入力処理要求件数q(t)は未処理の処理要求件数と処理済み処理要求件数の総和と考えると、q(t)=P(θ,t)+E(θ)の関係から、次の特性方程式(6)が成り立つ。
q(t)=R・(dθ/dt)+c・f・θ ・・・(6)
ここで、θとqのラプラス変換をそれぞれΘ(s)、Q(s)として上記(6)式をラプラス変換することにより、制御対象である試験対象サーバ300の伝達関数G(s)が下式(7)および(8)として求められる。
ここで、θとqのラプラス変換をそれぞれΘ(s)、Q(s)として上記(6)式をラプラス変換することにより、制御対象である試験対象サーバ300の伝達関数G(s)が下式(7)および(8)として求められる。
Q(s)=s・R・Θ(s)+c・f・θ ・・・(7)
上記試験対象サーバ300のモデル{上記伝達関数G(s)に対応する伝達関数G(z)}を用い、比例定数Dp=40、Di=100としてサンプリング周期Tsを変化させたときの各応答特性をシミュレーションした。なお、PI制御においても、PID制御に近似した応答特性が得られたため、PI制御モデルを採用した。
ここで、本実施形態のサーバ負荷自動制御システム1(PI制御モデルの場合)のシミュレーションした結果(インディシャル応答特性)を図5に示す。
図5に示すように、0.25[sec]≦サンプリング周期Ts≦4.0[sec]の範囲で良好な応答特性が得られ、8[sec]以内の整定時間で安定化することが確認できた。
また、定常安定時に外乱として、10%のステップ状入力を加えたときの応答の変化を図6に示す。外乱発生時と消失時の何れの場合も4[sec]以内の整定時間で回復することが確認できた。
さらに、パラメータR,c,fをM=R=c・fとおき、同率で変化させた場合の応答特性を図7に示す。50≦M≦400の範囲で良好な応答特性が得られた。このことから、比例定数を固定し、試験対象サーバ300を性能比50%〜400%の範囲で交換した場合においても、負荷安定化が可能であることが確認できた。
なお、本実施の形態では、負荷制御装置100の負荷制御部101は、フィードバック制御としてPID制御(実施例では、PI制御)を用いたが、本発明はこの制御方式に限定されるものではなく、外の様々な制御方式(ファジイ制御、フィードフォワードおよびフィードバック制御等)も適用可能である。
また、本実施の形態およびその実施例では、試験対象装置を分散システムとして構築されたサーバとしたが、本発明はこの構成に限定されるものではなく、他のコンピュータであってもよい。
1…サーバ負荷自動制御システム
3…通信線
100…負荷制御装置
101…負荷制御部
102…送信制御部
103…負荷情報取得部
200…負荷発生装置
300…試験対象サーバ
301…アプリケーションプログラム
302…負荷検知プログラム
400…負荷入力装置
3…通信線
100…負荷制御装置
101…負荷制御部
102…送信制御部
103…負荷情報取得部
200…負荷発生装置
300…試験対象サーバ
301…アプリケーションプログラム
302…負荷検知プログラム
400…負荷入力装置
Claims (7)
- 送信要求に応じて負荷発生装置から試験対象装置に対して送信された処理要求に基づいて該試験対象装置に発生した負荷を所定の負荷設定値に制御するための負荷制御装置であって、
前記試験対象装置に発生した負荷を表す負荷情報を該試験対象装置から取得する負荷情報取得手段と、
前記負荷設定値と前記負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算する送信設定値計算手段と、
計算された送信設定値に基づいて、該送信設定値に対応する負荷を前記試験対象装置において発生させるために必要な処理要求量および処理内容を前記送信要求として前記負荷発生装置に対して送信する送信手段と、
を備えたことを特徴とする負荷制御装置。 - 前記送信設定値計算手段は、前記負荷設定値と前記負荷情報に対応する負荷値との偏差を減少させるための送信設定値を計算する手段を備えたことを特徴とする請求項1記載の負荷制御装置。
- 前記送信設定値計算手段は、前記負荷制御装置、前記負荷発生装置および前記試験対象装置を1つの閉ループ制御系とした場合における制御対象である試験対象装置に対する所定の伝達関数を有する補償器として機能し、前記負荷設定値と前記負荷情報に対応する負荷値との偏差および前記所定の伝達関数を用いて前記送信設定値を計算する手段を備えたことを特徴とする請求項1記載の負荷制御装置。
- 前記所定の伝達関数は、予め設定された比例定数、積分定数および微分定数をそれぞれ含むPID制御の伝達関数である請求項3記載の負荷制御装置。
- 前記試験対象装置には、そのサーバの負荷情報を定期的に検知および取得し、前記負荷制御装置に対して送信する処理を該試験対象装置に実行させるための負荷検知プログラムがインストールされており、
前記負荷情報取得手段は、前記負荷検知プログラムに対して前記負荷情報の通知要求を定期的に送信する手段と、前記負荷検知プログラムに基づく前記試験対象装置の処理により該試験対象装置から定期的に送信されてきた負荷情報を受信する負荷情報受信手段とを備えたことを特徴とする請求項1乃至4の内の何れか1項記載の負荷制御装置。 - 送信要求に応じて負荷発生装置から試験対象装置に対して送信された処理要求に基づいて該試験対象装置に発生した負荷を所定の負荷設定値に制御するための処理をコンピュータに実行させるための負荷制御用プログラムであって、
前記コンピュータに、
前記試験対象装置に発生した負荷を表す負荷情報を該試験対象装置から取得する処理と、
前記負荷設定値と前記負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算する処理と、
計算された送信設定値に基づいて、該送信設定値に対応する負荷を前記試験対象装置において発生させるために必要な処理要求量および処理内容を前記送信要求として前記負荷発生装置に対して送信する処理と、
をそれぞれ実行させることを特徴とする負荷制御用プログラム。 - 送信要求に応じて負荷発生装置から試験対象装置に対して送信された処理要求に基づいて該試験対象装置に発生した負荷を所定の負荷設定値に制御するための負荷制御方法であって、
前記試験対象装置に発生した負荷を表す負荷情報を該試験対象装置から取得するステップと、
前記負荷設定値と前記負荷情報に対応する負荷値との偏差を求め、求めた偏差を用いて送信設定値を計算するステップと、
計算された送信設定値に基づいて、該送信設定値に対応する負荷を前記試験対象装置において発生させるために必要な処理要求量および処理内容を前記送信要求として前記負荷発生装置に対して送信するステップと、
を備えたことを特徴とする負荷制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003293778A JP2005063222A (ja) | 2003-08-15 | 2003-08-15 | 負荷制御方法および装置、ならびに負荷制御用プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003293778A JP2005063222A (ja) | 2003-08-15 | 2003-08-15 | 負荷制御方法および装置、ならびに負荷制御用プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005063222A true JP2005063222A (ja) | 2005-03-10 |
Family
ID=34370571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003293778A Pending JP2005063222A (ja) | 2003-08-15 | 2003-08-15 | 負荷制御方法および装置、ならびに負荷制御用プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005063222A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009075855A (ja) * | 2007-09-20 | 2009-04-09 | Dainippon Printing Co Ltd | リソース使用量取得装置、リソース使用量取得方法、及びリソース使用量取得処理プログラム |
JP2009253907A (ja) * | 2008-04-10 | 2009-10-29 | Fujitsu Ltd | ネットワーク監視プログラム、ネットワーク監視方法およびネットワーク監視装置 |
JP2010244528A (ja) * | 2009-03-31 | 2010-10-28 | Internatl Business Mach Corp <Ibm> | サーバの負荷容量を決定する方法、コンピュータ・プログラム、およびシステム |
JP2018532194A (ja) * | 2015-09-30 | 2018-11-01 | スパイレント コミュニケーションズ, インコーポレーテッドSpirent Communications, Inc. | コンピュータ負荷の複数の次元の正確な発生 |
-
2003
- 2003-08-15 JP JP2003293778A patent/JP2005063222A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009075855A (ja) * | 2007-09-20 | 2009-04-09 | Dainippon Printing Co Ltd | リソース使用量取得装置、リソース使用量取得方法、及びリソース使用量取得処理プログラム |
JP2009253907A (ja) * | 2008-04-10 | 2009-10-29 | Fujitsu Ltd | ネットワーク監視プログラム、ネットワーク監視方法およびネットワーク監視装置 |
US7876702B2 (en) | 2008-04-10 | 2011-01-25 | Fujitsu Limited | Computer program product, apparatus and method for monitoring network and regulating packets on a network path |
JP4659850B2 (ja) * | 2008-04-10 | 2011-03-30 | 富士通株式会社 | ネットワーク監視プログラム、ネットワーク監視方法およびネットワーク監視装置 |
JP2010244528A (ja) * | 2009-03-31 | 2010-10-28 | Internatl Business Mach Corp <Ibm> | サーバの負荷容量を決定する方法、コンピュータ・プログラム、およびシステム |
JP2018532194A (ja) * | 2015-09-30 | 2018-11-01 | スパイレント コミュニケーションズ, インコーポレーテッドSpirent Communications, Inc. | コンピュータ負荷の複数の次元の正確な発生 |
US10536516B2 (en) | 2015-09-30 | 2020-01-14 | Spirent Communications, Inc. | Accurate generation of multiple dimensions of computer load |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100773015B1 (ko) | 네트워크 장치에서의 흐름 속도 제어 방법, 통신 네트워크에서 데이터 패킷을 처리하는 네트워크 장치 및 컴퓨터 프로그램 저장 매체 | |
US5726912A (en) | Control system monitor | |
CN111026553B (zh) | 离线混部作业的资源调度方法及服务器系统 | |
Chen et al. | Design of robust active queue management controllers for a class of TCP communication networks | |
US7277391B1 (en) | Active queue management using proportional control and rate-based information | |
Xu et al. | A simple active queue management based on the prediction of the packet arrival rate | |
WO2018168601A1 (ja) | 遅延予測装置、遅延予測システム、遅延予測方法および記録媒体 | |
CN109525447B (zh) | 一种调整网络传输带宽的方法、装置及电子设备 | |
Zhang et al. | Decentralized adaptive control of uncertain interconnected systems with triggering state signals | |
US9547297B2 (en) | Field device and field device software update system therewith | |
Lehmann et al. | Event-based control using quantized state information | |
US8000929B2 (en) | Sequential fixed-point quantile estimation | |
JP2005063222A (ja) | 負荷制御方法および装置、ならびに負荷制御用プログラム | |
CN113364701A (zh) | 基于rtt的结合比例积分微分控制的拥塞控制方法及设备 | |
JP2008141641A (ja) | 異常トラヒック検知装置および方法 | |
JP6390167B2 (ja) | 通信スループット予測装置、通信スループット予測方法、及び、プログラム | |
JP2014041404A (ja) | ターミナルサービス監視装置 | |
Tinnakornsrisuphap et al. | Characterization of queue fluctuations in probabilistic AQM mechanisms | |
Menacer et al. | Design and analysis of a proportional-integral controller based on a Smith predictor for TCP/AQM network systems | |
TWI573018B (zh) | Information processing device and information processing method | |
JP2007135187A (ja) | トラヒック量推定方法、トラヒック量推定装置及びトラヒック量推定プログラム、並びに当該トラヒック量推定方法を利用したパケット廃棄防止方法 | |
US9311026B2 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable medium | |
Vilanova et al. | Robust 2-DoF PID control for Congestion control of TCP/IP Networks | |
CN111929520A (zh) | 电力系统故障录波触发方法及装置 | |
US7298699B1 (en) | Rate-based integral control scheme for active queue management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071211 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080206 |
|
A02 | Decision of refusal |
Effective date: 20080318 Free format text: JAPANESE INTERMEDIATE CODE: A02 |