JP4189379B2 - アプリケーション運用制御方法およびシステム - Google Patents
アプリケーション運用制御方法およびシステム Download PDFInfo
- Publication number
- JP4189379B2 JP4189379B2 JP2004377746A JP2004377746A JP4189379B2 JP 4189379 B2 JP4189379 B2 JP 4189379B2 JP 2004377746 A JP2004377746 A JP 2004377746A JP 2004377746 A JP2004377746 A JP 2004377746A JP 4189379 B2 JP4189379 B2 JP 4189379B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- server
- load test
- deployed
- deployment
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
前記アプリケーション運用制御システムに用いられる運用制御装置は、前記アプリケーションを記憶する記憶装置と、前記アプリケーションの配備を制御する処理装置とを備え、
前記処理装置は、
前記複数のサーバのうちの所定のサーバに配備または事前配備されている特定のアプリケーションに対して、テスト用のリクエストを送信させる負荷テストを実行し、前記負荷テストで不合格となった場合、当該アプリケーションに対するテスト用のリクエストの送信を停止させて負荷テストを停止し、当該アプリケーションを記憶装置から読み出して、前記複数のサーバのうちの他のサーバに事前配備し、稼動待機中とする負荷テストステップと、
前記負荷テストステップを実行中の前記所定のサーバ以外のサーバから負荷増大通知を受け付けたとき、前記事前配備した稼動待機中のアプリケーションを、前記事前配備したサーバ上で稼動させる稼動ステップと、
を実行するようにした。
これによって、アプリケーションの稼動状況を変更することが可能となる。
[第1実施形態]
図1は、クライアントサーバシステムの全体構成図である。このクライアントサーバシステムは、クライアント群とサーバ群とを備えている。クライント群には、クライアントA(101A)、クライアントB(101B)およびクライアントC(101C)が含まれ、サーバ群には、サーバA(104A)、サーバB(104B)およびサーバC(104C)が含まれている。
さらに、このクライアントサーバシステムは、負荷分散装置103と、運用制御装置105とを備えている。負荷分散装置103は、ネットワーク1(102)を介して、前記したクラインアト群に接続され、またネットワーク2(106)を介して、前記したサーバ群および運用管理装置105に接続されている(簡潔に記載)。以下にこれらを詳述する。なお、図1では、クライアント群およびサーバ群は、それぞれ3台としたが、何台でも構わない。また、ネットワーク1やネットワーク2は、別々のネットワークとしたが、同一のネットワークとしても構わない。
サーバAには、アプリケーション実行プログラム151A、アプリケーション監視プログラム152A、サーバ性能情報収集プログラム153Aおよび閾値テーブル154Aを具備している。アプリケーション実行プログラム151Aは、運用制御装置105から送られたアプリケーションのインストールおよび起動を行う機能がある。
サーバ性能情報収集プログラム153Aは、CPU(Central Processing Unit)利用率を取得するための要求に応じて、サーバAのCPU利用率をサーバAのOS(Operating System)に依頼して取得し、取得したCPU利用率を要求元へ返送する機能がある。
また、サーバAのCPU使用率やメモリ使用率、コマンドへの応答時間を図3の閾値に用いてもよい。この場合、アプリケーションが稼動するサーバの負荷状況に着目して図3の閾値を設定することができる。なお、前記したアプリケーションへの単位時間当たりのリクエスト数や、CPU使用率などを組み合わせて適用するようにしてもよい。
CD−ROM(Compact Disk - Read Only Memory)ドライブ(記憶装置)435は、CD−ROM媒体からアプリケーションのインストール時に必要なファイルを読み込むためのものである。システムバス436は、通信制御装置431、CPU432、ディスプレイ433、キーボード434、CD−ROMドライブ装置435、1次記憶装置400および2次記憶装置420のそれぞれの間で各種データを伝送させるものである。
負荷分散制御プログラム402は、アプリケーションの配備状況に応じて、アプリケーション配備プログラム404の起動や、リクエスト分配制御プログラム406を用いて負荷分散装置103の設定を変更することで、アプリケーションの負荷分散制御を行う。
アプリケーション事前配備制御プログラム405は、サーバを一意に識別するサーバIDを入力として起動し、そのサーバIDに対応するサーバについての負荷テストを、負荷テスト実行プログラム407を用いて実施する。そして、このプログラム405は、負荷テスト結果に応じて、アプリケーション配備プログラム404を用いてアプリケーションの事前配備を行う。
リクエスト分配制御プログラム406は、リクエストの分配を開始したいアプリケーションのアプリケーションID、およびアプリケーションが配備されているサーバのサーバIDを入力として起動する。そして、このプログラム406は、負荷分散装置103の設定を変更して、入力されたアプリケーションIDに対応するアプリケーションについて、クライアントA,B,Cからのリクエストの分配を開始する。
システムプログラム408は、ディスプレイ433等を含む周辺装置との間のデータの入出力等、運用制御装置105上のプログラムを実行するための基本機能を提供する。
具体的には、負荷テスト対象サーバ情報410は、サーバIDが書き込まれている状態と、何も書き込まれていない状態(NULL文字等が書き込まれている状態など)をとる。サーバIDが書き込まれている場合には、そのサーバIDに対応するサーバの負荷テストが実施中であることを表し、何も書き込まれていない場合は、どのサーバでも負荷テストが実施されていないことを表している。
負荷テスト強制終了フラグ412は、アプリケーション事前配備制御プログラム405が、負荷テスト実行プログラム407に、負荷テストの終了指示を伝えるために用いられる。なお、ワークエリア409には、前記した各情報410〜412のほか、プログラム実行時にアクセスするデータや一時的に保持するデータが確保される。
「稼動中」は、アプリケーションが起動し、かつクライアントからのリクエストを受け付けている配備済みの状態を表す。「待機中」は、アプリケーションが最適なサーバに事前配備されている状態を表す。
「強制配備中」は、あるアプリケーションについて最適なサーバが存在しない場合に、強制的に、いずれかのサーバに事前配備した状態を表す。ここにいう事前配備された状態とは、アプリケーションが起動しているが、クライアントA〜Cからのリクエストを受け付けていない状態を表す。
「削除済」は、以前にアプリケーションが配備されたが、そのアプリケーションが削除された状態を表す。
なお、図7に示した負荷テスト用URL(雛形)には、実際には、負荷テスト用URLのサーバアドレス以外の情報を保持している。
オペレータの指示に従い、図4に示した運用制御装置105のCPU432は、事前準備として、まず、運用制御装置105に接続されている全てのサーバA,B,CにサーバIDを割当て、これらサーバIDと、それぞれのIPアドレスを、2次記憶装置420のサーバIPアドレス管理テーブル422に書き込む。次に、CPU432は、各サーバA,B,Cの図示しない記憶領域上に、当該割り当てた各サーバIDを格納させる。これにより、ネットワーク2上に接続されている各サーバA,B,Cが、自己のサーバIDを参照することが可能となる。
次に、CPU432は、配備対象のアプリケーションのアプリケーションIDを入力値として運用制御プログラム403を起動する。
そして、CPU432は、アプリケーションについて、一意に識別するアプリケーションIDを割当て、アプリケーション格納場所管理テーブル424上のアプリケーションIDのカラムに当該割り当てたアプリケーションIDと、データ格納場所のカラムにアプリケーションのインストール時に必要なファイルの格納場所とを書き込む。
次に、オペレータの指示に従いCPU432は、あるサーバに、前記のアプリケーションを新規配備するため、そのアプリケーションIDを入力として運用制御プログラム403を起動する。
次に、前記した各プログラム401〜408等の処理手順について説明する。なお、各プログラムは、図4に示したCPU432が順次読み出して実行するものとする。
まず、図4に示した運用制御プログラム403の処理手順を図9に示すフローチャートに従って説明する。ここでは、運用制御プログラム403は、新規に運用を開始するアプリケーションのアプリケーションID(例えば「D」)を入力値として起動することとする。
ステップ902では、ステップ901でアプリケーション配備プログラム404の戻り値(サーバID)がNULLであるか否かを判断し、NULLでない場合(Yes)にはステップ903に進み、NULLである場合(No)には本プログラムを終了する。
ステップ904では、図4に示したアプリケーション事前配備制御プログラム405に、ステップ901で取得したサーバIDを渡して、アプリケーション事前配備制御プログラム405を起動する。これにより、アプリケーションの新規配備先サーバ(例えばサーバA)の負荷テストを実施し、負荷テストの結果が不合格のときに、そのアプリケーションについての事前配備が他のサーバに行なわれる。アプリケーション事前配備制御プログラム405による処理が終了すると、本プログラムの処理が終了する。
図10Aのステップ1001では、CPU432が、本プログラムを実行して、配備対象のアプリケーションIDのアプリケーションが既に配備されている、または以前に配備されたが削除された全てのサーバのサーバID(例えば「A」)を取得する。具体的には、CPU432は、図4に示したアプリケーション配備状態テーブル421から、アプリケーションIDのカラムの値が、本プログラムへの入力値として指定されたアプリケーションIDと一致するレコードを検索し、検索にヒットした全てのレコードにおける配備先サーバのカラムの値であるサーバID群を取得する。
ステップ1003では、CPU432は、ステップ1002で取得したサーバID群の中から、ステップ1001で取得したサーバIDと一致しないサーバIDのみを取得する。つまり、CPU432は、全ての配備先候補のサーバのサーバIDを取得する。
また、取得したサーバID群を図4に示したワークエリア409に保存する。
ステップ1005では、CPU432は、ステップ1003で取得したサーバID群の中から、任意に一つのサーバID(例えば「B」)を選択する。
ステップ1007では、CPU432は、ステップ1005で選択されたサーバIDに対応するサーバのCPU利用率を取得する。具体的には、CPU432は、まず、ステップ1006で取得したIPアドレスに該当するサーバ上のサーバ性能情報収集プログラム153Bへサーバ性能情報取得要求を発行してCPU利用率を受け取る。また、CPU432は、取得したCPU利用率を、そのサーバIDと対応付けてワークエリア409に保存した後、ステップ1003で取得したサーバID群から、CPU利用率を取得したサーバのサーバIDを削除する。
ステップ1009では、CPU432は、配備先候補のサーバの中から、CPU利用率を取得していないサーバのサーバID(例えば「C」)を選択する。具体的には、CPU432は、ステップ1003でワークエリア409上に保存したサーバID群の中で、残っているサーバID群の中から任意に一つを選択し、ステップ1006に戻る。
なお、このステップ1010の次に、ステップ1021へ進むことになるが、例えば、図10Aのステップ1004において、配備先候補のサーバが存在しない場合(1004のNo)、図10Bのステップ1011に進むので、以下に、このステップ1011以降の処理について説明する。
のサーバIDを取得する。具体的には、CPU432は、まず、図4に示したアプリケーション配備状態テーブル421(図5参照)から、アプリケーションIDのカラムの値が、本プログラムの入力値として指定されたアプリケーションIDと一致し、かつそのアプリケーションIDのアプリケーションの状態のカラムの値が、「削除済」であるレコードを検索する。そして、CPU432は、その検索にヒットした全てのレコードにおける配備先サーバIDのカラムの値を取得する。そして、その取得した値をワークエリア409に保存する。
ステップ1014では、CPU432は、任意に選択されたサーバIDのサーバのIPアドレスを取得する。具体的には、CPU432は、図4に示したサーバIPアドレス管理テーブル422(図6参照)から、サーバIDのカラムの値がステップ1013で取得したサーバIDと一致するレコードを検索し、検索でヒットしたレコードのIPアドレスのカラムの値を取得する。
ステップ1018では、CPU432は、配備対象のアプリケーションIDのアプリケーションについて、強制配備先を決定する。具体的には、CPU432は、ステップ1015で保存したサーバのCPU利用率の中で最も低い値を選択し、その選択したCPU利用率に対応するサーバIDをワークエリア409に保存する。
ステップ1022では、CPU432は、閾値を取得する。具体的には、CPU432は、まず、図4に示した負荷テスト設定情報テーブル423(図7参照)から、アプリケーションIDのカラムの値が、本プログラムへの入力値として指定されたアプリケーションIDと一致するレコードを検索する。そして、CPU432は、その検索にヒットしたレコードの閾値のカラムの値を取得する。
ステップ1024では、CPU432は、配備先または強制配備先のサーバIDのサーバにアプリケーションの配備要求を発行する。具体的には、CPU432は、ステップ1023で取得したIPアドレスに該当するサーバIDのサーバ上で稼動するアプリケーション実行プログラム151Bへ、当該アプリケーションの配備要求または強制配備要求を発行する。
ステップ1102では、サーバAのCPU利用率(性能情報)を、当該サーバ上のOSに収集を依頼し、その結果を取得する。
ステップ1103では、ステップ1102で取得したCPU利用率(性能情報)を、運用制御装置105上のアプリケーション配備プログラム404へ返送する。
ステップ1201では、クライアント群や図1に示した運用制御装置105からのリクエストを監視すると共に、運用制御装置105からコマンドを受信して、そのコマンドがアプリケーションの配備要求の場合(1201の配備要求)にはステップ1202に進む。他方、そのコマンドがアプリケーションの削除要求の場合(1201の削除要求)には、ステップ1209に進む。また、ステップ1201において、運用制御装置105から受信したコマンドが、配備要求や削除要求以外のその他のコマンドの場合(1201のその他)にはステップ1201を継続する。
ステップ1203では、ステップ1202で受信したアプリケーションのインストールに必要なアーカイブファイルなどを図示しないメモリ等の適切な場所に展開する。
ステップ1205では、ステップ1202で受信した情報に含まれるアプリケーション起動・停止手順ファイルに書かれている手順に従い、図示しないアプリケーション起動プログラムを実行する。
ステップ1206では、閾値テーブル154Aにレコードを追加し、アプリケーションIDのカラム、および閾値のカラムに、ステップ1202で受信したアプリケーションID、および閾値を書き込む。
ステップ1208では、図1に示した運用制御装置105上のアプリケーション配備プログラム404にアプリケーションの配備が完了したことを通知する。以上でアプリケーション実行プログラム151Aにおけるアプリケーション配備要求を受けた場合の処理が終了し、ステップ1201へ戻る。
ステップ1209では、アプリケーション監視プログラム152Aに対し、ステップ1201で受信したコマンドであるアプリケーション削除要求の引数として指定されたアプリケーションIDを渡して、アプリケーションの稼動状況の監視停止を要求する。
ステップ1211では、アプリケーション起動・停止手順ファイルに書かれている手順に従い、ステップ1201で受信したコマンドであるアプリケーション削除要求の引数として指定されたアプリケーションIDに該当するアプリケーションのアンインストールプログラムを実行する。つまり、削除対象のアプリケーションのアンインストールを行う。
ステップ1213では、図1に示した運用制御装置105上の図4に示したアプリケーション事前配備制御プログラム405にアプリケーションの削除が完了したことを示すメッセージを通知する。以上でアプリケーション実行プログラム151Aにおけるアプリケーション削除要求を受けた場合の処理が終了し、ステップ1201へ戻る。
そして、前記計測された値、もしくは前記計測された値の数回分の平均値が、閾値テーブル154A上の閾値を超えたか否かを定期的に判断し、閾値を超えた場合、運用制御装置105上の図1に示したイベント受信プログラム401へ、負荷増大通知と、負荷が閾値を超えたアプリケーションのアプリケーションID、および本プログラムが実行されているサーバAのサーバIDを送信する。
ステップ1303では、図4に示したアプリケーション配備状態テーブル421上の、アプリケーションIDのカラムの値、および配備先サーバIDのカラムの値が、それぞれ本プログラムへの入力値として指定されたアプリケーションID、およびサーバIDであるレコードを検索し、検索にヒットしたレコードのアプリケーションの状態のカラムの値を「稼動中」に更新する。
ステップ1401では、負荷分散装置103の設定変更要求を受け付けたか否かを判断し、受け付けていない場合(No)は、それを受け付けるまでステップ1401を繰り返し、他方、それを受け付けた場合(Yes)はステップ1402に進む。
ステップ1402では、図1に示したリクエスト分配先情報管理テーブル162上の、アプリケーションIDのカラム、および配備先IPアドレスのカラムに、それぞれ、ステップ1401で受信した、アプリケーションID、サーバのIPアドレスを書き込む。
ステップ1403では、負荷分散装置103の設定変更要求の要求元であるリクエスト分配制御プログラム406へ、設定変更完了メッセージを返送する。
ステップ1505では、図4に示した負荷テスト対象サーバ情報410にデータが存在するか否かを判断し、データが存在しなければ(No)、負荷テストが終了していると判断し、図15Aのステップ1506,1507および図15Bのステップ1508〜1514までの事前配備等の処理を行わず、図15Bのステップ1515に進む。他方、負荷テスト対象サーバ情報410にデータが存在する場合(1505のYes)には、ステップ1506に進む。
ステップ1507では、図4に示した負荷テスト強制終了フラグ412をONに更新する。これにより、負荷テスト実行プログラムに、負荷テスト終了の指示を伝える。
ステップ1510では、ステップ1509で取得したIPアドレスに該当するサーバ上のアプリケーション実行プログラムに、アプリケーション削除要求と、当該コマンドの引数として、負荷テスト不合格アプリケーション情報411に書かれているアプリケーションIDとを送信する。このようにして、負荷が閾値を超えたアプリケーションの削除を要求する。
ステップ1514では、ステップ1512で起動したアプリケーション配備プログラムの入力値となったサーバIDを入力値として、図4に示したアプリケーション事前配備制御プログラム405を再帰的に呼び出す。これにより、事前配備先サーバの負荷テストを実施し、必要に応じた事前配備(強制配備を含む)と、事前配備に伴う負荷テストが繰り返し行われる。
そして、対応付けられているアプリケーション配備時間が存在する場合(1515のNo)は、ステップ1516に進み、他方、存在しない場合(1515のYes)は、本プログラムを終了する。
ステップ1602では、図4に示したサーバIPアドレス管理テーブル422(図6参照)から、サーバIDのカラムの値が、本プログラムへの入力値として指定されたサーバIDと一致するレコードを検索し、検索にヒットしたレコードのIPアドレスのカラムの値、すなわちテスト対象サーバのIPアドレスを取得する。
ステップ1604では、図4に示した負荷テスト対象サーバ情報410に本プログラムへの入力値であるサーバIDを書き込む。
ステップ1605では、負荷テストの開始時間である現在の時刻を取得し、次のステップ1606では、設定されたリクエスト送信頻度に合わせてリクエストを送信するために、現在の時間を取得する。この現在の時間は、リクエストを送信するためのタイミング計算用として利用される。
ステップ1608では、ステップ1605で取得した負荷テスト開始時間から、ステップ1601で取得した負荷テスト最大継続時間を経過したかを判断し、経過していない場合(No)はステップ1609に進み、他方、経過している場合(1608のYes)は、ステップ1612に進む。
ステップ1610では、ステップ1603で取得した負荷テスト用URLにリクエストを送信し、ステップ1606に戻る。
ステップ1611では、図4に示した負荷テスト強制終了フラグ412をOFFに更新する。
ステップ1612では、図4に示した負荷テスト対象サーバ情報410のデータを削除し、本プログラムの処理を終了する。
ステップ1701では、あるサーバから負荷増大通知を受信したか否かを判断し、受信していなければ(No)、受信するまで繰り返す。そして、負荷増大通知を受信したら(1701のYes)、負荷増大通知とともに、送信されてきたサーバIDおよびアプリケーションIDをワークエリア409に保存し、ステップ1702に進む。ここでいうサーバIDは、負荷増大通知の通知元サーバのサーバIDであり、アプリケーションIDは、負荷が閾値を超えたことを検知されたアプリケーションのアプリケーションIDである。
ステップ1703では、負荷テスト対象サーバ情報410に書かれているサーバIDと、ステップ1701でワークエリア409に保存したサーバIDとが一致するか否かを判断する。つまり、負荷増大通知を行ったサーバと、負荷テスト対象となっているサーバが同じであるか否かを判断する。そして、その判断の結果、一致する場合(1703のYes)はステップ1704に進み、他方、一致しない場合(1703のNo)は、ステップ1705に進む。
ステップ1705では、図4に示した負荷分散制御プログラム402に、ステップ1701でワークエリア409に保存したサーバID、およびアプリケーションIDを入力値として渡して、負荷分散制御プログラム402が起動し、ステップ1701に戻る。また、存在したアプリケーションIDを書き込み、ステップ1701に戻る。
そして、その判断の結果、前記検索にヒットしたレコードが存在する場合、すなわち事前配備されている場合(1801のYes)には、検索にヒットしたレコード上の配備先サーバIDのカラムの値を取得し、ステップ1802に進む。他方、存在しない場合、すなわち事前配備されていない場合(1801のNo)は、ステップ1803に進む。
ステップ1803では、図4に示したアプリケーション配備プログラム404に、本プログラムへの入力値として指定されたアプリケーションIDを入力値として渡して、アプリケーション配備プログラム404が起動し、戻り値としてサーバIDを受け取る。これにより、負荷が閾値を超えたアプリケーションIDのアプリケーションを、そのアプリケーションが配備されていないサーバに配備する。
図4に示した運用制御プログラム403が、オペレータの操作により起動されると、図4に示したアプリケーション配備プログラム404が起動する。ここでは、図4に示したCPU432がアプリケーション配備プログラム404を読み出して実行するものとする。
アプリケーション配備プログラム404は、各サーバA〜CのCPU利用率を取得し、その時点で最もCPU利用率の低いサーバ(例えばサーバA)にアプリケーションDを新規に配備する(同図(1))。そして、アプリケーション配備状態テーブル421に、アプリケーションIDのカラムの値がD、配備先サーバIDのカラムの値がAであるレコードを追加する(同図(2))。このとき、追加したレコードのアプリケーションの状態のカラムの値を「待機中」にする。
この負荷テストの結果、例えば、アプリケーションAの負荷(レスポンスタイム)が、予め設定された閾値を超えなかった場合、イベント受信プログラム401は、負荷テスト実施中に負荷増大通知を受信しないため、サーバA上の強制配備ではない全てのアプリケーションの負荷テストが終了する。そして、アプリケーション事前配備制御プログラム405が終了する。
このように、負荷テストに不合格となったアプリケーション(本例ではアプリケーションD)のみ事前配備が行われるため、無駄な計算機資源の使用を抑えながら、アプリケーションへの急激な負荷増大への対処の準備が可能となる。
サーバA上で稼動中のアプリケーションDに対するクライアントからのリクエストが集中した場合(同図(12))、サーバA上のアプリケーションDの負荷増大通知をイベント受信プログラム401が受信する(同図(13))。イベント受信プログラム401は、負荷テストが終了して負荷テスト対象サーバ情報410にデータが存在しないため、すなわち、どのサーバでも負荷テストが実施されていないため、負荷増大通知元サーバのサーバID(「A」)、および負荷が閾値を超えたアプリケーションのアプリケーションID(「D」)を入力として負荷分散制御プログラム402を起動する。
本発明の第2実施形態について説明する。
図20は、第2実施形態の運用制御装置105の構成を示すブロック図である。なお、第1実施形態と同一部分には同一符号を付して重複説明を省略する。
図20では、運用制御プログラム2001およびアプリケーション事前配備制御プログラム2002が、第1実施形態の場合と処理手順が異なっている。また、テスト実施状況管理テーブル2003および負荷テストスケジュール管理テーブル2004が、第1実施形態の場合と異なり追加されている。その他の運用制御装置105を含む全体システムの構成は第1実施形態と同様である。
テスト実施状況管理テーブル2003には、サーバID、およびテスト実施状況が格納されている。テスト実施状況とは、負荷テストの実施の有無を指し、ここでは「テスト済み」と「テスト未実施」の2つの状態がある。「テスト済み」は、サーバA〜Cのテストが済んだ状態を表し、「テスト未実施」はサーバのテストが未実施であることを表す。このように構成することにより、運用管理装置105が管理しているサーバA〜Cの負荷テストの実施状況を管理することが可能となる。
負荷テストスケジュール管理テーブル2004には、負荷テスト実施時刻が格納されている。負荷テスト実施時刻は、負荷テストを実施する時刻を指し、先頭レコードから時間順に格納されている。
このアプリケーション事前配備制御プログラム2002の処理手順では、図15Aおよび図15Bに示したステップ1501〜1516に、ステップ2301〜ステップ2304を追加した点が図15Aおよび図15Bの場合と異なる。そこで以下では、ステップ2301〜2304について説明する。
そして、その判断の結果、前記レコードが存在し、他のサーバへ事前配備されている場合(2301のYes)には、図23Bのステップ1515に進む。他方、存在せず、他のサーバへ事前配備されていない場合(2301のNo)には、ステップ1504に進む。これにより、ステップ1502で負荷テスト対象に選択したアプリケーションが、他のサーバへ事前配備されているか否かを判断し、その判断の結果、事前配備されているサーバが存在する場合は、前記アプリケーションについての負荷テストを実施しないことになる。
そして、その判断の結果、前記レコードが存在し、他のサーバへ事前配備されていると判断された場合(2302のYes)には、ステップ2303に進む。他方、存在せず、事前配備されていないと判断された場合(2302のNo)には、ステップ1512に進む。ここで、前記したレコードが存在する場合というのは、負荷テスト対象となっているアプリケーションの負荷テスト中に、当該サーバに配備されている負荷テスト対象アプリケーション以外のアプリケーションの負荷が閾値を超え、かつ当該アプリケーションが、当該アプリケーションが配備されているサーバ以外のサーバへ事前配備されている場合を意味する。このような場合、事前配備は行わない。
ステップ2304では、テスト実施状況管理テーブル2003上で、負荷テスト対象サーバのサーバIDのレコードのテスト実施状況のカラムの値を「テスト済み」に更新する。
ここで、オペレータが行う事前準備を説明する。オペレータは、第1実施形態における事前準備に加え、テスト実施状況管理テーブル2003に、サーバIDのカラムに各サーバID、テスト実施状況のカラムの値を、全て「テスト未実施」に設定する。そして、負荷テストスケジュール管理テーブル2004に負荷テストを実施する時刻を時間順に設定する。
ステップ2401では、負荷テストスケジュール管理テーブル2004にレコードが存在するか否かを判断することにより、全てのスケジュールが終了したか否かを判断する。そして、レコードが存在し、全てのスケジュールが終了していないと判断された場合(2401のNo)は、ステップ2402に進む。他方、レコードが存在せず、全てのスケジュールが終了していると判断された場合(2401のYes)には、本プログラムを終了する。
ステップ2403では、テスト実施状況管理テーブル2003の先頭レコードのサーバIDのカラムの値を取得してそのサーバを選択し、ワークエリア409に保存する。
ステップ2404では、現在の時刻を取得し、それがステップ2402で取得した時刻と一致するか否かを判断することにより、負荷テスト実施時間になったか否かを判断する。そして、その判断の結果、双方の時刻が一致せず、負荷テスト実施時間になっていないと判断した場合(2404のNo)は、ステップ2404を繰り返す。他方、双方の時刻が一致して、負荷テスト実施時間になったと判断した場合(2404のYes)は、2005に進む。
ステップ2409では、負荷テストスケジュール管理テーブル2004の先頭レコードを削除し、ステップ2401に戻る。
このように、スケジュールに従って負荷テストを行い、運用状況に合わせてアプリケーションを事前配備することも可能である。
本発明の第3実施形態について説明する。
図25は、第3実施形態の運用制御装置105の機能構成を示すブロック図である。なお、第1実施形態と同一部分には同一符号を付して重複説明を省略する。
図25では、アプリケーション事前配備制御プログラム2501が、第1実施形態の場合と処理が異なっている。その他の運用制御装置105を含む全体システムの構成は第1実施形態と同様である。
図26Aのステップ1505において、負荷テスト中に負荷テスト対象アプリケーションの負荷増大通知を受信しなかったため、負荷テスト対象サーバ情報410にデータが存在しなかった場合(1505のNO)、ステップ2601に進む。
そして、その判断の結果、他のサーバに事前配備されていると判断した場合(2601のYes)には、前記レコードの配備先サーバIDのカラムの値を取得してステップ2602に進み、他方、事前配備されていないと判断した場合(2601のNo)には、図26Bのステップ1515に進む。
ステップ2604では、アプリケーション配備状態テーブル421上の配備先サーバIDのカラムの値、およびアプリケーションIDのカラムの値が、それぞれステップ2201で取得したサーバID、およびステップ1502で選択したアプリケーションIDと一致するレコードを検索する。そして、その検索にヒットしたレコードを削除し、図26Bのステップ1515に進む。
Claims (8)
- クライアントからのアプリケーションへの要求に従って複数のサーバ間で負荷分散制御を行うアプリケーション運用制御システムにおけるアプリケーション運用制御方法であって、
前記アプリケーション運用制御システムに用いられる運用制御装置は、前記アプリケーションを記憶する記憶装置と、前記アプリケーションの配備を制御する処理装置とを備え、
前記処理装置は、
前記複数のサーバのうちの所定のサーバに配備または事前配備されている特定のアプリケーションに対して、テスト用のリクエストを送信させる負荷テストを実行し、前記負荷テストで不合格となった場合、当該アプリケーションに対するテスト用のリクエストの送信を停止させて負荷テストを停止し、当該アプリケーションを記憶装置から読み出して、前記複数のサーバのうちの他のサーバに事前配備し、稼動待機中とする負荷テストステップと、
前記負荷テストステップを実行中の前記所定のサーバ以外のサーバから負荷増大通知を受け付けたとき、前記事前配備した稼動待機中のアプリケーションを、前記事前配備したサーバ上で稼動させる稼動ステップと、
を実行することを特徴とするアプリケーション運用制御方法。 - 前記処理装置は、前記負荷テストで不合格となったアプリケーションを前記他のサーバに事前配備した後に、前記事前配備先のサーバに対して、前記負荷テストステップを再帰的に実行させること
を特徴とする請求項1に記載のアプリケーション運用制御方法。 - 前記処理装置は、前記負荷テストステップを実行する前記所定のサーバに配備または事前配備されている複数のアプリケーションについて、配備された時間が早いアプリケーションから順に、特定のアプリケーションとして負荷テストを実施すること
を特徴とする請求項1または請求項2に記載のアプリケーション運用制御方法。 - 前記処理装置は、前記負荷テストステップを実行する前記所定のサーバに対して、アプリケーションが配備または事前配備されたタイミングで、負荷テストを実施すること
を特徴とする請求項3に記載のアプリケーション運用制御方法。 - クライアントからのアプリケーションへの要求に従って複数のサーバ間で負荷分散制御を行うアプリケーション運用制御システムであって、
前記アプリケーション運用制御システムに用いられる運用制御装置は、前記アプリケーションを記憶する記憶装置と、前記アプリケーションの配備を制御する処理装置とを備え、
前記処理装置は、
前記複数のサーバのうちの所定のサーバに配備または事前配備されている特定のアプリケーションに対して、テスト用のリクエストを送信させる負荷テストを実行し、前記負荷テストで不合格となった場合、当該アプリケーションに対するテスト用のリクエストの送信を停止させて負荷テストを停止し、当該アプリケーションを記憶装置から読み出して、前記複数のサーバのうちの他のサーバに事前配備し、稼動待機中とする負荷テストステップと、
前記負荷テストステップを実行中の前記所定のサーバ以外のサーバから負荷増大通知を受け付けたとき、前記事前配備した稼動待機中のアプリケーションを、前記事前配備したサーバ上で稼動させる稼動ステップと、
を実行することを特徴とするアプリケーション運用制御システム。 - 前記処理装置は、前記負荷テストで不合格となったアプリケーションを前記他のサーバに事前配備した後に、前記事前配備先のサーバに対して、前記負荷テストステップを再帰的に実行させること
を特徴とする請求項5に記載のアプリケーション運用制御システム。 - 前記処理装置は、前記負荷テストステップを実行する前記所定のサーバに配備または事前配備されている複数のアプリケーションについて、配備された時間が早いアプリケーションから順に、特定のアプリケーションとして負荷テストを実施すること
を特徴とする請求項5または請求項6に記載のアプリケーション運用制御システム。 - 前記処理装置は、前記負荷テストステップを実行する前記所定のサーバに対して、アプリケーションが配備または事前配備されたタイミングで、負荷テストを実施すること
を特徴とする請求項7に記載のアプリケーション運用制御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004377746A JP4189379B2 (ja) | 2004-12-27 | 2004-12-27 | アプリケーション運用制御方法およびシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004377746A JP4189379B2 (ja) | 2004-12-27 | 2004-12-27 | アプリケーション運用制御方法およびシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006185152A JP2006185152A (ja) | 2006-07-13 |
JP4189379B2 true JP4189379B2 (ja) | 2008-12-03 |
Family
ID=36738227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004377746A Expired - Fee Related JP4189379B2 (ja) | 2004-12-27 | 2004-12-27 | アプリケーション運用制御方法およびシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4189379B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4751265B2 (ja) * | 2006-08-01 | 2011-08-17 | 株式会社日立製作所 | リソース管理システム及びその方法 |
CN102027725A (zh) * | 2008-05-15 | 2011-04-20 | 朗讯科技公司 | Diameter应用的端到端过载控制方法和网络单元 |
JP5195913B2 (ja) * | 2008-07-22 | 2013-05-15 | トヨタ自動車株式会社 | マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法 |
JP5884595B2 (ja) * | 2012-03-29 | 2016-03-15 | 富士通株式会社 | メッセージ通信方法,メッセージ通信プログラムおよびコンピュータ |
JP5933118B2 (ja) * | 2013-04-24 | 2016-06-08 | 三菱電機株式会社 | 試験装置及び試験方法及びプログラム |
JP6221761B2 (ja) * | 2014-01-16 | 2017-11-01 | 日本電気株式会社 | アプリケーション配備システム、アプリケーション配備方法及びそのプログラム |
EP3125468B1 (en) * | 2014-04-23 | 2019-01-02 | Huawei Technologies Co., Ltd. | Cloud application processing method and application deployment method and relevant apparatus and system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10260851A (ja) * | 1997-03-21 | 1998-09-29 | Toshiba Corp | クライアントサーバシステムならびに同システムにおけるサーバの割り付け方法、及び同システムにおけるサーバ負荷の制御方法 |
JP2000250878A (ja) * | 1999-02-25 | 2000-09-14 | Nec Corp | 負荷分散システム |
JP2002183106A (ja) * | 2000-12-11 | 2002-06-28 | Hitachi Ltd | サービス切替システム及び方法 |
JP2002342296A (ja) * | 2001-05-17 | 2002-11-29 | Nec Corp | ネットワークシステム |
US20020178254A1 (en) * | 2001-05-23 | 2002-11-28 | International Business Machines Corporation | Dynamic deployment of services in a computing network |
-
2004
- 2004-12-27 JP JP2004377746A patent/JP4189379B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006185152A (ja) | 2006-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7933995B2 (en) | Computer program and apparatus for controlling computing resources, and distributed processing system | |
US8584127B2 (en) | Storage medium storing job management program, information processing apparatus, and job management method | |
US9244731B2 (en) | Migration management apparatus and migration management method | |
JP6963168B2 (ja) | 情報処理装置、メモリ制御方法およびメモリ制御プログラム | |
JP5285353B2 (ja) | 複数のサービス構成要素に対応するアクションの実行を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム | |
US8191069B2 (en) | Method of monitoring performance of virtual computer and apparatus using the method | |
US20090313630A1 (en) | Computer program, apparatus, and method for software modification management | |
US10635473B2 (en) | Setting support program, setting support method, and setting support device | |
JP5239075B2 (ja) | 複数のサービスステップを含むサービスプロセスを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム | |
JP2009519523A (ja) | 仮想データ・センタ複合体内のターゲット仮想オペレーティング・システムのパフォーマンスをモニタするための方法、システム、およびコンピュータ・プログラム | |
JP6246923B2 (ja) | 管理サーバ、計算機システム及び方法 | |
WO2010050524A1 (ja) | バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム | |
JP4479284B2 (ja) | 計算機システムのモニタリングを設定する管理計算機及びシステム | |
CN106789308B (zh) | 一种微服务架构可自动伸缩的gis服务装置及其控制方法 | |
JPH10301760A (ja) | ソフトウェア自動配布管理システム及び方法 | |
JP4189379B2 (ja) | アプリケーション運用制御方法およびシステム | |
US20080295103A1 (en) | Distributed processing method | |
JPWO2007108062A1 (ja) | サーバ管理方法、プログラム及び装置 | |
JP5660986B2 (ja) | データ処理システム及びデータ処理方法及びプログラム | |
JP4700104B2 (ja) | サーバ管理方法、プログラム及び装置 | |
JP4232606B2 (ja) | ファイル配信システム、クライアントプログラム、クライアント、サーバプログラム、サーバ、及び方法 | |
JP6568232B2 (ja) | 計算機システム、及び、装置の管理方法 | |
JP2008217299A (ja) | ジョブネット実行システムおよびジョブネット実行方法 | |
JP2010009555A (ja) | 情報処理装置及びプログラム | |
JP2006344025A (ja) | 稼動性能データ取得方法、性能監視サーバ、業務サーバ、計算機及びコンピューティングシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060728 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080515 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080527 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080728 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080909 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080912 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110919 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120919 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120919 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130919 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |