JP4409498B2 - Management computer control method and server control method - Google Patents
Management computer control method and server control method Download PDFInfo
- Publication number
- JP4409498B2 JP4409498B2 JP2005309751A JP2005309751A JP4409498B2 JP 4409498 B2 JP4409498 B2 JP 4409498B2 JP 2005309751 A JP2005309751 A JP 2005309751A JP 2005309751 A JP2005309751 A JP 2005309751A JP 4409498 B2 JP4409498 B2 JP 4409498B2
- Authority
- JP
- Japan
- Prior art keywords
- load
- server
- value
- management computer
- absolute
- 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
Landscapes
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、負荷変動を迅速に検知可能な指標値を用いてサーバの負荷変動の検出を行う場合において、サーバの能力や処理内容に応じた負荷変動を検出するための許容値を算出することが可能な管理コンピュータの制御方法、及び上記指標値及び許容値を用いて負荷変動を検知するサーバの制御方法に関する。 The present invention calculates an allowable value for detecting load fluctuations according to server capabilities and processing contents when detecting server load fluctuations using an index value that can quickly detect load fluctuations. The present invention relates to a control method of a management computer capable of detecting the load, and a control method of a server that detects a load change using the index value and the allowable value.
近年、情報技術の進歩によりコンピュータの性能が急速に向上している。そして複数のコンピュータを、情報処理サービスを提供するためのサーバとして利用する形態も普及している。またこの場合、各サーバの負荷を分散するための様々な技術も開発されている(例えば特許文献1参照)。
しかしながら、例えばインタネットを介して接続されるクライアントからの処理要求に応じて情報処理サービスを提供する場合など、事前の負荷変動の予測が困難な場合がある。このような場合には、急激な負荷増大等が生じたとしても直ちにそれを検出し対処することができるようにされていることが望ましい。 However, it may be difficult to predict load fluctuations in advance, for example, when an information processing service is provided in response to a processing request from a client connected via the Internet. In such a case, it is desirable to be able to immediately detect and deal with any sudden increase in load.
ところで、サーバの負荷は、一般的にCPU(Central Processing Unit)利用率を指標にすることが多い。しかしCPU利用率は、少々の負荷変動であっても大きく変動することがあるため、所定時間内における平均値をとるなどの平準化を行う必要がある。そのためCPU利用率を負荷の指標とする場合には、実際に負荷が急激に変動した場合であっても直ちにそれを検出することができずに、負荷変動に対する迅速な対処が困難な場合がある。 By the way, in general, the load on the server is often based on a CPU (Central Processing Unit) utilization rate. However, since the CPU utilization rate may vary greatly even with a slight load variation, it is necessary to perform leveling such as taking an average value within a predetermined time. Therefore, when the CPU usage rate is used as a load index, even when the load suddenly fluctuates, it cannot be detected immediately, and it is difficult to quickly cope with the load fluctuation. .
一方で、クライアントから受信する処理要求の数をサーバの負荷の指標として用いることもできる。この場合には、処理要求の数が許容値を超えた時点で直ちに負荷の上昇を検出可能である。しかしながら、クライアントから送信される処理要求数が同じであっても処理要求の内容やサーバの能力によってサーバの負荷は変わるため、クライアントから受信した処理要求の数がサーバの負荷を反映しているとは必ずしも言えない。 On the other hand, the number of processing requests received from the client can also be used as an index of server load. In this case, it is possible to detect an increase in load immediately when the number of processing requests exceeds an allowable value. However, even if the number of processing requests sent from the client is the same, the load on the server varies depending on the content of the processing request and the server's capability, so the number of processing requests received from the client reflects the load on the server. Is not necessarily true.
本発明は上記課題を鑑みてなされたものであり、負荷変動を迅速に検知可能な指標値を用いてサーバの負荷変動の検出を行う場合において、サーバの能力や処理内容に応じた負荷変動を検出するための許容値を算出することが可能な管理コンピュータの制御方法、及び上記指標値及び許容値を用いて負荷変動を検知するサーバの制御方法を提供することを主たる目的とする。 The present invention has been made in view of the above problems, and in the case of detecting a load fluctuation of a server using an index value capable of quickly detecting the load fluctuation, the load fluctuation corresponding to the server capability and the processing content is detected. The main object is to provide a control method of a management computer capable of calculating an allowable value for detection, and a control method of a server that detects a load variation using the index value and the allowable value.
上記課題を解決するために、本発明は、1台もしくは複数台のクライアントから送信された各処理要求に対する処理結果を前記クライアントに送信する1台もしくは複数台のサーバと通信可能に接続された管理コンピュータの制御方法であって、前記管理コンピュータが、前記1台もしくは複数台のサーバ毎に、当該サーバにかかる負荷の絶対量を示すカウント可能な値である絶対負荷の許容値を算出し、前記算出した絶対負荷の許容値を前記サーバへ送信する設定調整プログラムと、前記1台もしくは複数台のサーバ毎の処理能力に応じた相対的な負荷を示す値であって、前記各サーバの処理能力に関わらず同一の値で負荷の程度を表すことができる相対負荷の許容値とを記憶する記憶装置と、前記設定調整プログラムをメモリに読み出して実行する処理装置と、前記1台もしくは複数台のサーバとの通信を行うための通信装置とを備え、前記処理装置が、前記1台もしくは複数台のサーバ毎に、当該サーバの前記絶対負荷と、前記相対負荷とを、前記通信装置を用いて前記サーバから受信し、前記1台もしくは複数台のサーバ毎に、前記通信装置を用いて前記各サーバから受信した絶対負荷と、前記記憶装置に記憶されている相対負荷の許容値と、前記通信装置を用いて前記各サーバから受信した相対負荷の値と、から前記各サーバの前記絶対負荷の許容値を算出し、前記1台もしくは複数台のサーバ毎に算出した前記絶対負荷の許容値を、前記通信装置を用いて前記各サーバに送信して設定要求することを特徴とする管理コンピュータの制御方法に関する。 In order to solve the above-mentioned problems, the present invention provides a management that is communicably connected to one or a plurality of servers that transmit a processing result for each processing request transmitted from one or a plurality of clients to the client. In the computer control method, the management computer calculates an absolute load allowable value that is a countable value indicating an absolute amount of load applied to the server for each of the one or a plurality of servers, and A setting adjustment program for transmitting the calculated absolute load allowable value to the server, and a value indicating a relative load according to the processing capacity of each of the one or more servers, the processing capacity of each server Regardless of the storage device that stores the relative load allowable value that can represent the degree of load with the same value, the setting adjustment program is read into the memory. And a processing device that performs communication with the one or more servers, and the processing device has the absolute load of the server for each of the one or more servers. And the relative load received from the server using the communication device, and the absolute load received from each server using the communication device for each of the one or a plurality of servers, and the storage device The absolute load tolerance value of each server is calculated from the relative load tolerance value stored in the server and the relative load value received from each server using the communication device. The control method of the management computer is characterized in that the absolute load allowable value calculated for each server is transmitted to the respective servers using the communication device to request setting .
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。 In addition, the problems disclosed by the present application and the solutions thereof will be clarified by the column of the best mode for carrying out the invention and the drawings.
負荷変動を迅速に検知可能な指標値を用いてサーバの負荷変動の検出を行う場合において、サーバの能力や処理内容に応じた負荷変動を検出するための許容値を算出することが可能な管理コンピュータの制御方法、及び上記指標値及び許容値を用いて負荷変動を迅速に検知するサーバの制御方法を提供することができる。 Management that can calculate an allowable value for detecting load fluctuations according to server capabilities and processing contents when detecting server load fluctuations using index values that can quickly detect load fluctuations It is possible to provide a computer control method and a server control method that quickly detects a load variation using the index value and the allowable value.
===全体構成例===
本実施の形態に係るコンピュータシステムの全体構成を図1に示す。
=== Example of Overall Configuration ===
FIG. 1 shows an overall configuration of a computer system according to the present embodiment.
本実施の形態に係るコンピュータシステムは、第1のネットワーク500を介してクライアント100と通信可能に接続され、クライアント100に対して各種情報処理サービスの提供を行う情報処理システムである。本実施の形態に係るコンピュータシステムは、管理コンピュータ200と負荷分散装置700とウェブサーバ600(特許請求の範囲に記載のサーバに相当する)とが第2のネットワーク510を介して通信可能に接続されて成る。 The computer system according to the present embodiment is an information processing system that is communicably connected to the client 100 via the first network 500 and provides various information processing services to the client 100. In the computer system according to the present embodiment, a management computer 200, a load distribution device 700, and a web server 600 (corresponding to the server described in the claims) are connected via a second network 510 so as to be communicable. It consists of
クライアント100は、情報処理サービスの提供を受けるための処理要求をウェブサーバ600に送信するコンピュータである。図1には、クライアントA100、クライアントB100、クライアントC100が例示されているが、クライアント100は1つでも良いし、複数でも良い。 The client 100 is a computer that transmits a processing request for receiving provision of an information processing service to the web server 600. FIG. 1 illustrates a client A100, a client B100, and a client C100, but there may be one client 100 or a plurality of clients 100.
ウェブサーバ600は、クライアント100から送信された各処理要求に対する処理結果をクライアント100に送信するコンピュータである。図1には、ウェブサーバA600、ウェブサーバB600、ウェブサーバC600が例示されているが、ウェブサーバ600は1つでも良いし、複数でも良い。 The web server 600 is a computer that transmits a processing result for each processing request transmitted from the client 100 to the client 100. Although FIG. 1 illustrates the web server A 600, the web server B 600, and the web server C 600, there may be one or more web servers 600.
また各ウェブサーバ600には、クライアント100から所定時間内に受信する処理要求の数の許容値(判定値とも記す)が記憶されている。許容値は、クライアント100から所定時間内に受信する処理要求の数の上限値とすることもできるし下限値とすることもできる。また詳しくは後述するが、この許容値は、クライアント100から所定時間内に受信する処理要求の数の許容値に限られず、クライアント100から受信した処理要求の数に基づいて算出される値の許容値とすることができる。例えば、クライアント100から受信した処理要求のうち現在処理中の処理件数とすることもできる。 Each web server 600 stores an allowable value (also referred to as a determination value) of the number of processing requests received from the client 100 within a predetermined time. The allowable value may be an upper limit value or a lower limit value of the number of processing requests received from the client 100 within a predetermined time. As will be described in detail later, this allowable value is not limited to the allowable value of the number of processing requests received from the client 100 within a predetermined time, but the allowable value calculated based on the number of processing requests received from the client 100 Can be a value. For example, the number of processing requests currently being processed among the processing requests received from the client 100 may be used.
各ウェブサーバ600は、クライアント100から送信された処理要求の数が上限値を超えたことを検知した場合には、その旨のメッセージを管理コンピュータ200に送信する。その場合管理コンピュータ200は、例えば予備のウェブサーバ600をコンピュータシステムに追加する等の処置を行う。あるいは例えば、各ウェブサーバ600は、上記処理要求の数が下限値を下回ったことを検知した場合には、その旨のメッセージを管理コンピュータ200に送信する。その場合管理コンピュータ200は、例えばコンピュータシステムからウェブサーバ600を削減する等の処置を行う。 When each web server 600 detects that the number of processing requests transmitted from the client 100 exceeds the upper limit value, the web server 600 transmits a message to that effect to the management computer 200. In this case, the management computer 200 performs a process such as adding a spare web server 600 to the computer system. Alternatively, for example, when each web server 600 detects that the number of processing requests has fallen below a lower limit, the web server 600 transmits a message to that effect to the management computer 200. In this case, the management computer 200 performs a measure such as reducing the web server 600 from the computer system, for example.
負荷分散装置700は、クライアント100からウェブサーバ600に送信された各処理要求を、各ウェブサーバ600に振り分けて送信するコンピュータである。もちろんウェブサーバ600が1つの場合には負荷分散装置700を設けない構成とすることもできる。またウェブサーバ600が複数の場合であっても負荷分散装置700を設けない構成とすることもできる。また詳しくは後述するが、負荷分散装置700には、負荷分散装置700がクライアント100から送信された各処理要求を各ウェブサーバ600に振り分けて送信する際の振り分け比率が記憶されている。負荷分散装置700は、この振り分け比率に従って、クライアント100から送信された各処理要求を各ウェブサーバ600に送信する。この振り分け比率は、繰り返し、例えば定期的に管理コンピュータ200により更新されるようにすることもできる。 The load balancer 700 is a computer that distributes and transmits each processing request transmitted from the client 100 to the web server 600 to each web server 600. Of course, when only one web server 600 is provided, the load balancer 700 may not be provided. Further, even when there are a plurality of web servers 600, a configuration in which the load distribution device 700 is not provided may be employed. As will be described in detail later, the load distribution apparatus 700 stores a distribution ratio when the load distribution apparatus 700 distributes and transmits each processing request transmitted from the client 100 to each web server 600. The load distribution apparatus 700 transmits each processing request transmitted from the client 100 to each web server 600 according to the distribution ratio. This distribution ratio can be updated by the management computer 200 repeatedly, for example, periodically.
管理コンピュータ200は、コンピュータシステムを管理するためのコンピュータである。例えば、上述した負荷分散装置700に記憶される振り分け比率の算出や更新、各ウェブサーバ600がクライアント100から所定時間内に受信する処理要求の数の許容値の算出、更新等を行う。また上述したウェブサーバ600の追加や削減等の処理も行う。詳しくは後述する。 The management computer 200 is a computer for managing a computer system. For example, calculation and update of the distribution ratio stored in the load distribution device 700 described above, calculation and update of the allowable value of the number of processing requests received by each web server 600 from the client 100 within a predetermined time, and the like are performed. Also, processing such as addition or reduction of the web server 600 described above is performed. Details will be described later.
第1のネットワーク500は、クライアント100とコンピュータシステムとを通信可能に接続する通信網である。第1のネットワーク500は、例えばインタネットのようなWAN(Wide Area Network)とすることもできるし、企業内における通信網とすることもできる。 The first network 500 is a communication network that connects the client 100 and the computer system in a communicable manner. The first network 500 may be a WAN (Wide Area Network) such as the Internet, or may be a communication network in a company.
第2のネットワーク510は、負荷分散装置700とウェブサーバ600と管理コンピュータ200とを通信可能に接続する通信網である。本実施例では、第1のネットワーク500と第2のネットワーク510とは別々のネットワークとしているが、これらは同一のネットワークであってもよい。 The second network 510 is a communication network that connects the load balancer 700, the web server 600, and the management computer 200 so that they can communicate with each other. In the present embodiment, the first network 500 and the second network 510 are separate networks, but they may be the same network.
===機器構成===
次に、クライアント100、管理コンピュータ200、ウェブサーバ600、負荷分散装置700のそれぞれの構成について説明する。
=== Device configuration ===
Next, configurations of the client 100, the management computer 200, the web server 600, and the load distribution apparatus 700 will be described.
クライアント100、管理コンピュータ200、ウェブサーバ600、負荷分散装置700はいずれもコンピュータであり、ハードウェア構成は基本的に同様である。そのため、これらのハードウェア構成を一つのブロック図にまとめて図2に示す。またこれらの各機能をそれぞれ実現するための制御プログラム等やテーブル等について、図3ないし図9に示す。 The client 100, the management computer 200, the web server 600, and the load distribution device 700 are all computers, and the hardware configuration is basically the same. Therefore, these hardware configurations are summarized in one block diagram and shown in FIG. Further, control programs and tables for realizing these functions are shown in FIGS.
<管理コンピュータの構成>
管理コンピュータ200は、CPU210、メモリ220、ポート230、記録媒体読取装置240、入力装置250、出力装置260、記憶装置280を備える。
<Management computer configuration>
The management computer 200 includes a CPU 210, a memory 220, a port 230, a recording medium reading device 240, an input device 250, an output device 260, and a storage device 280.
CPU210は管理コンピュータ200の全体の制御を司るもので、記憶装置280に記憶される本実施の形態に係る各種の動作を行うためのコードから構成される管理コンピュータ制御プログラム900、設定調整プログラム(特許請求の範囲に記載のプログラムに相当する)910、イベント対処プログラム920をメモリ220に読み出して実行することにより、管理コンピュータ200としての各種機能を実現する。例えばCPU210により管理コンピュータ制御プログラム900、設定調整プログラム910が実行され、メモリ220やポート230、入力装置250、出力装置260、記憶装置280等のハードウェア機器と協働することにより、負荷許容値記憶部、サーバ情報受信部、許容値算出部、判定値算出部、許容値送信部、判定値送信部が実現される。ここで、負荷許容値記憶部は、ウェブサーバ600の負荷を示す値の許容値を記憶する。この許容値は例えばシステム管理者によって設定され、管理コンピュータ200のメモリ220に記憶される。ウェブサーバ600の負荷を示す値の許容値としては例えば、CPU利用率が80%以内とすることができる。サーバ情報受信部は、ウェブサーバ600がクライアント100から受信した処理要求の数に基づいて算出される値と、ウェブサーバ600の負荷を示す値とを、ウェブサーバ600から受信する。なお、ウェブサーバ600がクライアント100から受信した処理要求の数に基づいて算出される値は、管理コンピュータ200にメッセージを送信するか否かの判定に用いる指標値である。指標値としては、例えば所定時間内にクライアント100から受信した処理要求の数とすることもできるし、現在処理中の処理件数とすることもできる。許容値算出部は、上記処理要求の数に基づいて算出される値と、上記負荷を示す値の許容値と、上記負荷を示す値と、に基づいて、上記処理要求の数に基づいて算出される値の許容値を算出する。この許容値は、例えば、クライアント100から受信する処理要求の数が毎分150件以内とすることができる。判定値算出部は、ウェブサーバ600の負荷を示す値と、上記指標値と、上記負荷許容値記憶部に記憶されているウェブサーバ600の負荷を示す値の許容値と、に基づいて、ウェブサーバ600が管理コンピュータ200にメッセージを送信するか否かの判定に用いる判定値を算出する。なお、この判定値は、上記処理要求の数に基づいて算出される値の許容値と同じである。許容値送信部は、上記算出された処理要求の数に基づいて算出される値の許容値をウェブサーバ600に送信する。判定値送信部は、算出した上記判定値をウェブサーバ600に送信する。メモリ220は例えば半導体記憶装置により構成することができる。 The CPU 210 is responsible for overall control of the management computer 200. The management computer control program 900 composed of codes for performing various operations according to the present embodiment stored in the storage device 280, a setting adjustment program (patent) Various functions as the management computer 200 are realized by reading the event handling program 920 into the memory 220 and executing it (910 corresponding to the program described in the claims). For example, the management computer control program 900 and the setting adjustment program 910 are executed by the CPU 210, and load tolerance value storage is performed by cooperating with hardware devices such as the memory 220, the port 230, the input device 250, the output device 260, and the storage device 280. A server information receiving unit, an allowable value calculating unit, a determination value calculating unit, an allowable value transmitting unit, and a determination value transmitting unit. Here, the allowable load value storage unit stores an allowable value of a value indicating the load of the web server 600. This allowable value is set by a system administrator, for example, and stored in the memory 220 of the management computer 200. As an allowable value of the value indicating the load of the web server 600, for example, the CPU usage rate can be within 80%. The server information receiving unit receives a value calculated based on the number of processing requests received by the web server 600 from the client 100 and a value indicating the load of the web server 600 from the web server 600. The value calculated based on the number of processing requests received by the web server 600 from the client 100 is an index value used for determining whether or not to send a message to the management computer 200. The index value can be, for example, the number of processing requests received from the client 100 within a predetermined time, or the number of processing cases currently being processed. The allowable value calculation unit calculates based on the number of processing requests based on the value calculated based on the number of processing requests, the allowable value of the value indicating the load, and the value indicating the load. The allowable value of the value to be calculated is calculated. This allowable value can be, for example, 150 or less processing requests received from the client 100 per minute. The determination value calculation unit is configured based on the value indicating the load of the web server 600, the index value, and the allowable value of the value indicating the load of the web server 600 stored in the allowable load value storage unit. A determination value used for determining whether or not the server 600 transmits a message to the management computer 200 is calculated. This determination value is the same as the allowable value calculated based on the number of processing requests. The allowable value transmission unit transmits the allowable value calculated based on the calculated number of processing requests to the web server 600. The determination value transmission unit transmits the calculated determination value to the web server 600. The memory 220 can be constituted by a semiconductor memory device, for example.
管理コンピュータ制御プログラム900は、例えばオペレーティングシステムのように管理コンピュータ200を制御するためのプログラムである。これにより、管理コンピュータ200が備える各種ハードウェア機器の制御やソフトウェアの制御が行われる。そして、例えばウェブサーバ600や負荷分散装置700との間の各種データの通信を行うことができる。 The management computer control program 900 is a program for controlling the management computer 200 like an operating system, for example. Thereby, control of various hardware devices and software of the management computer 200 are performed. For example, various types of data can be communicated with the web server 600 and the load distribution apparatus 700.
設定調整プログラム910は、各ウェブサーバ600がクライアント100から所定時間内に受信する処理要求の数の許容値を算出したり、負荷分散装置700に記憶される振り分け比率を算出するためのプログラムである。 The setting adjustment program 910 is a program for calculating an allowable value of the number of processing requests received by each web server 600 from the client 100 within a predetermined time or calculating a distribution ratio stored in the load balancer 700. .
イベント対処プログラム920は、ウェブサーバ600から管理コンピュータ200に送信される各種メッセージに応じた処理を行うためのプログラムである。例えば、上述したウェブサーバ600の追加や削減等を行う。ウェブサーバ600から受信したメッセージの内容と処理の内容とは、後述するイベント対処一覧テーブル810に記憶されている。イベント対処一覧テーブル810の一例を図8に示す。またウェブサーバ200から送信されるメッセージの一例を図12に示す。 The event handling program 920 is a program for performing processing according to various messages transmitted from the web server 600 to the management computer 200. For example, addition or reduction of the web server 600 described above is performed. The content of the message received from the web server 600 and the content of the processing are stored in an event handling list table 810 described later. An example of the event handling list table 810 is shown in FIG. An example of a message transmitted from the web server 200 is shown in FIG.
このように本実施の形態においては、管理コンピュータ200が、ウェブサーバ200からのメッセージを受信し、イベント対処プログラム920が実行されることにより、コンピュータシステムの自律制御が行われる。自律制御とは、システム管理者からの具体的な指示によることなく、コンピュータシステムの管理を行う制御である。自律制御の一例としては、コンピュータシステムに発生した障害や負荷の増大に対して自律的に対応する制御が挙げられる。例えば、ウェブサーバ200において障害や負荷の増大が検出された場合に、障害や負荷増大の原因の推定を自律的に行い、その結果に基づいて適切な対策を選択、実行し、その結果を評価する。これらの一連の手順を自律的に実施することにより、発生した障害や負荷増大に対して自律的に対処し、システム管理者の管理負担軽減、早期原因究明、早期回復を実現する。自律制御は、イベント対処プログラム920が、設定調整プログラム910や管理コンピュータ制御プログラム900と相互に連携して実行されることにより実現される。 As described above, in the present embodiment, the management computer 200 receives a message from the web server 200 and the event handling program 920 is executed, whereby autonomous control of the computer system is performed. Autonomous control is control that manages a computer system without specific instructions from a system administrator. As an example of autonomous control, there is control that autonomously responds to a failure or load increase that occurs in a computer system. For example, when an increase in a failure or load is detected in the web server 200, the cause of the failure or load increase is autonomously estimated, an appropriate measure is selected and executed based on the result, and the result is evaluated. To do. By autonomously carrying out these series of procedures, the system can autonomously handle failures and load increases that occur, and realizes management burden reduction, early cause investigation, and early recovery. Autonomous control is realized by the event handling program 920 being executed in cooperation with the setting adjustment program 910 and the management computer control program 900.
記録媒体読取装置240は、記録媒体1000に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ220や記憶装置280に格納される。従って、例えば記録媒体1000に記録された管理サーバ制御プログラム900や設定調整プログラム910、イベント対処プログラム930を、記録媒体読取装置240を用いて上記記録媒体1000から読み取って、メモリ220や記憶装置280に記憶するようにすることができる。 The recording medium reading device 240 is a device for reading programs and data recorded on the recording medium 1000. The read program and data are stored in the memory 220 and the storage device 280. Therefore, for example, the management server control program 900, the setting adjustment program 910, and the event handling program 930 recorded on the recording medium 1000 are read from the recording medium 1000 by using the recording medium reading device 240 and stored in the memory 220 and the storage device 280. It can be memorized.
記録媒体1000としてはフレキシブルディスクや磁気テープ、コンパクトディスク等を用いることができる。記録媒体読取装置240は管理コンピュータ200に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。 As the recording medium 1000, a flexible disk, a magnetic tape, a compact disk, or the like can be used. The recording medium reading device 240 can be built in the management computer 200 or can be externally attached.
記憶装置280は、例えばハードディスク装置や半導体記憶装置等とすることができる。記憶装置280には、管理コンピュータ制御プログラム900や設定調整プログラム910、イベント対処プログラム920、監視対象一覧テーブル800、イベント対処一覧テーブル810、負荷を示す値の許容値830が記憶される。その様子を図3に示す。 The storage device 280 can be, for example, a hard disk device or a semiconductor storage device. The storage device 280 stores a management computer control program 900, a setting adjustment program 910, an event handling program 920, a monitoring target list table 800, an event handling list table 810, and an allowable value 830 indicating a load. This is shown in FIG.
監視対象一覧テーブル800は、コンピュータシステムを構成する各コンピュータを示す情報の一覧が記載されたテーブルである。監視対象一覧テーブル800の一例を図7に示す。図7に示すように監視対象一覧テーブル800には、例えばウェブサーバ600や負荷分散装置700のIPアドレスや種別が記載される。これにより、管理コンピュータ200は、コンピュータシステム内のウェブサーバ600や負荷分散装置700を把握し、これらウェブサーバ600や負荷分散装置700と通信をすることができる。 The monitoring target list table 800 is a table in which a list of information indicating each computer constituting the computer system is described. An example of the monitoring target list table 800 is shown in FIG. As shown in FIG. 7, the monitoring target list table 800 describes, for example, the IP addresses and types of the web server 600 and the load balancer 700. Thereby, the management computer 200 can grasp the web server 600 and the load distribution device 700 in the computer system and can communicate with the web server 600 and the load distribution device 700.
イベント対処一覧テーブル810は、ウェブサーバ600から送信される各メッセージの内容と、各メッセージを受信した場合に管理コンピュータ200が実施すべき処置の内容とを対応付けて記載したテーブルである。イベント対処一覧テーブル810の一例を図8に示す。 The event handling list table 810 is a table in which the content of each message transmitted from the web server 600 is associated with the content of the action to be performed by the management computer 200 when each message is received. An example of the event handling list table 810 is shown in FIG.
負荷を示す値の許容値830は、各ウェブサーバ600のCPU利用率の許容値である。この許容値は例えばコンピュータシステムの管理者により設定されるようにすることができる。そしてコンピュータシステムの運用方針などにより適宜の値に設定される。例えばCPU利用率の許容値を80%として設定しておくことができる。 The allowable value 830 of the value indicating the load is an allowable value of the CPU usage rate of each web server 600. This allowable value can be set by an administrator of the computer system, for example. It is set to an appropriate value according to the operation policy of the computer system. For example, the allowable value of the CPU utilization rate can be set as 80%.
入力装置250は管理コンピュータ200へのデータ入力等のために用いられる装置でありユーザインタフェースとして機能する。入力装置250としては例えばキーボードやマウス等を用いることができる。 The input device 250 is a device used for data input to the management computer 200 and functions as a user interface. For example, a keyboard or a mouse can be used as the input device 250.
出力装置260は情報を外部に出力するための装置でありユーザインタフェースとして機能する。出力装置260としては例えばディスプレイやプリンタ等を用いることができる。 The output device 260 is a device for outputting information to the outside and functions as a user interface. For example, a display or a printer can be used as the output device 260.
ポート230は通信を行うための装置である。例えば第2のネットワーク510を介して行われる、ウェブサーバ600や負荷分散装置700等の他のコンピュータとの通信は、ポート230を介して行われる。また例えば、管理コンピュータ制御プログラム900や設定調整プログラム910、イベント対処プログラム920をポート230を通じて他のコンピュータから第2のネットワーク510を介して受信して、メモリ220や記憶装置280に記憶するようにすることもできる。 The port 230 is a device for performing communication. For example, communication with other computers such as the web server 600 and the load distribution device 700 performed via the second network 510 is performed via the port 230. Further, for example, the management computer control program 900, the setting adjustment program 910, and the event handling program 920 are received from another computer via the port 230 via the second network 510 and stored in the memory 220 or the storage device 280. You can also
<ウェブサーバの構成>
次に、ウェブサーバ600の構成について説明する。ウェブサーバ600は、CPU610、メモリ620、ポート630、記録媒体読取装置640、入力装置650、出力装置660、記憶装置680を備える。これらの各装置の機能は、上述した管理コンピュータ200が備える各装置と同様である。
<Web server configuration>
Next, the configuration of the web server 600 will be described. The web server 600 includes a CPU 610, a memory 620, a port 630, a recording medium reading device 640, an input device 650, an output device 660, and a storage device 680. The functions of these devices are the same as those of the devices included in the management computer 200 described above.
図4に示すように、ウェブサーバ600が備える記憶装置680には、ウェブサーバ制御プログラム930、エージェントプログラム940が記憶される。CPU610がウェブサーバ制御プログラム930、エージェントプログラム940を実行することにより、ウェブサーバ600としての各種機能が実現される。例えばCPU610によりウェブサーバ制御プログラム930、エージェントプログラム940が実行され、メモリ620やポート630、入力装置650、出力装置660、記憶装置680等のハードウェア機器と協働することにより、情報処理実行部、処理要求数記憶部、判定値記憶部、指標値算出部、送信判定部、メッセージ送信部、負荷検出部が実現される。ここで、情報処理実行部は、クライアント100から受信した処理要求に応じた情報処理を実行する。処理要求数記憶部は、クライアント100から受信した処理要求の数を記憶する。判定値記憶部は、管理コンピュータ200にメッセージを送信するか否かの判定に用いる判定値を記憶する。指標値算出部は、上記処理要求数記憶部に記憶されている処理要求の数に基づいて、管理コンピュータ200にメッセージを送信するか否かの判定に用いる指標値を算出する。送信判定部は、上記算出した指標値と上記判定値記憶部に記憶されている判定値との比較により、管理コンピュータ200にメッセージを送信するか否かの判定を行う。メッセージ送信部は、判定の結果に応じて、管理コンピュータ200にメッセージを送信する。負荷検出部は、ウェブサーバ600の負荷を示す値を検出する。 As illustrated in FIG. 4, a web server control program 930 and an agent program 940 are stored in the storage device 680 included in the web server 600. Various functions as the web server 600 are realized by the CPU 610 executing the web server control program 930 and the agent program 940. For example, the CPU 610 executes a web server control program 930 and an agent program 940 and cooperates with hardware devices such as the memory 620, the port 630, the input device 650, the output device 660, and the storage device 680. A processing request number storage unit, a determination value storage unit, an index value calculation unit, a transmission determination unit, a message transmission unit, and a load detection unit are realized. Here, the information processing execution unit executes information processing according to the processing request received from the client 100. The processing request number storage unit stores the number of processing requests received from the client 100. The determination value storage unit stores a determination value used for determining whether to transmit a message to the management computer 200. The index value calculation unit calculates an index value used for determining whether or not to transmit a message to the management computer 200 based on the number of processing requests stored in the processing request number storage unit. The transmission determination unit determines whether or not to transmit a message to the management computer 200 by comparing the calculated index value with the determination value stored in the determination value storage unit. The message transmission unit transmits a message to the management computer 200 according to the determination result. The load detection unit detects a value indicating the load of the web server 600.
ウェブサーバ制御プログラム930は、クライアント100から送信された処理要求に応じた情報処理を実行すると共に、各処理要求に対する処理結果をクライアント100に送信するプログラムである。またウェブサーバ制御プログラム930は、オペレーティングシステムのようにウェブサーバ600を制御するための機能も提供する。また、クライアント100に対して各種情報処理サービスを提供するために、アプリケーションプログラムとしての機能を有するようにすることもできる。 The web server control program 930 is a program that executes information processing according to a processing request transmitted from the client 100 and transmits a processing result for each processing request to the client 100. The web server control program 930 also provides a function for controlling the web server 600 like an operating system. In addition, in order to provide various information processing services to the client 100, a function as an application program can be provided.
エージェントプログラム940は、ウェブサーバ600を監視するための各種情報を収集し、それらの情報を管理コンピュータ200に送信するプログラムである。例えばウェブサーバ600のCPU利用率やCPU利用時間、メモリ使用量、メモリ使用率、記憶装置680の記憶容量、記憶装置680に読み書きされるデータの量、他のコンピュータとの間で送受信されるデータの量、クライアント100から処理要求を受信してから処理結果を送信するまでのレスポンス時間、所定時間内にクライアント100から受信した処理要求の数、クライアント100から受信した処理要求に応じて現在処理中の処理件数等の各種ウェブサーバ600の負荷を示す値、その他、障害や異常の発生等に関する様々な情報を収集して管理コンピュータ200に送信する。 The agent program 940 is a program that collects various information for monitoring the web server 600 and transmits the information to the management computer 200. For example, the CPU usage rate and CPU usage time of the web server 600, the memory usage amount, the memory usage rate, the storage capacity of the storage device 680, the amount of data read from and written to the storage device 680, and the data transmitted to and received from other computers , The response time from when a processing request is received from the client 100 until the processing result is transmitted, the number of processing requests received from the client 100 within a predetermined time, and currently being processed according to the processing request received from the client 100 A value indicating the load of the various web servers 600 such as the number of processes, and various other information relating to the occurrence of a failure or abnormality are collected and transmitted to the management computer 200.
ここで、エージェントプログラム940は、メトリック監視プログラム1810およびサービス提供プログラム1820からなる。その様子を図18に示す。 Here, the agent program 940 includes a metric monitoring program 1810 and a service providing program 1820. This is shown in FIG.
まず、サービス提供プログラム1820の処理例を、図22に示す。サービス提供プログラム1820は、エージェントプログラム940と共に起動し、エージェントプログラム940の停止指示が行われるまで、ステップS2210からステップS2230の処理を繰り返す(S2200)。ステップS2210では、ウェブサーバ600は、管理コンピュータ200からの要求を受信する。ウェブサーバ600は、管理コンピュータ200からの要求があれば、要求の内容を判別し(S2220)、要求内容に応じた処理を実行する(S2230)。 First, a processing example of the service providing program 1820 is shown in FIG. The service providing program 1820 is started together with the agent program 940 and repeats the processing from step S2210 to step S2230 until an instruction to stop the agent program 940 is issued (S2200). In step S2210, the web server 600 receives a request from the management computer 200. If there is a request from the management computer 200, the web server 600 determines the content of the request (S2220), and executes processing according to the requested content (S2230).
要求内容に応じた処理とは、例えば、管理コンピュータ200からのメトリック取得要求(新たな判定値を算出するための情報の送信要求)であれば、後述するメトリック履歴格納領域850から、指定されたメトリックのデータを取得し、管理コンピュータ200へ送信する。また閾値(許容値)の設定要求であれば、管理コンピュータ200から新たな許容値を受信し、メトリックの監視閾値(処理要求の数の許容値820や負荷を示す値の許容値830)を、新たな閾値に変更する。 If the processing according to the request content is, for example, a metric acquisition request from the management computer 200 (a transmission request for information for calculating a new determination value), it is designated from the metric history storage area 850 described later. Metric data is acquired and transmitted to the management computer 200. If the threshold (allowable value) setting request is received, a new allowable value is received from the management computer 200, and the metric monitoring threshold value (allowable value 820 for the number of processing requests and allowable value 830 for the load value) is set. Change to a new threshold.
次に、メトリック監視プログラム1810の処理例を、図19に示す。ウェブサーバ600は、メトリック監視プログラム1810を実行し、OSの機能やメトリック計測を行なう他プログラムから、ウェブサーバ600の負荷を示す値と、ウェブサーバ600がクライアント100から受信した処理要求の数に基づいて算出される値のメトリック値を収集する(S1910)。ウェブサーバ600の負荷を示す値としては、例えば「現在のCPU利用率」とすることができる。またウェブサーバ600がクライアント100から受信した処理要求の数に基づいて算出される値としては、例えば「前回調査時から今回調査時までの処理件数」とすることができる。もちろん、クライアント100から受信した処理要求の数としても良い。そしてウェブサーバ600は、これらのメトリック値をメトリック履歴格納領域850に、収集時刻とセットにした履歴データとして保存する(S1910)。なお、ウェブサーバ600がクライアント100から受信した処理要求の数に基づいて算出される値は、管理コンピュータ200にメッセージを送信するか否かの判定に用いる指標値として利用される。またこの指標値の算出は、ウェブサーバ600がメトリック監視プログラム1810を実行することにより行われるようにしても良い。またCPU利用率の計測は、管理コンピュータ200から、上記メトリック取得要求を受信する毎に行うようにしても良い。 Next, a processing example of the metric monitoring program 1810 is shown in FIG. The web server 600 executes the metric monitoring program 1810, and based on the value indicating the load on the web server 600 and the number of processing requests received from the client 100 by the web server 600 from other programs that perform OS functions and metric measurement. The metric value calculated is collected (S1910). As a value indicating the load of the web server 600, for example, the “current CPU usage rate” can be used. Further, the value calculated based on the number of processing requests received from the client 100 by the web server 600 can be, for example, “the number of processing cases from the previous survey to the current survey”. Of course, the number of processing requests received from the client 100 may be used. Then, the web server 600 stores these metric values in the metric history storage area 850 as history data set with the collection time (S1910). The value calculated based on the number of processing requests received by the web server 600 from the client 100 is used as an index value used for determining whether or not to send a message to the management computer 200. The calculation of the index value may be performed by the web server 600 executing the metric monitoring program 1810. The CPU usage rate may be measured every time the metric acquisition request is received from the management computer 200.
次にウェブサーバ600は、処理要求の数の許容値820(管理コンピュータ200にメッセージを送信するか否かの判定に用いる判定値)、及び負荷を示す値の許容値830を取得する(S1920)。これらの値は、管理コンピュータ200から閾値設定要求が送信される際に送信され、記憶装置680に記憶されている。また、これらの値は、管理コンピュータ200から繰り返し、例えば定期的に送信され、その都度新たな値に更新するようにすることもできる。このようにすることにより、これらの値をそのときのコンピュータシステムの動作状態が反映された状態に維持することができ、ウェブサーバ600の負荷変動の検出をより正確に行うことが可能となる。 Next, the web server 600 obtains an allowable value 820 for the number of processing requests (determination value used for determining whether or not to send a message to the management computer 200) and an allowable value 830 indicating a load (S1920). . These values are transmitted when a threshold setting request is transmitted from the management computer 200 and stored in the storage device 680. Also, these values can be repeatedly transmitted from the management computer 200, for example, periodically, and updated to new values each time. By doing so, these values can be maintained in a state in which the operation state of the computer system at that time is reflected, and the load fluctuation of the web server 600 can be detected more accurately.
次に、ウェブサーバ600は、メトリック履歴格納領域850に格納された上記履歴データを参照し、現時点での所定時間内に受信した処理要求の数に基づいて算出される値と、その許容値820とを比較する(S1930)。そして、現時点での所定時間内に受信した処理要求の数に基づいて算出される値が、許容値820より大きい場合(処理要求の許容値820の値が「下限値」を示す場合は、処理要求の許容値820より小さい場合)には、管理コンピュータ200にメッセージを送信すると判定し、管理コンピュータ200へのイベント通知(メッセージの送信)を行う(S1940)。なお、イベント通知の方法としては、JMS(Java(登録商標) Message Service)など既存のさまざまな方法が存在するため、説明を省略する。 Next, the web server 600 refers to the history data stored in the metric history storage area 850, calculates a value calculated based on the number of processing requests received within a predetermined time at the current time, and its allowable value 820. Are compared (S1930). If the value calculated based on the number of processing requests received within the predetermined time at the current time is greater than the allowable value 820 (if the value of the processing request allowable value 820 indicates the “lower limit value”, the processing When the request is smaller than the allowable value 820, it is determined that a message is to be transmitted to the management computer 200, and an event notification (message transmission) is performed to the management computer 200 (S1940). As an event notification method, there are various existing methods such as JMS (Java (registered trademark) Message Service), and the description thereof will be omitted.
エージェントプログラム940による上記処理は、OSのスケジューラ機能(UNIX(登録商標)のcronなど)や既存のジョブ管理プログラムなどにより、繰り返し、例えば定期的に実行するようにすることができる。このようにすることにより、繰り返し又は定期的なメトリック監視が可能となり、負荷増大又は負荷減少に伴い、管理コンピュータ200に迅速にイベントを通知することが可能となる。 The above processing by the agent program 940 can be repeatedly executed, for example, periodically by an OS scheduler function (such as UNIX (registered trademark) cron) or an existing job management program. In this way, repeated or periodic metric monitoring can be performed, and an event can be quickly notified to the management computer 200 as the load increases or decreases.
メトリック監視プログラム1810の実行によるメトリック監視のインターバルと、設定調整プログラム910の実行による閾値(許容値)調整のインターバルの関係の例を図20に示す。 FIG. 20 shows an example of the relationship between the metric monitoring interval by the execution of the metric monitoring program 1810 and the threshold (allowable value) adjustment interval by the execution of the setting adjustment program 910.
図20に示す例では、メトリック監視プログラム1810は10秒おきに起動してメトリックの監視を行い、設定調整プログラム910は1分おきに起動してCPU利用率と処理件数を元に閾値を調整している。すなわち、負荷増大の検知は10秒おきに行い、CPU利用率と処理件数を利用した閾値の微調整は1分おきに行っている。図20に示す例では、時刻t18から負荷が増大し、時刻t19で検知し、サーバを追加している。ここで、仮に、1分間のCPU利用率の平均値によって、負荷増大の検知を行った場合、時刻t24まで検知が遅れることになる。このように、メトリック監視プログラム1810では、CPU利用率を用いた閾値調整のインターバルとは別の、短いインターバルで起動することにより、より適切なタイミングで負荷増大の検知ができる。 In the example shown in FIG. 20, the metric monitoring program 1810 is activated every 10 seconds to monitor metrics, and the setting adjustment program 910 is activated every minute to adjust the threshold based on the CPU usage rate and the number of processes. ing. That is, the load increase is detected every 10 seconds, and the fine adjustment of the threshold using the CPU usage rate and the number of processing cases is performed every minute. In the example shown in FIG. 20, the load increases from time t18, and is detected at time t19 and a server is added. Here, if the load increase is detected based on the average value of the CPU utilization for one minute, the detection is delayed until time t24. As described above, the metric monitoring program 1810 can detect an increase in load at a more appropriate timing by starting at a short interval that is different from the threshold adjustment interval using the CPU utilization rate.
次に、メトリック監視プログラム1810による負荷変動検知の別の実現方法として、処理件数が閾値を超えたことを契機に検知できるようにすることも可能である。閾値を超えたことを契機に負荷増大を検知できるメトリック監視プログラムの実現例を図21に示す。なお、メトリック監視プログラム1810の実現方式は、本発明に制限を与えるものではない。 Next, as another method for realizing load fluctuation detection by the metric monitoring program 1810, it is possible to detect when the number of processing cases exceeds a threshold. FIG. 21 shows an implementation example of a metric monitoring program that can detect an increase in load when the threshold is exceeded. Note that the implementation method of the metric monitoring program 1810 does not limit the present invention.
ウェブサーバ600は、クライアント100からリクエスト(処理要求)を受信するたびに、リクエスト処理スレッドを起動する。リクエスト処理スレッドは、起動すると、まず現在の処理件数を1件カウントアップ(インクリメント)する(S2110)。そして、現在の処理件数と閾値を比較し(S2120)、現在の処理件数の方が大きければ、管理コンピュータ200へイベント通知を行うとの判定を行い、イベント通知を行う(S2130)。 The web server 600 activates a request processing thread each time a request (processing request) is received from the client 100. When activated, the request processing thread first counts up (increments) the current number of processes (S2110). Then, the current processing number is compared with the threshold (S2120). If the current processing number is larger, it is determined that an event notification is to be sent to the management computer 200, and the event notification is performed (S2130).
このようにすることにより、負荷増大判定のインターバルによらずに、現在の処理件数が閾値を越えたことを契機にして直ちに管理コンピュータ200へイベントの通知を行うことが可能となる。 In this way, regardless of the load increase determination interval, it becomes possible to immediately notify the management computer 200 of an event when the current number of processing cases exceeds the threshold.
ここで、ステップS2120を満たす度に、毎回イベント通知を行っては、必要以上の回数のイベントが管理コンピュータ200に通知されることになる。このため、イベント通知を行った後は、十分に現在の処理件数が下がるまで、再びイベント通知を行わないといった対処を行うのが望ましい。この場合、ウェブサーバ600は、一旦イベント通知を行った場合には、イベント通知を行った旨の情報を記憶装置680やメモリ620に記憶しておき、この情報が記憶されている間は、現在の処理件数と閾値との比較の結果によらずにイベント通知を行わないようにする。そして現在の処理件数が閾値よりも所定値以上小さくなった場合に、上記情報を消去する。このようにすることにより、管理コンピュータ200への不要なイベント通知を行わないようにすることが可能となる。 Here, every time the step S2120 is satisfied, an event notification is performed every time, so that the management computer 200 is notified of an event more than necessary. For this reason, after the event notification is performed, it is desirable to take a measure such that the event notification is not performed again until the current number of processes is sufficiently reduced. In this case, once the event notification is made, the web server 600 stores information indicating that the event notification has been performed in the storage device 680 and the memory 620, and while this information is stored, Event notification is not performed regardless of the result of the comparison between the number of processes and the threshold. Then, when the current number of processing cases becomes smaller than the threshold by a predetermined value or more, the information is deleted. In this way, unnecessary event notification to the management computer 200 can be prevented.
次に、ウェブサーバ600は、ウェブサーバ制御プログラム930にリクエストの処理を依頼し(S2140)、リクエストへのレスポンスを返した後に、現在の処理件数を1件カウントダウンする(S2150)。これにより、現在の処理件数が閾値を超えたことを契機に、管理コンピュータ200へのイベント通知が検知できる。 Next, the web server 600 requests the web server control program 930 to process the request (S2140). After returning a response to the request, the web server 600 counts down the current number of processes (S2150). As a result, event notification to the management computer 200 can be detected when the current number of processes exceeds the threshold.
なお、ここでは、リクエスト処理スレッドが起動される毎に現在の処理件数をカウントアップしているが、クライアント100からリクエストを受信する毎に、受信したリクエスト数を1件カウントアップするようにしても良い。この場合、受信したリクエスト数と閾値との比較の結果によって、負荷変動を検知し、管理コンピュータ200へイベントの通知を行うようにする。この場合には、リクエスト処理スレッドを起動することなく、管理コンピュータ200へイベント通知を行うことが可能となるため、より迅速にイベントの通知を行うことが可能となる。 Here, every time a request processing thread is activated, the current processing number is counted up. However, every time a request is received from the client 100, the number of received requests is counted up by one. good. In this case, a load change is detected based on a result of comparison between the number of received requests and a threshold value, and an event is notified to the management computer 200. In this case, the event notification can be performed to the management computer 200 without activating the request processing thread, so that the event notification can be performed more quickly.
ここで、ウェブサーバ200の負荷を示す値としては、CPU利用率やCPU利用時間、メモリ使用量など、上記に例示したように様々なものを用いることができる。これらはいずれもウェブサーバ200の負荷を表す指標として用いることができるが、図14に示すようにそれぞれ特有の特徴を有している。 Here, as the value indicating the load of the web server 200, various values such as the CPU usage rate, the CPU usage time, and the memory usage can be used as exemplified above. Any of these can be used as an index representing the load of the web server 200, but each has its own characteristic as shown in FIG.
例えばCPU利用率は、ウェブサーバ200にかかる負荷をダイレクトに知ることができるという特徴を有している。つまり高性能なコンピュータであれそうでないコンピュータであれ、例えばCPU利用率が1%であれば負荷にはまだ余裕があり、99%であれば過負荷であることが分かる。一方でCPU利用率は、ウェブサーバ200への負荷がわずかにでも変動すると大きく変動するという特徴を有する。そのため、ウェブサーバ200の負荷が本当に過負荷かどうかの判断は慎重に行う必要ある。負荷の指標としてCPU利用率を用いる場合には、所定時間内の平均値をとったり、所定時間継続して閾値を超えたかどうかをみたり等を行って、負荷の状態を判断する必要がある。このため、負荷の指標としてCPU利用率を用いる場合には、判断に時間がかかることになる。CPU利用率と同様の特徴を有する指標としては他には例えばメモリ使用率がある。 For example, the CPU utilization rate has a feature that the load on the web server 200 can be directly known. That is, it can be seen that, even if the computer is a high-performance computer or not, for example, if the CPU utilization rate is 1%, the load is still sufficient, and if it is 99%, the computer is overloaded. On the other hand, the CPU utilization rate has a feature that it fluctuates greatly when the load on the web server 200 varies even slightly. Therefore, it is necessary to carefully determine whether the load on the web server 200 is really overloaded. When the CPU usage rate is used as a load index, it is necessary to determine the state of the load by taking an average value within a predetermined time, checking whether a threshold value has been exceeded for a predetermined time, or the like. For this reason, when the CPU usage rate is used as an index of load, it takes time for the determination. Another example of an index having the same characteristics as the CPU usage rate is a memory usage rate.
また例えば、クライアント100から処理要求を受信してから処理結果を送信するまでのレスポンス時間を、ウェブサーバ200の負荷の指標として用いることもできるが、この場合は、利用者の立場に近い観点での評価ができるという特徴を有する。一方で、ウェブサーバ200が処理できないほどの負荷がかかってからレスポンス時間が長くなるという特徴を有するため、負荷増大を検知してから対処したのでは遅いことになる。 In addition, for example, the response time from the reception of the processing request from the client 100 to the transmission of the processing result can be used as an index of the load of the web server 200. In this case, from the viewpoint close to the user's standpoint It has the feature that can be evaluated. On the other hand, since it has the feature that the response time becomes longer after the load that the web server 200 cannot process is applied, it will be slow to deal with it after detecting the load increase.
また、所定時間内にクライアント100から受信した処理要求の数や現在処理中の処理件数など、クライアント100から受信した処理要求の数に基づいて算出される値をウェブサーバ200の負荷の指標として用いることもできる。しかしこの場合には、現在ウェブサーバ200が処理している処理量を知ることができ、閾値(許容値)を設定しておけば、その閾値を超える件数のリクエストを受け付けた時点で直ちに負荷増大の検出が可能であるという特徴を有する。一方で、同じ処理件数でもウェブサーバ200の処理性能や処理一件あたりのコストによってウェブサーバ200への負荷のかかり方が異なるため適切な閾値の設定が困難であるという特徴も有する。処理要求の数に基づいて算出される値と同様の特徴を有する指標としては例えばデータベーストランザクション数やコネクション数などがある。 Further, a value calculated based on the number of processing requests received from the client 100 such as the number of processing requests received from the client 100 within the predetermined time and the number of processing requests currently processed is used as an index of the load of the web server 200. You can also However, in this case, the processing amount currently being processed by the web server 200 can be known, and if a threshold value (allowable value) is set, the load immediately increases when requests exceeding the threshold value are accepted. It is possible to detect this. On the other hand, even if the number of processes is the same, there is a feature that it is difficult to set an appropriate threshold because the load on the web server 200 differs depending on the processing performance of the web server 200 and the cost per process. Examples of the index having the same characteristics as the value calculated based on the number of processing requests include the number of database transactions and the number of connections.
本実施の形態においては、ウェブサーバ200の負荷を示す値の許容値830としてのCPU利用率の許容値(例えば上限値)をあらかじめ設定しておき、ウェブサーバ200がクライアント100から所定時間内に受信した処理要求の数に、上記CPU利用率の許容値の上記所定時間内におけるウェブサーバ200のCPU利用率の平均値に対する比の値を掛けて得られる値を、ウェブサーバ200がクライアント100から所定時間内に受信する処理要求の数の許容値(上限値)820として算出するようにする。 In the present embodiment, an allowable value (for example, an upper limit value) of the CPU usage rate is set in advance as the allowable value 830 of the value indicating the load of the web server 200, and the web server 200 is within a predetermined time from the client 100. A value obtained by multiplying the number of received processing requests by the value of the ratio of the CPU usage rate allowable value to the average value of the CPU usage rate of the web server 200 within the predetermined time is obtained from the client 100 by the web server 200. It is calculated as an allowable value (upper limit) 820 of the number of processing requests received within a predetermined time.
この場合、このようにして算出された許容値820を超える処理要求をウェブサーバ200がクライアント100から受信した場合には、ウェブサーバ200のCPU利用率も上記あらかじめ設定された許容値830を超えているだろうということが予測できるのである。上述したように、クライアント100から受信した処理要求の数が許容値(閾値)820を超えたことを検出した場合には、直ちに負荷が増大したと判断することができるから、本実施の形態においては、ウェブサーバ200がクライアント100から所定時間内に受信する処理要求の数が、上記算出された許容値820を超えたことを検出するようにすることにより、ウェブサーバ200のCPU利用率が許容値830を超えたことを直ちに判断することができるのである。 In this case, when the web server 200 receives a processing request exceeding the allowable value 820 calculated in this way from the client 100, the CPU utilization rate of the web server 200 also exceeds the preset allowable value 830. It can be predicted that there will be. As described above, when it is detected that the number of processing requests received from the client 100 exceeds the allowable value (threshold value) 820, it can be immediately determined that the load has increased. By detecting that the number of processing requests that the web server 200 receives from the client 100 within a predetermined time exceeds the calculated allowable value 820, the CPU usage rate of the web server 200 is allowed. It can be immediately determined that the value 830 has been exceeded.
そして上記許容値820の算出のため、本実施の形態に係るエージェントプログラム940は、所定時間内におけるCPU利用率の平均値の算出も行っている。さらに、所定時間内にクライアント100から受信した処理要求の数と、上記算出された処理要求数の許容値820との比較を行い、許容値820を超えたことを検出した場合には、管理コンピュータ200へその旨のメッセージの送信も行う。 In order to calculate the allowable value 820, the agent program 940 according to the present embodiment also calculates the average value of the CPU utilization rate within a predetermined time. Further, the number of processing requests received from the client 100 within a predetermined time is compared with the calculated allowable number of processing requests 820, and if it is detected that the allowable value 820 has been exceeded, the management computer A message to that effect is also sent to 200.
なお、クライアント100から所定時間内に受信する処理要求の数の許容値820の算出は、管理コンピュータ200で行うようにすることもできるし、各ウェブサーバ600で行うようにすることもできる。 Note that the calculation of the allowable value 820 of the number of processing requests received from the client 100 within a predetermined time can be performed by the management computer 200 or each web server 600.
前者の場合には、各ウェブサーバ600は、管理コンピュータ200に対して所定時間(図20の例では10秒)内におけるCPU利用率の平均値と、クライアント100から上記所定時間内に受信した処理要求の数とをそれぞれ送信する。そして管理コンピュータによりそれぞれ算出されたクライアント100から所定時間内に受信する処理要求の数の許容値820を受信して、メモリ620や記憶装置680に記憶しておく。そして各ウェブサーバ600は、所定時間内にクライアント100から受信した処理要求の数と、上記算出された処理要求数の許容値820との比較を行い、許容値820を超えたことを検出した場合には、管理コンピュータ200へその旨のメッセージを送信する。上記許容値820は、繰り返し、例えば定期的に(図20の例では1分毎に)更新するようにすることもできる。これにより、クライアント100から送信される処理要求の内容が時間と共に変化しても、処理要求の数を許容値820と比較することによりウェブサーバの負荷変動を正確に検出することが可能となる。 In the former case, each web server 600 sends the average value of the CPU utilization rate within a predetermined time (10 seconds in the example of FIG. 20) to the management computer 200 and the processing received from the client 100 within the predetermined time. Send the number of requests respectively. An allowable value 820 of the number of processing requests received within a predetermined time from the client 100 calculated by the management computer is received and stored in the memory 620 or the storage device 680. Each web server 600 compares the number of processing requests received from the client 100 within a predetermined time with the allowable value 820 of the calculated processing request number, and detects that the allowable value 820 has been exceeded. Is sent to the management computer 200 to that effect. The allowable value 820 may be updated repeatedly, for example, periodically (every minute in the example of FIG. 20). As a result, even if the content of the processing request transmitted from the client 100 changes with time, it is possible to accurately detect the load fluctuation of the web server by comparing the number of processing requests with the allowable value 820.
一方後者の場合には、各ウェブサーバ600には負荷を示す値の許容値830としてのCPU利用率の許容値(例えば上限値として80%)をあらかじめ設定しておき、所定時間内におけるCPU利用率の平均値を算出する。そしてクライアント100から所定時間内に受信する処理要求の数の許容値820を算出し、メモリ620や記憶装置680に記憶しておく。そして所定時間内にクライアント100から受信した処理要求の数と、上記算出した処理要求数の許容値820との比較を行い、許容値820を超えたことを検出した場合には、管理コンピュータ200へその旨のメッセージを送信する。前者の場合と同様、上記許容値820は、繰り返し、例えば定期的に更新するようにすることもできる。 On the other hand, in the latter case, each web server 600 is set in advance with a CPU usage rate allowable value (for example, 80% as the upper limit value) as the allowable value 830 indicating the load, and the CPU usage within a predetermined time period. The average value of the rate is calculated. Then, an allowable value 820 of the number of processing requests received from the client 100 within a predetermined time is calculated and stored in the memory 620 or the storage device 680. Then, a comparison is made between the number of processing requests received from the client 100 within a predetermined time and the allowable value 820 of the calculated processing request number, and if it is detected that the allowable value 820 has been exceeded, the management computer 200 is notified. Send a message to that effect. As in the former case, the allowable value 820 can be repeatedly updated, for example, periodically.
<負荷分散装置の構成>
次に、負荷分散装置700の構成について説明する。負荷分散装置700は、CPU710、メモリ720、ポート730、記録媒体読取装置740、入力装置750、出力装置760、記憶装置780を備える。これらの各装置の機能は、上述した管理コンピュータ200が備える各装置と同様である。
<Configuration of load balancer>
Next, the configuration of the load distribution apparatus 700 will be described. The load distribution apparatus 700 includes a CPU 710, a memory 720, a port 730, a recording medium reading device 740, an input device 750, an output device 760, and a storage device 780. The functions of these devices are the same as those of the devices included in the management computer 200 described above.
図5に示すように、負荷分散装置700が備える記憶装置780には、負荷分散装置制御プログラム950、エージェントプログラム940、重み付けテーブル840が記憶される。CPU710が負荷分散装置制御プログラム950、エージェントプログラム940を実行することにより、負荷分散装置700としての各種機能が実現される。 As illustrated in FIG. 5, a load balancer control program 950, an agent program 940, and a weighting table 840 are stored in the storage device 780 included in the load balancer 700. When the CPU 710 executes the load balancer control program 950 and the agent program 940, various functions as the load balancer 700 are realized.
負荷分散装置制御プログラム950は、クライアント100からウェブサーバ600に送信された各処理要求を、各ウェブサーバ600に振り分けて送信するためのプログラムである。各処理要求の振り分けは、重み付けテーブル840に記憶されている振り分け比率に従って行われる。重み付けテーブル840の一例を図9に示す。図9に示す例では、クライアント100から送信された各処理要求を、5台のウェブサーバ(A乃至E)200に対して、10:6:5:8:5で振り分けることが示される。この振り分け比率は、繰り返し、例えば定期的に更新されるようにすることもできる。これにより、ウェブサーバ600の負荷の状態が時間と共に変化しても、各ウェブサーバ600にクライアント100からの処理要求が適切に分散されるようにすることができる。振り分け比率の更新は、例えば管理コンピュータ200により行うようにすることができる。また負荷分散装置制御プログラム950は、オペレーティングシステムのように負荷分散装置700を制御するための機能も提供する。 The load balancer control program 950 is a program for distributing and transmitting each processing request transmitted from the client 100 to the web server 600 to each web server 600. Each processing request is distributed according to a distribution ratio stored in the weighting table 840. An example of the weighting table 840 is shown in FIG. In the example shown in FIG. 9, each processing request transmitted from the client 100 is distributed to five web servers (A to E) 200 at 10: 6: 5: 8: 5. This distribution ratio can be repeatedly updated, for example, periodically. Thereby, even if the load state of the web server 600 changes with time, the processing requests from the client 100 can be appropriately distributed to each web server 600. The distribution ratio can be updated by the management computer 200, for example. The load balancer control program 950 also provides a function for controlling the load balancer 700 like an operating system.
エージェントプログラム940は、負荷分散装置700を監視するための各種情報を収集し、それらの情報を管理コンピュータ200に送信するプログラムである。例えば重み付けテーブル840に記憶されている振り分け比率を定期的に管理コンピュータ200に送信し、管理コンピュータ200から送信されてくる新たな振り分け比率を重み付けテーブル840に記憶する。 The agent program 940 is a program that collects various information for monitoring the load distribution apparatus 700 and transmits the information to the management computer 200. For example, the distribution ratio stored in the weighting table 840 is periodically transmitted to the management computer 200, and the new distribution ratio transmitted from the management computer 200 is stored in the weighting table 840.
<クライアントの構成>
次に、クライアント100の構成について説明する。クライアント100は、CPU110、メモリ120、ポート130、記録媒体読取装置140、入力装置150、出力装置160、記憶装置180を備える。これらの各装置の機能は、上述した管理コンピュータ200が備える各装置と同様である。
<Client configuration>
Next, the configuration of the client 100 will be described. The client 100 includes a CPU 110, a memory 120, a port 130, a recording medium reading device 140, an input device 150, an output device 160, and a storage device 180. The functions of these devices are the same as those of the devices included in the management computer 200 described above.
図6に示すように、クライアント100が備える記憶装置180には、クライアント制御プログラム960が記憶される。CPU110がクライアント制御プログラム960を実行することにより、クライアント100としての各種機能が実現される。 As illustrated in FIG. 6, a client control program 960 is stored in the storage device 180 included in the client 100. Various functions as the client 100 are realized by the CPU 110 executing the client control program 960.
クライアント制御プログラム960は、企業の従業員などがコンピュータシステムにより提供される情報処理サービスを利用する際に、ウェブサーバ600に対して処理要求を送信したり、ウェブサーバ600から処理結果を受信したりするためのプログラムである。オペレーティングシステムとしての制御を行う機能も含まれるようにすることもできる。 The client control program 960 transmits a processing request to the web server 600 or receives a processing result from the web server 600 when an employee of a company uses an information processing service provided by a computer system. It is a program to do. A function for performing control as an operating system may be included.
===処理の具体例===
次に、ウェブサーバ600がクライアント100から所定時間内に受信する処理要求の数の許容値820の算出や、負荷分散装置700に記憶される振り分け比率の更新等を行う場合の処理の内容について、図10及び図11を参照しながら具体的に説明する。
=== Specific Example of Processing ===
Next, the content of processing when the web server 600 calculates the allowable value 820 of the number of processing requests received from the client 100 within a predetermined time, updates the distribution ratio stored in the load balancer 700, and the like. This will be specifically described with reference to FIGS.
図10に示す例では、各クライアント100から負荷分散装置700に対して、例えば毎分1020件の処理要求が送信されている。 In the example illustrated in FIG. 10, for example, 1020 processing requests per minute are transmitted from each client 100 to the load balancer 700.
そして負荷分散装置700においては、5台のウェブサーバ600に対して、「10:6:5:8:5」の振り分け比率が設定されている。それにより、ウェブサーバA600には毎分300件(1020×10/34)の処理要求が送信され、ウェブサーバB600には毎分180件の処理要求が送信され、ウェブサーバC600には毎分150件の処理要求が送信され、ウェブサーバD600には毎分240件の処理要求が送信され、ウェブサーバE600には毎分150件の処理要求が送信されている。 In the load balancer 700, a distribution ratio of “10: 6: 5: 8: 5” is set for the five web servers 600. Thereby, 300 processing requests per minute (1020 × 10/34) are transmitted to the web server A600, 180 processing requests per minute are transmitted to the web server B600, and 150 processing requests per minute are transmitted to the web server C600. Processing requests are transmitted, 240 processing requests per minute are transmitted to the web server D600, and 150 processing requests per minute are transmitted to the web server E600.
そしてその時の各ウェブサーバ600のCPU利用率の1分間の平均値は、ウェブサーバA600乃至ウェブサーバE600のそれぞれについて、30%、45%、50%、30%、75%であったとする。 It is assumed that the average value of the CPU usage rate of each web server 600 at that time is 30%, 45%, 50%, 30%, and 75% for each of the web server A600 to the web server E600.
また、各ウェブサーバ600には、クライアント100から受信する処理要求の許容値820として、それぞれ500件、300件、250件、400件、250件が設定されているとする。 In addition, it is assumed that 500 cases, 300 cases, 250 cases, 400 cases, and 250 cases are set in each web server 600 as the allowable values 820 of the processing requests received from the client 100, respectively.
この場合、管理コンピュータ200は、図11に示す設定調整プログラム910のフローチャートに従い、以下のようにして、各ウェブサーバ600がクライアントから受信する処理要求のそれぞれの許容値820と、負荷分散装置700の振り分け比率を示す値とを算出し、各ウェブサーバ600及び負荷分散装置700に送信する。 In this case, the management computer 200 follows the flowchart of the setting adjustment program 910 shown in FIG. 11, and the permissible value 820 of the processing request received from the client by each web server 600 and the load balancer 700. A value indicating the distribution ratio is calculated and transmitted to each web server 600 and the load balancer 700.
まず管理コンピュータ200は、監視対象一覧テーブル800から、各ウェブサーバ600と負荷分散装置700のIPアドレス等の情報を取得する(S1000)。そして管理コンピュータ200は、負荷分散装置700の重み付けテーブル840に記憶されている振り分け比率を、負荷分散装置700から取得する(S1010)。次に管理コンピュータ200は、各ウェブサーバ600から、CPU利用率の1分間の平均値と、クライアント100から1分間に受信した処理要求の数とを取得する(S1020)。 First, the management computer 200 acquires information such as the IP addresses of the web servers 600 and the load balancer 700 from the monitoring target list table 800 (S1000). Then, the management computer 200 acquires the distribution ratio stored in the weighting table 840 of the load balancer 700 from the load balancer 700 (S1010). Next, the management computer 200 acquires the average value of CPU utilization for one minute and the number of processing requests received from the client 100 for one minute from each web server 600 (S1020).
そして管理コンピュータ200は、新しい振り分け比率を示す値を算出する(S1030)。新しい振り分け比率を示す値の算出は、各ウェブサーバ600毎に「クライアント100から1分間に受信した処理要求の数/CPU利用率の1分間の平均値」を計算し、その各値の比を新しい振り分け比率を示す値とすることにより算出する。つまり、図10に示す例では、新しい振り分け比率を示す値は、「(300/30):(180/45):(150/50):(240/30):(150/75)」=「10:4:3:8:2」となる。 Then, the management computer 200 calculates a value indicating the new distribution ratio (S1030). The calculation of the value indicating the new distribution ratio is performed by calculating “the number of processing requests received from the client 100 per minute / average value of CPU utilization for one minute” for each web server 600 and calculating the ratio of the respective values. Calculation is performed by using a value indicating a new distribution ratio. That is, in the example shown in FIG. 10, the value indicating the new distribution ratio is “(300/30) :( 180/45) :( 150/50) :( 240/30) :( 150/75)” = “ 10: 4: 3: 8: 2 ".
次に管理コンピュータ200は、クライアント100から1分間に受信する処理要求の数の許容値820を各ウェブサーバ600毎に算出する(S1040)。管理コンピュータ200には各ウェブサーバ600のCPU利用率の許容値として80%が予め設定されていたとすると、上記受信した1分間の処理要求の数と、そのときの1分間のCPU利用率の平均値とから、CPU利用率が80%になると予想される処理件数の数を算出する。たとえばウェブサーバA600の場合は、300×(80/30)=800件と算出される。ウェブサーバB600の場合は、180×(80/45)=320件と算出される。ウェブサーバC600の場合は、150×(80/50)=240件と算出される。ウェブサーバD600の場合は、240×(80/30)=640件と算出される。ウェブサーバE600の場合は、150×(80/75)=160件と算出される。 Next, the management computer 200 calculates a permissible value 820 for the number of processing requests received per minute from the client 100 for each web server 600 (S1040). Assuming that 80% is set in advance in the management computer 200 as the allowable value of the CPU utilization rate of each web server 600, the average number of received 1 minute processing requests and the CPU utilization rate for 1 minute at that time. From the value, the number of processing cases where the CPU usage rate is expected to be 80% is calculated. For example, in the case of the web server A600, it is calculated as 300 × (80/30) = 800 cases. In the case of the web server B600, 180 × (80/45) = 320 cases are calculated. In the case of the web server C600, 150 × (80/50) = 240 cases are calculated. In the case of the web server D600, 240 × (80/30) = 640 cases are calculated. In the case of the web server E600, 150 × (80/75) = 160 cases are calculated.
そして次に管理コンピュータ200は、負荷分散装置700に上記新しい振り分け比率を示す値を送信する(S1050)。そして各ウェブサーバ600に、上記それぞれ算出した処理件数の許容値820を送信する(S1060)。 Then, the management computer 200 transmits a value indicating the new distribution ratio to the load balancer 700 (S1050). Then, the permissible value 820 of the calculated number of processing cases is transmitted to each web server 600 (S1060).
これにより、負荷分散装置700と各ウェブサーバ600に対して、新しい振り分け比率と処理要求の許容値820とを設定することができる。この設定は、繰り返し、例えば1分ごとに行うようにすることもできる。 Thereby, a new distribution ratio and a processing request allowable value 820 can be set for the load balancer 700 and each web server 600. This setting can be repeated, for example, every minute.
なお、上記算出された新しい振り分け比率や処理要求の数の許容値820が、前回算出した値と大きく異なる場合には、各ウェブサーバ600に振り分けられる処理要求の数や各ウェブサーバ600の負荷が安定しなくなる場合がある。 When the calculated new distribution ratio and the allowable value 820 of the number of processing requests are greatly different from the previously calculated values, the number of processing requests distributed to each web server 600 and the load of each web server 600 are different. It may become unstable.
このため、本実施の形態においては、上記算出された振り分け比率の各値と、前回算出された振り分け比率の各値との各平均値により、新たな振り分け比率を算出することもできる。つまり、管理コンピュータ200に、前回ウェブサーバ200毎に算出された、処理要求の数をCPU利用率の平均値で割って得られた値をそれぞれ記憶しておき、ウェブサーバ600毎に新たに算出された、上記処理要求の数をCPU利用率平均値で割って得られた各値と、それぞれの前回の値との各平均値の比を、新たな振り分け比率として算出する様にすることもできる。 For this reason, in the present embodiment, a new distribution ratio can be calculated based on the average values of the calculated distribution ratio values and the previously calculated distribution ratio values. That is, the management computer 200 stores the values obtained by dividing the number of processing requests previously calculated for each web server 200 by the average value of the CPU usage rate, and newly calculated for each web server 600. The ratio of each average value between each value obtained by dividing the number of processing requests by the CPU utilization average value and each previous value may be calculated as a new distribution ratio. it can.
また、上記算出された処理要求の数の許容値と、それぞれ前回算出した値との平均値を、新たな処理要求の数の許容値とすることもできる。 In addition, the average value of the calculated allowable number of processing requests and the previously calculated value may be used as the allowable value of the number of new processing requests.
このようにすることにより、振り分け比率や処理要求の数の許容値を随時更新する際において、値の変化を穏やかにすることができるので、より安定した負荷分散制御を行うことができるようになる。 In this way, when the allowable values of the distribution ratio and the number of processing requests are updated as needed, the change of the values can be moderated, so that more stable load distribution control can be performed. .
もちろん、新たな振り分け比率は算出された振り分け比率の各値と前回算出された振り分け比率の各値との各平均値に限られず、算出された振り分け比率の各値と前回算出された振り分け比率の各値との間の値とすることができる。同様に、新たな処理要求の数の許容値は算出された処理要求の数の許容値とそれぞれ前回算出した値との平均値にかぎられず、算出された処理要求の数の許容値とそれぞれ前回算出した値との間の値とすることができる。 Of course, the new distribution ratio is not limited to the average value of each value of the calculated distribution ratio and each value of the previously calculated distribution ratio. It can be a value between each value. Similarly, the allowable value of the number of new processing requests is not limited to the average value of the calculated allowable number of processing requests and the previously calculated value. It can be a value between the calculated values.
===負荷変動検出時の処理===
上記のようにして、クライアント100から受信する処理要求の許容値820が設定された各ウェブサーバ600は、クライアント100からの処理要求の数が上記許容値820を超えたかどうかを判定する。この判定は、上述したエージェントプログラム940が実行されることにより行うことができる。もし許容値820を超えたことが検出された場合には、ウェブサーバ600は管理コンピュータ200に所定のメッセージ(例えば図12に示すメッセージ)を送信する。
=== Processing when load fluctuation is detected ===
As described above, each web server 600 in which the processing request allowable value 820 received from the client 100 is set determines whether the number of processing requests from the client 100 exceeds the allowable value 820. This determination can be made by executing the agent program 940 described above. If it is detected that the allowable value 820 is exceeded, the web server 600 transmits a predetermined message (for example, the message shown in FIG. 12) to the management computer 200.
一方管理コンピュータ200は、図13に示すフローに従い、イベント対処プログラム920を実行している。ウェブサーバ600から上記メッセージを受信したら、管理コンピュータ200は、受信したメッセージを解析し、「どのウェブサーバで」、「何が」起こったかを確認し(S2000〜S2020)、イベント対処一覧テーブル810の記載に従って、対処を実行する(S2030)。 On the other hand, the management computer 200 executes the event handling program 920 according to the flow shown in FIG. When the management computer 200 receives the message from the web server 600, the management computer 200 analyzes the received message, confirms “with which web server” and “what” has occurred (S2000 to S2020), and stores the event response list table 810. Take corrective action according to the description (S2030).
以上の各処理により、クライアント100からコンピュータシステムに送信される処理要求の数の変動により、各ウェブサーバ600の負荷変動を直ちに検出することができる。そして上述した自律制御が行われることにより、オペレータによる指示を特に得なくとも、コンピュータシステムの負荷を適度な状態に維持することが可能となる。これによりコンピュータシステムの信頼性を向上させることが可能となると共に、クライアント100を通じてコンピュータシステムを利用するユーザに対して、高品質の情報処理サービスを提供することが可能となる。 Through the above processes, the load fluctuation of each web server 600 can be immediately detected by the fluctuation of the number of processing requests transmitted from the client 100 to the computer system. By performing the above-described autonomous control, it is possible to maintain the load on the computer system in an appropriate state without particularly obtaining an instruction from the operator. As a result, the reliability of the computer system can be improved, and a high-quality information processing service can be provided to a user who uses the computer system through the client 100.
===その他の例===
なお、本実施の形態においては、図10に示したように、クライアント100からの処理要求の許容値820を各ウェブサーバ600毎に設定したが、図15及び図16に示すようにすることもできる。つまり、クライアント100からの処理要求の許容値820を負荷分散装置700に対して設定する。
=== Other examples ===
In this embodiment, as shown in FIG. 10, the allowable value 820 of the processing request from the client 100 is set for each web server 600, but it may be as shown in FIG. 15 and FIG. it can. That is, an allowable value 820 for a processing request from the client 100 is set for the load balancer 700.
この場合、まず管理コンピュータ200は、監視対象一覧テーブル800から、各ウェブサーバ600と負荷分散装置700のIPアドレス等の情報を取得する(S3000)。そして管理コンピュータ200は、負荷分散装置700の重み付けテーブル840に記憶されている振り分け比率を、負荷分散装置700から取得する(S3010)。次に管理コンピュータ200は、各ウェブサーバ600から、CPU利用率の1分間の平均値と、クライアント100から1分間に受信した処理要求の数とを取得する(S3020)。 In this case, first, the management computer 200 acquires information such as the IP addresses of the web servers 600 and the load balancer 700 from the monitoring target list table 800 (S3000). Then, the management computer 200 acquires the distribution ratio stored in the weighting table 840 of the load balancer 700 from the load balancer 700 (S3010). Next, the management computer 200 acquires the average value of CPU utilization for one minute and the number of processing requests received from the client 100 for one minute from each web server 600 (S3020).
そして管理コンピュータ200は、新しい振り分け比率を算出する(S3030)。新しい振り分け比率を算出するための処理内容は、図10の場合と同じである。 Then, the management computer 200 calculates a new distribution ratio (S3030). The processing content for calculating the new distribution ratio is the same as in the case of FIG.
次に管理コンピュータ200は、クライアント100から1分間に受信する処理要求の数の許容値820を、図10の場合と同様にして、各ウェブサーバ600毎に算出する(S3040)。そして管理コンピュータは各許容値の合計値を算出する(S3050)。 Next, the management computer 200 calculates the permissible value 820 of the number of processing requests received from the client 100 per minute for each web server 600 in the same manner as in FIG. 10 (S3040). Then, the management computer calculates the total value of each allowable value (S3050).
そして管理コンピュータ200は、負荷分散装置700に、上記各許容値の合計値と、新しい振り分け比率とを送信する(S3060)。 Then, the management computer 200 transmits the total value of the above allowable values and the new distribution ratio to the load balancer 700 (S3060).
図15に示す例においては、負荷分散装置700に設定される処理要求の数の許容値820は、図10において各ウェブサーバ600毎に算出した各許容値の合計値とすることができる。このようにすることによっても、コンピュータシステムを構成する各ウェブサーバ600の負荷に応じてクライアント100から送信される処理要求の数の許容値820を設定することができる。またさらに、クライアント100から負荷分散装置700に送信される処理要求の数が上記許容値820を超えた時点で直ちに、負荷の変動が検出でき、直ちに対応を行うことができるのである。 In the example shown in FIG. 15, the allowable value 820 of the number of processing requests set in the load distribution apparatus 700 can be the total value of the allowable values calculated for each web server 600 in FIG. Also by doing in this way, the allowable value 820 of the number of processing requests transmitted from the client 100 can be set according to the load of each web server 600 constituting the computer system. Furthermore, when the number of processing requests transmitted from the client 100 to the load balancer 700 exceeds the allowable value 820, a change in load can be detected and a response can be immediately taken.
また、本実施の形態に係るコンピュータシステムは、図1に示したように、管理コンピュータ200と負荷分散装置700とウェブサーバ600とを含むが、図17に示すように、さらにAPサーバ(アプリケーションサーバ)300やDBサーバ(データベースサーバ)400を備える様にすることもできる。図17に示す構成は、ウェブ3階層構成のシステムとして一般的に知られる構成である。この場合、ウェブサーバ600がクライアント100から処理要求を受信すると、ウェブサーバ600は、APサーバ300に対して、処理要求に応じた情報処理の実行要求を送信する。そしてAPサーバ300は、処理要求に応じた情報処理を実行し、処理結果をウェブサーバ600に送信する。ウェブサーバ600は処理結果をクライアント100に送信する。APサーバ300は、上記情報処理の実行に際し、必要に応じて、DBサーバ400に対して、データベースへのデータの読み書き要求を送信する。DBサーバ400は、読み書き要求に応じてデータベースへのアクセスを行い、その結果をAPサーバ300に送信する。 Further, as shown in FIG. 1, the computer system according to the present embodiment includes a management computer 200, a load balancer 700, and a web server 600, but further includes an AP server (application server) as shown in FIG. ) 300 and a DB server (database server) 400 may be provided. The configuration shown in FIG. 17 is a configuration generally known as a web three-layer system. In this case, when the web server 600 receives a processing request from the client 100, the web server 600 transmits an information processing execution request corresponding to the processing request to the AP server 300. Then, the AP server 300 performs information processing in response to the processing request and transmits the processing result to the web server 600. The web server 600 transmits the processing result to the client 100. When executing the information processing, the AP server 300 transmits a data read / write request to the database to the DB server 400 as necessary. The DB server 400 accesses the database in response to the read / write request and transmits the result to the AP server 300.
そして、ウェブサーバ600には、クライアント100から所定時間内に受信する処理要求の数の許容値820を記憶しておき、ウェブサーバ600は、この許容値を超える処理要求をクライアント100から受信した場合には、管理コンピュータ200にメッセージを送信するようにしておく。またAPサーバ300には、所定時間内にウェブサーバ600から受信する処理要求の数の許容値を記憶しておき、APサーバ300は、この許容値を超える処理要求をウェブサーバ600から受信した場合には、管理コンピュータ200にメッセージを送信するようにしておく。そしてDBサーバ400には、所定時間内のAPサーバ300から送信されるトランザクションの件数の許容値を記憶しておき、DBサーバ400は、この許容値を超えるトランザクションをAPサーバ300から受信した場合には、管理コンピュータ200にメッセージを送信するようにしておく。これらの許容値は、それぞれ、前述したのと同様にして、管理コンピュータ200により、各サーバの負荷を示す値と、各サーバが受信する処理要求の数に基づいて算出される値と、各サーバの負荷を示す値の許容値と、に基づいて算出される。 The web server 600 stores an allowable value 820 of the number of processing requests received from the client 100 within a predetermined time, and the web server 600 receives a processing request exceeding the allowable value from the client 100. First, a message is transmitted to the management computer 200. The AP server 300 stores an allowable value of the number of processing requests received from the web server 600 within a predetermined time, and the AP server 300 receives a processing request exceeding the allowable value from the web server 600. First, a message is transmitted to the management computer 200. The DB server 400 stores an allowable value of the number of transactions transmitted from the AP server 300 within a predetermined time, and the DB server 400 receives a transaction exceeding the allowable value from the AP server 300. Transmits a message to the management computer 200. In the same manner as described above, these permissible values are a value indicating the load of each server, a value calculated based on the number of processing requests received by each server, It is calculated based on the allowable value of the value indicating the load.
このようにすることにより、各サーバは、それぞれ処理要求の数が許容値を超えたことを検知した場合に直ちに、負荷増大のメッセージを管理コンピュータ200に送信することが可能となる。そして管理コンピュータ200は、これらのサーバから負荷増大のメッセージを受信した場合には、直ちに、予備のサーバをコンピュータシステムに追加する等して、メッセージを送信してきたサーバの負荷を軽減するようにすることが可能となる。なおもちろん、各サーバは、現在の処理件数が許容値を超えたことを検知した場合に、負荷増大のメッセージを管理コンピュータ200に送信するようにしても良い。 By doing so, each server can immediately transmit a load increase message to the management computer 200 when it is detected that the number of processing requests exceeds the allowable value. When the management computer 200 receives a load increase message from these servers, the management computer 200 immediately reduces the load on the server that has transmitted the message by, for example, adding a spare server to the computer system. It becomes possible. Of course, each server may transmit a load increase message to the management computer 200 when it is detected that the current number of processes exceeds the allowable value.
また本実施の形態にかかるコンピュータシステムは、図23に示す構成とすることもできる。つまり、管理コンピュータ200がDBMS(DataBase Management System 、DataBase Management Server)と接続される構成である。DBMSは、クライアント100からトランザクション(処理要求)を受信して、トランザクションの実行結果をクライアント100に送信する。管理コンピュータ200は、上記実施の形態と同様に、CPU利用率等のDBMSの負荷を示す値と、その許容値と、所定時間に受信するトランザクションの数に基づいて算出される値と、に基づいて、所定時間に受信するトランザクションの数の許容値を算出してDBMSに送信する。DBMSは、許容値を超えるトランザクションをクライアント100から受信した場合には直ちに管理コンピュータ200にメッセージを送信する。 Further, the computer system according to the present embodiment may be configured as shown in FIG. That is, the management computer 200 is connected to a DBMS (DataBase Management System, DataBase Management Server). The DBMS receives a transaction (processing request) from the client 100 and transmits the execution result of the transaction to the client 100. As in the above embodiment, the management computer 200 is based on a value indicating the DBMS load such as a CPU usage rate, an allowable value thereof, and a value calculated based on the number of transactions received in a predetermined time. Then, an allowable value of the number of transactions received in a predetermined time is calculated and transmitted to the DBMS. When the DBMS receives a transaction exceeding the allowable value from the client 100, the DBMS immediately transmits a message to the management computer 200.
また本実施の形態にかかるコンピュータシステムは、図24に示す構成とすることもできる。つまり、管理コンピュータ200がNAS(Network Attached Storage)サーバと接続される構成である。NASサーバは、クライアント100からデータの読み書き命令(処理要求)を受信して、その実行結果をクライアント100に送信する。管理コンピュータ200は、上記実施の形態と同様に、CPU利用率等のNASサーバの負荷を示す値と、その許容値と、所定時間に受信する読み書き命令の数に基づいて算出される値と、に基づいて、所定時間に受信する読み書き命令の数の許容値を算出してNASサーバに送信する。NASサーバは、許容値を超える読み書き命令をクライアント100から受信した場合には直ちに管理コンピュータ200にメッセージを送信する。 The computer system according to the present embodiment can be configured as shown in FIG. That is, the management computer 200 is connected to a NAS (Network Attached Storage) server. The NAS server receives a data read / write command (processing request) from the client 100 and transmits the execution result to the client 100. As in the above embodiment, the management computer 200 has a value indicating the load of the NAS server such as a CPU utilization rate, an allowable value thereof, a value calculated based on the number of read / write commands received in a predetermined time, Based on the above, an allowable value of the number of read / write commands received in a predetermined time is calculated and transmitted to the NAS server. When the NAS server receives a read / write command exceeding the allowable value from the client 100, the NAS server immediately transmits a message to the management computer 200.
さらに本実施の形態にかかるコンピュータシステムは、図25に示す構成とすることもできる。つまり、管理コンピュータ200がバッチジョブを実行するサーバやPC(Personal Computer)と接続される構成である。このサーバは、クライアント100からバッチ処理の要求(処理要求)を受信して、その要求に従って所定の時刻になったらバッチ処理を実行する。管理コンピュータ200は、上記実施の形態と同様に、メモリ使用率等のサーバの負荷を示す値と、その許容値と、バッチ処理の要求の数に基づいて算出される値(例えば現在実行中のバッチ処理の数)と、に基づいて、同時実行可能なバッチ処理の数の許容値を算出してサーバに送信する。サーバは、許容値を超える数のバッチ処理を実行した場合には直ちに管理コンピュータ200にメッセージを送信する。 Furthermore, the computer system according to the present embodiment may be configured as shown in FIG. That is, the management computer 200 is connected to a server or PC (Personal Computer) that executes batch jobs. This server receives a batch processing request (processing request) from the client 100, and executes the batch processing at a predetermined time according to the request. As in the above embodiment, the management computer 200 calculates a value indicating the server load such as a memory usage rate, a permissible value thereof, and a value calculated based on the number of requests for batch processing (for example, a currently executing process). Based on the number of batch processes), an allowable value of the number of batch processes that can be executed simultaneously is calculated and transmitted to the server. The server immediately sends a message to the management computer 200 when the number of batch processes exceeding the allowable value is executed.
また本実施の形態にかかるコンピュータシステムは、図26に示す構成とすることもできる。つまり、管理コンピュータ200がストレージコントローラと接続される構成である。ストレージコントローラは、クライアント100からデータの読み書き命令(処理要求)を受信して、その実行結果をクライアント100に送信する。またストレージコントローラは、ストレージ装置に記憶されているデータの量を管理している。管理コンピュータ200は、上記実施の形態と同様に、ストレージ装置の空き容量の減少率(0.1%/日)等のストレージコントローラの負荷を示す値と、その許容値(25%/日)と、データの読み書き命令の数に基づいて算出される値(例えば、ストレージ装置に記憶されるデータの増加量(1GByte/日))と、に基づいて、ストレージ装置に記憶されるデータの増加量の許容値(250Gバイト/日)を算出してストレージコントローラに送信する。ストレージコントローラは、許容値を超えるデータ量の増加を検知した場合には直ちに管理コンピュータ200にメッセージを送信する。 The computer system according to the present embodiment can also be configured as shown in FIG. That is, the management computer 200 is connected to the storage controller. The storage controller receives a data read / write command (processing request) from the client 100 and transmits the execution result to the client 100. The storage controller manages the amount of data stored in the storage device. As in the above embodiment, the management computer 200 sets a value indicating the load of the storage controller, such as the rate of decrease in the free capacity of the storage device (0.1% / day), and its allowable value (25% / day). Based on a value calculated based on the number of data read / write instructions (for example, an increase amount of data stored in the storage device (1 GByte / day)) and an increase amount of data stored in the storage device An allowable value (250 Gbyte / day) is calculated and transmitted to the storage controller. When the storage controller detects an increase in the amount of data exceeding the allowable value, it immediately sends a message to the management computer 200.
以上本実施の形態について説明したが、本実施の形態によれば、ウェブサーバ200等サーバの負荷を示す値の許容値をあらかじめ設定しておき、サーバがクライアント100から受信した処理要求の数に基づいて算出される値と、上記負荷を示す値の許容値と、サーバの負荷を示す値と、に基づいて、上記処理要求の数に基づいて算出される値の許容値を算出するようにする。このため、サーバがクライアント100から受信した処理要求の数に基づいて算出される値がこの許容値を超えた場合には、サーバの負荷を示す値も上記あらかじめ設定された許容値を超えているだろうということが予測できるのである。そしてクライアント100から受信した処理要求の数に基づいて算出される値が許容値を超えたことを検出した場合には直ちに負荷が増大したと判断することができるから、サーバがクライアント100から受信する処理要求の数に基づいて算出される値が上記算出された許容値を超えたことを検出するようにすることにより、サーバの負荷を示す値が許容値を超えたことを直ちに判断することができるのである。そしてこれにより、迅速に負荷変動を検知することができ、コンピュータシステム内のサーバを追加するなどの対処を早急に開始することが可能となる。特に、本実施の形態においては、コンピュータシステム内に性能が互いに異なるサーバが混在する場合や、時間帯や時期によってクライアント100からのアクセス頻度やアクセスパターンが異なる場合であっても、負荷変動の許容値や判定値をサーバ毎に設定したり、時間帯に応じて設定したりする等の複雑な設定をすること無く、各サーバの負荷変動を迅速に検知することが可能である。 Although the present embodiment has been described above, according to the present embodiment, an allowable value indicating a load on a server such as the web server 200 is set in advance, and the number of processing requests received from the client 100 by the server is set. Based on the value calculated based on the value, the allowable value indicating the load, and the value indicating the server load, the allowable value calculated based on the number of processing requests is calculated. To do. For this reason, when the value calculated based on the number of processing requests received from the client 100 by the server exceeds the allowable value, the value indicating the load on the server also exceeds the preset allowable value. It can be predicted. When it is detected that the value calculated based on the number of processing requests received from the client 100 exceeds the allowable value, it can be immediately determined that the load has increased, so the server receives from the client 100. By detecting that the value calculated based on the number of processing requests exceeds the calculated allowable value, it is possible to immediately determine that the value indicating the server load exceeds the allowable value. It can be done. As a result, load fluctuations can be detected quickly, and measures such as adding a server in the computer system can be started immediately. In particular, in the present embodiment, even when servers having different performances are mixed in the computer system, or even when the access frequency and access pattern from the client 100 differ depending on the time zone and time, the load variation is allowed. It is possible to quickly detect a load fluctuation of each server without setting complicated values such as setting a value or a judgment value for each server or setting according to a time zone.
さらに、処理要求の数に基づいて算出される値で負荷増大を検知し、例えば定期的にその時点での処理要求の数に基づいて算出される値と負荷を示す値を見ながら、許容値を微調整する。これにより、処理要求の数に基づいて算出される値が許容値以上になった時点で、負荷増大を検知することが可能となる。つまり、許容値の微調整処理は、負荷を示す値を使用するため、一定の時間が必要であるが、負荷増大検知は、その時点の処理要求の数に基づいて算出される値の許容値を用いるため、より迅速に行うことが可能である。さらに、各ウェブサーバ600の処理性能が異なる場合や、時間帯によって処理要求の1件あたりの処理内容が変わるケースに対しても対応が可能となる。 Further, an increase in load is detected with a value calculated based on the number of processing requests, for example, while periodically checking a value calculated based on the number of processing requests at that time and a value indicating the load, an allowable value Tweak the. Thereby, it becomes possible to detect an increase in load when a value calculated based on the number of processing requests becomes equal to or greater than an allowable value. In other words, the fine adjustment processing of the allowable value uses a value indicating the load, and thus requires a certain time. However, the load increase detection is the allowable value of the value calculated based on the number of processing requests at that time. Can be performed more quickly. Furthermore, it is possible to deal with cases where the processing performance of each web server 600 is different, or cases where the processing content per processing request varies depending on the time zone.
また、負荷分散装置700の振り分け比率も、許容値と同期して更新するようにするため、1台のサーバの処理要求の件数に基づいて算出される値が許容値を超えた場合には、他のサーバも高負荷の状態になっていることが分かるのである。従って管理コンピュータ200は、あるサーバからメッセージを受信すると、「負荷平準化などの対処を行うべきか」等の判断を行うことなく、すぐにサーバを追加する等の処置を開始することができるのである。 In addition, in order to update the distribution ratio of the load balancer 700 in synchronization with the allowable value, when the value calculated based on the number of processing requests of one server exceeds the allowable value, You can see that the other servers are also heavily loaded. Therefore, when the management computer 200 receives a message from a certain server, the management computer 200 can immediately start a process such as adding a server without making a determination such as “Is to deal with load leveling” or the like. is there.
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。 Although the best mode for carrying out the invention has been described above, the above embodiment is intended to facilitate understanding of the present invention and is not intended to limit the present invention. The present invention can be changed and improved without departing from the gist thereof, and the present invention includes equivalents thereof.
100 クライアント
200 管理コンピュータ
210 CPU
220 メモリ
230 ポート
240 記録媒体読取装置
250 入力装置
260 出力装置
280 記憶装置
300 APサーバ
400 データベースサーバ
500 第1のネットワーク
510 第2のネットワーク
600 ウェブサーバ
700 負荷分散装置
600 監視対象一覧テーブル
610 イベント対処一覧テーブル
620 負荷増大判定値
630 負荷を示す値の許容値
840 重み付けテーブル
850 メトリック履歴格納領域
900 管理サーバ制御プログラム
910 設定調整プログラム
920 イベント対処プログラム
930 ウェブサーバ制御プログラム
940 エージェントプログラム
950 負荷分散装置制御プログラム
960 クライアント制御プログラム
1000 記録媒体
100 client 200 management computer 210 CPU
220 Memory 230 Port 240 Recording Medium Reading Device 250 Input Device 260 Output Device 280 Storage Device 300 AP Server 400 Database Server 500 First Network 510 Second Network 600 Web Server 700 Load Balancing Device 600 Monitoring Object List Table 610 Event Handling List Table 620 Load increase judgment value 630 Allowable value indicating load 840 Weighting table 850 Metric history storage area 900 Management server control program 910 Setting adjustment program 920 Event handling program 930 Web server control program 940 Agent program 950 Load balancer control program 960 Client control program 1000 Recording medium
Claims (20)
前記管理コンピュータが、
前記1台もしくは複数台のサーバ毎に、当該サーバにかかる負荷の絶対量を示すカウント可能な値である絶対負荷の許容値を算出し、前記算出した絶対負荷の許容値を前記サーバへ送信する設定調整プログラムと、前記1台もしくは複数台のサーバ毎の処理能力に応じた相対的な負荷を示す値であって、前記各サーバの処理能力に関わらず同一の値で負荷の程度を表すことができる相対負荷の許容値と、を記憶する記憶装置と、
前記設定調整プログラムをメモリに読み出して実行する処理装置と、
前記1台もしくは複数台のサーバとの通信を行うための通信装置と、
を備え、
前記処理装置が、
前記1台もしくは複数台のサーバ毎に、当該サーバの前記絶対負荷と、前記相対負荷とを、前記通信装置を用いて前記サーバから受信し、
前記1台もしくは複数台のサーバ毎に、前記通信装置を用いて前記各サーバから受信した絶対負荷と、前記記憶装置に記憶されている相対負荷の許容値と、前記通信装置を用いて前記各サーバから受信した相対負荷の値と、から前記各サーバの前記絶対負荷の許容値を算出し、
前記1台もしくは複数台のサーバ毎に算出した前記絶対負荷の許容値を、前記通信装置を用いて前記各サーバに送信して設定要求する
ことを特徴とする管理コンピュータの制御方法。 A control method for a management computer communicably connected to one or a plurality of servers for transmitting a processing result for each processing request transmitted from one or a plurality of clients to the client,
The management computer is
For each of the one or a plurality of servers, an absolute load allowable value that is a countable value indicating the absolute amount of load applied to the server is calculated, and the calculated absolute load allowable value is transmitted to the server. A value indicating the relative load according to the setting adjustment program and the processing capacity of each of the one or more servers, and the degree of the load is represented by the same value regardless of the processing capacity of each server. A storage device for storing a relative load allowable value,
A processing device for reading the setting adjustment program into a memory and executing the program;
A communication device for communicating with the one or more servers;
With
The processing device is
For each one or a plurality of servers, the absolute load of the server and the relative load are received from the server using the communication device,
For each of the one or a plurality of servers, the absolute load received from each server using the communication device, the allowable value of the relative load stored in the storage device, and each of the servers using the communication device From the relative load value received from the server, the allowable value of the absolute load of each server is calculated,
A control method for a management computer, wherein the absolute load tolerance calculated for each of the one or a plurality of servers is transmitted to each of the servers using the communication device to request a setting. .
前記絶対負荷に、前記相対負荷の許容値の前記相対負荷に対する比の値を掛けることにより算出される
ことを特徴とする請求項1に記載の管理コンピュータの制御方法。 The absolute load tolerance is
Wherein the absolute load, control method for a management computer according to claim 1, characterized in that is calculated by multiplying the value of the ratio for the relative load tolerance of the relative load.
前記絶対負荷は、前記サーバが前記クライアントから所定時間内に受信した処理要求の数である
ことを特徴とする請求項1に記載の管理コンピュータの制御方法。 The relative load is a utilization rate of a processing device provided in the server,
2. The management computer control method according to claim 1, wherein the absolute load is the number of processing requests received by the server from the client within a predetermined time.
前記管理コンピュータは、前記絶対負荷と前記相対負荷とを受信する毎に、前記絶対負荷の許容値を算出し、
前記管理コンピュータは、前記絶対負荷の許容値を算出する毎に、前記算出した相対負荷の許容値を前記サーバに送信する
ことを特徴とする請求項1に記載の管理コンピュータの制御方法。 The management computer repeatedly receives the absolute load and the relative load from the server,
Each time the management computer receives the absolute load and the relative load, it calculates an allowable value of the absolute load ,
2. The management computer control method according to claim 1, wherein the management computer transmits the calculated relative load tolerance to the server each time the absolute load tolerance is calculated.
前記管理コンピュータは、前記各サーバからそれぞれ、前記絶対負荷と前記相対負荷とを受信し、
前記管理コンピュータは、前記サーバ毎に前記絶対負荷の許容値をそれぞれ算出し、
前記管理コンピュータは、前記サーバ毎に算出した前記絶対負荷の許容値を、前記各サーバにそれぞれ送信する、
ことを特徴とする請求項1に記載の管理コンピュータの制御方法。 The management computer is communicably connected to a plurality of servers that transmit processing results for each processing request transmitted from the client to the client, and stores an allowable value of the relative load .
The management computer receives the absolute load and the relative load from each of the servers;
The management computer calculates an allowable value of the absolute load for each server,
The management computer transmits the absolute load tolerance calculated for each server to each of the servers;
The management computer control method according to claim 1, wherein:
前記管理コンピュータは、前記各サーバから受信した前記絶対負荷と前記相対負荷とに基づいて、前記負荷分散装置が前記クライアントから受信した各処理要求を前記各サーバに振り分けて送信する際の振り分け比率を示す値を算出し、
前記管理コンピュータは、前記算出した振り分け比率を示す値を前記負荷分散装置に送信する、
ことを特徴とする請求項5に記載の管理コンピュータの制御方法。 The management computer is communicably connected to a load balancer that distributes and transmits each processing request transmitted from the client to each server,
Based on the absolute load and the relative load received from each server, the management computer determines a distribution ratio when the load distribution apparatus distributes and transmits each processing request received from the client to each server. Calculate the value shown,
The management computer transmits a value indicating the calculated distribution ratio to the load balancer;
The management computer control method according to claim 5.
前記各サーバから受信した前記各絶対負荷を、前記各相対負荷でそれぞれ割って得られる各値の比率を示す値である
ことを特徴とする請求項6に記載の管理コンピュータの制御方法。 The value indicating the distribution ratio is:
7. The management computer control method according to claim 6, wherein the absolute load received from each server is a value indicating a ratio of each value obtained by dividing each absolute load by each relative load .
前記管理コンピュータは、前記絶対負荷と前記相対負荷とを受信する毎に、前記振り分け比率を示す値を算出し、
前記管理コンピュータは、前記振り分け比率を示す値を算出する毎に、前記算出した振り分け比率を示す値を前記負荷分散装置に送信する
ことを特徴とする請求項6に記載の管理コンピュータの制御方法。 The management computer repeatedly receives the absolute load and the relative load from each of the servers,
The management computer calculates a value indicating the distribution ratio every time the absolute load and the relative load are received,
7. The management computer control method according to claim 6, wherein each time the management computer calculates a value indicating the distribution ratio, the management computer transmits a value indicating the calculated distribution ratio to the load distribution apparatus.
前記管理コンピュータが、前記絶対負荷に、前記相対負荷の許容値の前記相対負荷に対する比の値を掛けることにより算出される
ことを特徴とする請求項4に記載の管理コンピュータの制御方法。 The absolute load tolerance is
It said management computer, wherein the absolute load, control method for a management computer according to claim 4, characterized in that is calculated by multiplying the value of the ratio for the relative load tolerance of the relative load.
前記管理コンピュータは、前記絶対負荷の許容値を算出する際に、前記絶対負荷に前記相対負荷の許容値の前記相対負荷に対する比の値を掛けて得られる値と、前記前回算出許容値と、に基づいて、前記絶対負荷の許容値を算出する
ことを特徴とする請求項9に記載の管理コンピュータの制御方法。 The management computer stores the previously calculated allowable absolute load value as the previously calculated allowable value,
Said management computer, when calculating the permissible value of the absolute load, and a value obtained by multiplying the value of the ratio for the relative load tolerance of the relative load on the absolute load, and the previously calculated tolerance, The management computer control method according to claim 9, wherein an allowable value of the absolute load is calculated based on the control value.
前記絶対負荷に前記相対負荷の許容値の前記相対負荷に対する比の値を掛けて得られる値と、前記前回算出許容値と、の平均値である
ことを特徴とする請求項10に記載の管理コンピュータの制御方法。 The absolute load tolerance is
Administration of claim 10, wherein the value obtained by multiplying the value of the ratio for the relative load tolerance of the relative load on the absolute load, said the previously calculated tolerance, to be the average value Computer control method.
前記各サーバから受信した前記各絶対負荷を、前記各相対負荷でそれぞれ割って得られる各値の比率を示す値である
ことを特徴とする請求項8に記載の管理コンピュータの制御方法。 The value indicating the distribution ratio is:
9. The management computer control method according to claim 8, wherein the absolute load received from each server is a value indicating a ratio of each value obtained by dividing each absolute load by each relative load .
前記管理コンピュータは、前記サーバ毎に算出した前記絶対負荷を前記相対負荷で割って得られる各値と、それぞれの前回算出値と、に基づいて、前記振り分け比率を示す値を算出する
ことを特徴とする請求項12に記載の管理コンピュータの制御方法。 The management computer stores each value obtained by dividing the absolute load previously calculated for each server by the relative load as a previously calculated value,
The management computer calculates a value indicating the distribution ratio based on each value obtained by dividing the absolute load calculated for each server by the relative load and each previous calculated value. The control method of the management computer according to claim 12.
前記サーバ毎に算出した前記絶対負荷を前記相対負荷で割って得られる各値と、それぞれの前回算出値と、の各平均値の比率を示す値である
ことを特徴とする請求項13に記載の管理コンピュータの制御方法。 The value indicating the distribution ratio is:
14. The value according to claim 13, wherein each of the values obtained by dividing the absolute load calculated for each server by the relative load is a value indicating a ratio of average values of the previous calculated values. Management computer control method.
前記管理コンピュータが、
前記1台もしくは複数台のサーバ毎に、当該サーバにかかる負荷の絶対量を示すカウント可能な値である絶対負荷の許容値を算出し、算出した絶対負荷の許容値を前記サーバへ送信する設定調整プログラムと、前記1台もしくは複数台のサーバ毎の処理能力に応じた相対的な負荷の値を示す値であって、サーバの処理能力に関わらず同一の値で負荷の程度を表すことができる相対負荷の許容値と、を記憶する記憶装置と、
前記設定調整プログラムをメモリに読み出して実行する処理装置と、
前記1台もしくは複数台のサーバとの通信を行うための通信装置と、
を備え、
前記処理装置が、
前記1台もしくは複数台のサーバ毎に、当該サーバの前記絶対負荷と、前記相対負荷とを、前記通信装置を用いて前記サーバから受信し、
前記1台もしくは複数台のサーバ毎に、前記通信装置を用いて前記各サーバから受信した絶対負荷と、前記記憶装置に記憶されている相対負荷の許容値と、前記通信装置を用いて前記各サーバから受信した相対負荷の値と、を算出処理に用いて、前記各サーバの前記絶対負荷の許容値を算出し、
前記1台もしくは複数台のサーバ毎に算出した前記絶対負荷の許容値を、前記通信装置を用いて前記各サーバに送信して設定要求する
ことを特徴とする管理コンピュータの制御方法。 And one or a plurality to perform an information processing corresponding to the processing request received one or a plurality of client server, executes information processing in accordance with the message received from the one or more servers managing An absolute load that is a countable value indicating the absolute amount of load applied to the server based on the number of processing requests received from the one or more clients. An absolute load calculation unit for calculating an allowable value of the absolute load, an absolute load allowable value storage unit for storing the allowable value of the absolute load , a comparison of the calculated absolute load with the allowable value of the absolute load, and a message to the management computer a transmission determination unit for determining whether or not to transmit, a said value indicating the value of the relative load in accordance with each server's processing capacity, said each server Accepts the same values regardless of the processing capability can be indicative of the degree of load load detector for detecting a relative load, the allowable value of the transmitted said absolute load from the management computer, the absolute load tolerance the control method of the control computer in a computer system which Ru and an absolute load allowable value change unit that updates the allowable value of the stored in the storage unit the absolute load,
The management computer is
A setting for calculating an allowable value of absolute load, which is a countable value indicating the absolute amount of load applied to the server, for each of the one or a plurality of servers, and transmitting the calculated absolute load allowable value to the server A value indicating a relative load value corresponding to the adjustment program and the processing capacity of each of the one or more servers, and the degree of load can be expressed by the same value regardless of the processing capacity of the server. A storage device for storing a relative load tolerance,
A processing device for reading the setting adjustment program into a memory and executing the program;
A communication device for communicating with the one or more servers;
With
The processing device is
For each one or a plurality of servers, the absolute load of the server and the relative load are received from the server using the communication device,
For each of the one or a plurality of servers, the absolute load received from each server using the communication device, the allowable value of the relative load stored in the storage device, and each of the servers using the communication device Using the relative load value received from the server for the calculation process, calculating the absolute load allowable value of each server,
A control method for a management computer, wherein the absolute load tolerance calculated for each of the one or a plurality of servers is transmitted to each of the servers using the communication device to request a setting. .
前記管理コンピュータが、
前記1台もしくは複数台のサーバ毎に、当該サーバにかかる負荷の絶対量を示すカウント可能な値である絶対負荷の許容値を算出し、算出した絶対負荷の許容値を前記サーバへ送信する設定調整プログラムと、前記1台もしくは複数台のサーバ毎の処理能力に応じた相対的な負荷の値を示す値であって、サーバの処理能力に関わらず同一の値で負荷の程度を表すことができる相対負荷の許容値と、を記憶する記憶装置と、
前記設定調整プログラムをメモリに読み出して実行する処理装置と、
前記1台もしくは複数台のサーバとの通信を行うための通信装置と、
を備え、
前記サーバは、
前記1台もしくは複数台のクライアントから受信した処理要求に応じた情報処理を実行する情報処理実行部と、前記1台もしくは複数台のクライアントから受信した処理要求の数と、当該サーバの相対負荷の値とを記憶するメトリック記憶部と、前記絶対負荷の許容値を記憶する絶対負荷許容値記憶部と、前記管理コンピュータから送信された前記絶対負荷の許容値を受け付けて、前記絶対負荷許容値記憶部に記憶された前記絶対負荷の許容値を更新する絶対負荷許容値変更部とを備え、
前記メトリック記憶部に記憶されている処理要求の数に基づいて、当該サーバにかかる前記絶対負荷を算出し、
前記算出した絶対負荷と前記絶対負荷許容値記憶部に記憶されている前記絶対負荷の許容値との比較により、前記管理コンピュータにメッセージを送信するか否かの判定を行い、
前記判定の結果に応じて、前記管理コンピュータにメッセージを送信し、
当該サーバの前記絶対負荷の値と、前記管理コンピュータが保持する前記相対負荷の許容値と、当該サーバの前記相対負荷の値とを用いて算出された、前記絶対負荷の許容値を前記管理コンピュータから受信し、前記絶対負荷許容値記憶部に記録する
ことを特徴とするサーバの制御方法。 And one or a plurality to perform an information processing corresponding to the processing request received one or a plurality of client server, executes information processing in accordance with the message received from the one or more servers managing A method of controlling the server in a computer system comprising:
The management computer is
A setting for calculating an allowable value of absolute load, which is a countable value indicating the absolute amount of load applied to the server, for each of the one or a plurality of servers, and transmitting the calculated absolute load allowable value to the server A value indicating a relative load value corresponding to the adjustment program and the processing capacity of each of the one or more servers, and the degree of load can be expressed by the same value regardless of the processing capacity of the server. A storage device for storing a relative load tolerance,
A processing device for reading the setting adjustment program into a memory and executing the program;
A communication device for communicating with the one or more servers;
With
The server
And an information processing execution unit for executing processing corresponding to the processing request received from the one or plurality of client, the number of the received processing request from said one or plurality of client, of the server the relative load A metric storage unit that stores a value, an absolute load allowable value storage unit that stores the absolute load allowable value, and an absolute load allowable value that is transmitted from the management computer, and stores the absolute load allowable value storage An absolute load allowable value changing unit for updating the absolute load allowable value stored in the unit ,
Based on the number of processing requests stored in the metric storage unit, the absolute load applied to the server is calculated,
By comparing the allowable value of the calculated absolute load and the absolute load allowable value storage absolutely the stored load, a determination of whether to transmit a message to the management computer,
Depending on the result of the determination, send a message to the management computer ,
The absolute load value calculated using the absolute load value of the server, the allowable value of the relative load held by the management computer, and the relative load value of the server is the management computer. And recorded in the absolute load allowable value storage unit .
前記サーバは、前記メトリック記憶部に記憶される処理要求の数を繰り返し更新し、
前記サーバは、前記処理要求の数を更新する毎に、新たな前記絶対負荷を算出し、
前記サーバは、新たな前記絶対負荷を算出する毎に、前記管理コンピュータにメッセージを送信するか否かの前記判定を行う
ことを特徴とする請求項16に記載のサーバの制御方法。 The metric storage unit stores the number of processing requests received from the client within a predetermined time,
The server repeatedly updates the number of processing requests stored in the metric storage unit,
Each time the server updates the number of processing requests, it calculates a new absolute load ,
The server control method according to claim 16, wherein the server performs the determination as to whether or not to transmit a message to the management computer every time the new absolute load is calculated.
前記サーバは、前記送信要求を受信する毎に、前記サーバの負荷を示す値と前記算出した前記絶対負荷とを、前記管理コンピュータに送信し、
前記サーバは、前記管理コンピュータによって、前記送信したサーバの負荷を示す値と、前記送信した絶対負荷と、前記管理コンピュータに記憶されている前記サーバの負荷を示す値の許容値と、に基づいて算出された新たな前記絶対負荷の許容値を、前記管理コンピュータから受信し、
前記サーバは、前記新たな絶対負荷の許容値を受信する毎に、前記絶対負荷許容値記憶部に記憶されている前記絶対負荷の許容値を新たな前記絶対負荷の許容値に更新する
ことを特徴とする請求項17に記載のサーバの制御方法。 The server repeatedly receives a transmission request for information for calculating a new allowable absolute load value from the management computer,
Each time the server receives the transmission request, the server transmits a value indicating the load of the server and the calculated absolute load to the management computer,
The server is based on a value indicating the load of the server transmitted by the management computer, an absolute value of the transmitted absolute load, and an allowable value indicating a load of the server stored in the management computer. Receiving the calculated new absolute load tolerance from the management computer;
Wherein the server, each time it receives the allowable value of the new absolute load, updating the allowable value of the absolute load tolerance absolute the stored load in the storage unit to the tolerance of the new the absolute load The server control method according to claim 17, wherein:
前記サーバは、前記メトリック記憶部に記憶されている処理要求の数をインクリメントする毎に、前記絶対負荷の許容値を算出し、前記管理コンピュータにメッセージを送信するか否かの前記判定を行う
ことを特徴とする請求項16に記載のサーバの制御方法。 Each time the server receives a processing request from the client, the server increments the number of processing requests stored in the metric storage unit,
The server calculates the absolute load allowable value every time the number of processing requests stored in the metric storage unit is incremented, and performs the determination as to whether or not to send a message to the management computer. The server control method according to claim 16.
前記サーバは、前記算出した絶対負荷が、前記絶対負荷の許容値よりも所定値以上小さくなった場合に、前記メッセージ送信記憶部に記憶されている前記情報を消去し、
前記サーバは、前記管理コンピュータにメッセージを送信したことを示す前記情報が前記メッセージ送信記憶部に記憶されている場合には、前記管理コンピュータにメッセージを送信するか否かの判定の結果によらず、前記管理コンピュータにメッセージを送信しない
ことを特徴とする請求項19に記載のサーバの制御方法。 The server includes a message transmission storage unit that stores information indicating that a message has been transmitted to the management computer,
The server deletes the information stored in the message transmission storage unit when the calculated absolute load is smaller than a predetermined value by the absolute load allowable value ,
When the information indicating that a message has been transmitted to the management computer is stored in the message transmission storage unit, the server does not depend on the result of the determination as to whether or not to transmit a message to the management computer. 20. The server control method according to claim 19, wherein a message is not transmitted to the management computer.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005309751A JP4409498B2 (en) | 2005-03-23 | 2005-10-25 | Management computer control method and server control method |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005083925 | 2005-03-23 | ||
| JP2005309751A JP4409498B2 (en) | 2005-03-23 | 2005-10-25 | Management computer control method and server control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006302249A JP2006302249A (en) | 2006-11-02 |
| JP4409498B2 true JP4409498B2 (en) | 2010-02-03 |
Family
ID=37470423
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005309751A Expired - Fee Related JP4409498B2 (en) | 2005-03-23 | 2005-10-25 | Management computer control method and server control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4409498B2 (en) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4585552B2 (en) * | 2007-08-06 | 2010-11-24 | 日本電信電話株式会社 | Load balancing system |
| JP2012164260A (en) * | 2011-02-09 | 2012-08-30 | Nec Corp | Computer operation management system, computer operation management method, and computer operation management program |
| JP5735899B2 (en) * | 2011-10-25 | 2015-06-17 | 日本電信電話株式会社 | Service providing system, file update method, and distributed management apparatus |
| JP6020088B2 (en) * | 2012-11-22 | 2016-11-02 | 日本電気株式会社 | Load balancing control method and system |
| JP5940439B2 (en) * | 2012-11-30 | 2016-06-29 | セイコーソリューションズ株式会社 | Load distribution apparatus, load distribution method and program |
| JP6597324B2 (en) * | 2016-01-13 | 2019-10-30 | 富士通株式会社 | Autoscale method, autoscale program, information processing apparatus, and information processing system |
| JP2018036830A (en) * | 2016-08-31 | 2018-03-08 | 日本電信電話株式会社 | Processing system, processing method, processing server, processing program, evaluation server, and evaluation program |
| JP6722345B2 (en) * | 2017-03-07 | 2020-07-15 | 株式会社日立製作所 | Sign detection device and sign detection method |
| CN110650173B (en) * | 2018-06-27 | 2022-02-18 | 北京国双科技有限公司 | Request processing method and device |
| CN113934613B (en) * | 2021-10-15 | 2025-06-20 | 贝壳找房(北京)科技有限公司 | Interface capacity evaluation method, device and system |
| JPWO2024089792A1 (en) * | 2022-10-26 | 2024-05-02 | ||
| WO2024089793A1 (en) * | 2022-10-26 | 2024-05-02 | 日本電信電話株式会社 | Load distribution device, load distribution system, load distribution method, and load distribution program |
-
2005
- 2005-10-25 JP JP2005309751A patent/JP4409498B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2006302249A (en) | 2006-11-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7908314B2 (en) | Method for controlling a management computer | |
| US12250129B2 (en) | Proportional quality of service based on client usage and system metrics | |
| JP4409498B2 (en) | Management computer control method and server control method | |
| US10516582B2 (en) | Managing client access for storage cluster performance guarantees | |
| JP6248560B2 (en) | Management program, management method, and management apparatus | |
| US9075656B2 (en) | Cloud computing system and method for controlling same | |
| JP5679256B2 (en) | Distributed task system and distributed task management method | |
| US9450876B1 (en) | Wear leveling and management in an electronic environment | |
| JP2004246852A (en) | Logical volume copy destination performance adjustment method and apparatus | |
| US10614380B2 (en) | Dynamically adjusting system metric thresholds based on user specified system performance feedback | |
| JP2011175357A5 (en) | Management device and management program | |
| JP2005327261A (en) | Performance monitoring device, performance monitoring method and program | |
| JP5938965B2 (en) | Node device and processing speed management method of multi-node storage system | |
| JP2006260355A (en) | Storage system and storage control method | |
| CN114153553A (en) | High-availability control method and system for virtual machine and related components | |
| WO2019161908A1 (en) | Dynamic determination of consistency levels for distributed database transactions | |
| CN118708135A (en) | Storage space adjustment method, device, storage medium and electronic device | |
| JP2023045641A (en) | Storage system and control method | |
| US12461834B2 (en) | Health check for primary failover | |
| KR20220055661A (en) | Edge service processing system and control method thereof | |
| US20250370649A1 (en) | Storage system, asynchronous copy method, and asynchronous copy program | |
| JP7424052B2 (en) | Control program, control method and control device | |
| JP2007179246A (en) | Computer management method, computer management program, and computer management server | |
| JP2024051631A5 (en) | ||
| CN119668857A (en) | Data processing method, system, device and medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071122 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090714 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090811 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091013 |
|
| 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: 20091110 |
|
| 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: 20091111 |
|
| 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: 20121120 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121120 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131120 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |