JP2018128956A - Load distribution device and load distribution method - Google Patents
Load distribution device and load distribution method Download PDFInfo
- Publication number
- JP2018128956A JP2018128956A JP2017023031A JP2017023031A JP2018128956A JP 2018128956 A JP2018128956 A JP 2018128956A JP 2017023031 A JP2017023031 A JP 2017023031A JP 2017023031 A JP2017023031 A JP 2017023031A JP 2018128956 A JP2018128956 A JP 2018128956A
- Authority
- JP
- Japan
- Prior art keywords
- server
- processing
- load
- delay
- low
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、データセンタの複数の処理サーバに対して、クライアントからリクエストされた情報処理を実行させるサーバを決定する負荷分散装置および負荷分散方法に関する。 The present invention relates to a load distribution apparatus and a load distribution method for determining a server that executes information processing requested by a client for a plurality of processing servers in a data center.
サーバ構成技術や仮想化技術の発達、激甚災害対策等により、地域や国をまたいでデータセンタが接続され、そのデータセンタ内に複数の処理サーバが存在するようになった。点在する処理サーバに対して負荷を分散するため、ロードバランサのような負荷分散装置を設置し、当該負荷分散装置を用いて要求信号(リクエスト)を処理サーバに振り分け、各処理サーバの負荷を分散させることが一般的である。
例えば、非特許文献1では、各処理サーバの負荷状態(CPU使用率など)や応答時間を考慮して振分先の処理サーバを決定し、負荷分散を実現している。
Due to the development of server configuration technology, virtualization technology, and severe disaster countermeasures, data centers are connected across regions and countries, and there are multiple processing servers in the data center. In order to distribute the load to the scattered processing servers, a load distribution device such as a load balancer is installed, and the load distribution device is used to distribute request signals (requests) to the processing servers. It is common to disperse.
For example, in Non-Patent
しかし、地域や国をまたいで信号を処理サーバに振り分けることによって、当該信号において、地域や国をまたぐ分の処理遅延が生じることになる。処理遅延が生じると、例えば通信制御サーバにおいては、後続信号が先行信号を追い抜いたりすることも考えられ問題となる。
一方で、処理遅延を防止するため、拠点内の処理サーバへ優先して信号を割り振ると、拠点内の処理サーバのみ負荷が重くなってしまい、ハードウェアリソースの非効率化や不要なスケーリングにつながってしまう。
非特許文献1に記載の負荷分散方法は、応答時間や処理サーバの負荷を考慮して処理サーバを決定している。しかし、全ての処理サーバの負荷状態や応答時間を収集する必要があるため、処理サーバが地域や国をまたいで存在していた場合は、情報を収集するための信号が増大しネットワーク帯域を圧迫する可能性がある。
However, when a signal is distributed to processing servers across regions and countries, a processing delay corresponding to the region and country is caused in the signal. When the processing delay occurs, for example, in the communication control server, it is considered that the subsequent signal may overtake the preceding signal.
On the other hand, in order to prevent processing delay, if a signal is assigned with priority to the processing server in the base, only the processing server in the base becomes heavy, leading to inefficient hardware resources and unnecessary scaling. End up.
The load distribution method described in
このような背景に鑑みて本発明がなされたのであり、本発明は、処理サーバの処理負荷を一定以下に保ちつつ、要求信号の処理TAT(Turn Around Time)を低減することができる負荷分散装置および負荷分散方法を提供することを課題とする。 The present invention has been made in view of such a background, and the present invention provides a load distribution apparatus capable of reducing a processing signal TAT (Turn Around Time) of a request signal while keeping the processing load of the processing server below a certain level. It is another object of the present invention to provide a load balancing method.
前記した課題を解決するため、請求項1に記載の発明は、拠点内に複数の処理サーバが備えられ、クライアントからリクエストされた情報処理を実行させる前記処理サーバを決定する負荷分散装置であって、各前記処理サーバの処理TATを測定する処理時間測定手段と、測定した前記処理TATに基づいて、前記処理サーバを高遅延サーバと低遅延サーバとに分類する分類手段と、前記低遅延サーバの処理の限界値である負荷制限値を記憶する記憶手段と、前記低遅延サーバの負荷情報を取得する負荷情報取得手段と、前記高遅延サーバの台数と、前記低遅延サーバの台数と、取得した前記負荷情報の最大値と前記低遅延サーバの負荷変動を示す処理サーバの負荷変動率とに基づいて、前記負荷制限値を超えない範囲で、前記高遅延サーバに振り分けるべき信号を前記低遅延サーバに振り分ける肩代わり信号数を算出する信号数算出手段と、算出した前記肩代わり信号数分を、前記高遅延サーバから前記低遅延サーバに振り分ける振分手段と、を備える負荷分散装置とした。
In order to solve the above-described problem, the invention according to
また、請求項7に記載の発明は、拠点内に複数の処理サーバが備えられ、クライアントからリクエストされた情報処理を実行させる前記処理サーバを決定する負荷分散装置の負荷分散方法であって、前記負荷分散装置は、各前記処理サーバの処理TATを測定する処理時間測定ステップと、測定した前記処理TATに基づいて、前記処理サーバを高遅延サーバと低遅延サーバとに分類する分類ステップと、前記低遅延サーバの処理の限界値である負荷制限値を記憶する記憶ステップと、前記低遅延サーバの負荷情報を取得する負荷情報取得ステップと、前記高遅延サーバの台数と、前記低遅延サーバの台数と、取得した前記負荷情報の最大値と前記低遅延サーバの負荷変動を示す処理サーバの負荷変動率とに基づいて、前記負荷制限値を超えない範囲で、前記高遅延サーバに振り分けるべき信号を前記低遅延サーバに振り分ける肩代わり信号数を算出する信号数算出ステップと、算出した前記肩代わり信号数分を、前記高遅延サーバから前記低遅延サーバに振り分ける振分ステップと、を実行する負荷分散方法とした。
The invention according to
このようにすることで、同じ拠点内に低遅延サーバと高遅延サーバが混在する場合や、他拠点の処理サーバのTATが動的に変動する場合であっても、振り分ける信号数を適切に算出することができる。その結果、処理サーバの処理負荷を一定以下に保ちつつ、要求信号の処理TATを低減することができる。 By doing this, even when low-latency servers and high-latency servers coexist in the same base, or when the TAT of processing servers at other bases changes dynamically, the number of signals to be distributed is calculated appropriately. can do. As a result, the request signal processing TAT can be reduced while keeping the processing load of the processing server below a certain level.
また、請求項2に記載の発明は、前記信号数算出手段は、前記低遅延サーバで処理した場合の処理TATと、前記高遅延サーバで処理した場合の処理TATとに基づいて、前記リクエストをあらかじめ決めた順序で各前記処理サーバに振り分ける場合の処理応答時間の変動を示す平均信号処理TAT変動率を算出するとともに、前記低遅延サーバの負荷変動率と前記平均信号処理TAT変動率とを基に、前記肩代わり信号数を評価するスコアを算出し、前記振分手段は、取得した前記負荷情報の最大値と前記低遅延サーバの負荷変動率とに基づいて、前記負荷制限値を超えない範囲の中から、最大の前記スコアとなる前記肩代わり信号数分を、前記高遅延サーバから前記低遅延サーバに振り分けることを特徴とする。
Further, the invention according to
このようにすることで、処理サーバの負荷と応答時間の両面を考慮して、処理負荷を制限しつつ、応答時間をできるだけ早めることができる。換言すれば、低遅延サーバの処理負荷をギリギリまで上げてTATを減らすことができる。 In this way, it is possible to make the response time as fast as possible while limiting the processing load in consideration of both the load of the processing server and the response time. In other words, TAT can be reduced by increasing the processing load of the low-latency server to the limit.
また、請求項3に記載の発明は、前記負荷情報取得手段が、前記低遅延サーバのCPU使用率を負荷情報として取得することを特徴とする。
The invention according to
このようにすることで、各処理サーバのCPU使用率は比較的取得が容易であるため、各処理サーバの処理負荷をタイムリーで取得でき、負荷分散動作に直ちに反映させることができる。 In this way, since the CPU usage rate of each processing server is relatively easy to acquire, the processing load of each processing server can be acquired in a timely manner and can be immediately reflected in the load distribution operation.
また、請求項4に記載の発明は、前記低遅延サーバで処理した場合の処理TATを1としたとき、前記高遅延サーバで処理した場合の処理TATは、前記高遅延サーバの処理TATの平均を前記低遅延サーバの処理TATの平均で割った値で近似されることを特徴とする。
In the invention according to
このようにすることで、低遅延サーバで処理した場合の処理TATと高遅延サーバで処理した場合の処理TATとの通信遅延倍率から、1ラウンドにおける信号処理TAT変動率を求めることができる。これにより、低遅延サーバの負荷変動率と、平均信号処理TAT変動率とを用いて肩代わり信号を算出することができる。 In this way, the signal processing TAT fluctuation rate in one round can be obtained from the communication delay magnification between the processing TAT when processed by the low-delay server and the processing TAT when processed by the high-delay server. Thereby, the substitution signal can be calculated using the load fluctuation rate of the low-delay server and the average signal processing TAT fluctuation rate.
また、請求項5に記載の発明は、前記振分手段が、取得した前記負荷情報の最大値と前記低遅延サーバの負荷変動率とを乗算し、CPU閾値を超えない前記肩代わり信号数の範囲を算出し、算出した前記肩代わり信号数の範囲の中で最大のスコアとなる前記肩代わり信号数の値で振り分けを行うことを特徴とする。
Further, the invention according to
このようにすることで、算出した肩代わり信号数の範囲の中で最大のスコアとなる肩代わり信号数の値で振り分けを行うので、より信頼度の高い肩代わり信号数Sを得ることができる。その結果、より最適な肩代わり信号数S分だけ高遅延サーバから低遅延サーバに振り分けることができる。 In this way, since the distribution is performed based on the value of the shoulder signal number that is the maximum score in the calculated range of the shoulder signal number, the shoulder signal number S with higher reliability can be obtained. As a result, it is possible to distribute from the high-delay server to the low-delay server by the optimal number of substitution signals S.
また、請求項6に記載の発明は、前記分類手段が、各処理サーバを処理TATの小さい順に低遅延サーバとして1台ずつ、全台数−1まで増加させていき、それぞれの場合の前記低遅延サーバの台数と前記高遅延サーバの台数とを決定し、前記信号数算出手段は、決定された前記低遅延サーバの台数と当該低遅延サーバの台数と、前記低遅延サーバで処理した場合の処理TATと、前記高遅延サーバで処理した場合の処理TATとに基づいて、前記リクエストをあらかじめ決めた順序で各前記処理サーバに振り分ける場合の処理応答時間の変動を示す平均信号処理TAT変動率を算出するとともに、前記低遅延サーバの負荷変動率と前記平均信号処理TAT変動率とを基に、前記肩代わり信号数を評価するスコアを算出し、前記振分手段は、取得した負荷情報の最大値と低遅延サーバの負荷変動率Aを乗算し、CPU閾値を超えない前記肩代わり信号数の範囲を算出し、算出した前記肩代わり信号数の範囲の中で最大の前記スコアとなる前記肩代わり信号数の値で振り分けを行うことを特徴とする。
Further, in the invention according to
このようにすることで、一定値である応答時間閾値を用いずに、処理サーバの全体的な処理遅延や処理負荷を見て動的に、その時点で最適な低遅延サーバおよび高遅延サーバを分類するので、より適切な処理サーバの分類を行うことができる。その結果、負荷分散のさらなる最適化を図ることができ、より一層処理負荷を制限しつつ、応答時間をできるだけ早めることができる。 In this way, the optimal low-latency server and high-delay server can be dynamically determined by looking at the overall processing delay and processing load of the processing server without using a constant response time threshold value. Since classification is performed, more appropriate processing server classification can be performed. As a result, load distribution can be further optimized, and the response time can be shortened as much as possible while further limiting the processing load.
本発明によれば、処理サーバの情報を収集するための信号量を減らしつつ、応答時間と処理サーバの処理負荷を減らすことができる負荷分散装置および負荷分散方法を提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, the load distribution apparatus and load distribution method which can reduce a response time and the processing load of a processing server can be provided, reducing the signal amount for collecting the information of a processing server.
以下、図面を参照して本発明を実施するための形態(以下、「本実施形態」という)における負荷分散装置等について説明する。
(背景説明)
まず、非特許文献2を用いて背景技術を説明する。
図13は、非特許文献2の負荷分散装置が適用される分散システムを示す構成図である。
図13に示すように、2つのデータセンタ(DC:Data Center)1,2が存在している。データセンタ1(自拠点)とデータセンタ2(他拠点)とは、地域や国をまたいで存在可能である。例えば、データセンタ1は東京(日本)を拠点とし、データセンタ2はワシントンD.C.(米国)を拠点とする。データセンタ1とデータセンタ2間は、広帯域と低遅延のネットワーク3で接続される。ただし、データセンタ1とデータセンタ2には、信号の拠点間遅延がある。
Hereinafter, a load balancer and the like in a mode for carrying out the present invention (hereinafter referred to as “the present embodiment”) will be described with reference to the drawings.
(Background explanation)
First, the background art will be described using Non-Patent
FIG. 13 is a configuration diagram illustrating a distributed system to which the load distribution apparatus of
As shown in FIG. 13, two data centers (DC: Data Center) 1 and 2 exist. The data center 1 (own site) and the data center 2 (other sites) can exist across regions and countries. For example, the
本明細書において、自拠点とは、負荷分散装置10が置かれている拠点をいう。ここで、自拠点は、データセンタ1である。他拠点とは、負荷分散装置10(自身)が置かれている拠点とは別の離れた拠点をいう。ここで、他拠点は、データセンタ2である。
データセンタ1内には、複数(複数台)の処理サーバ11〜13が収容されており、各処理サーバ11〜13は、負荷分散装置10にデータセンタ内ネットワークで接続されている。また、データセンタ2は、複数の処理サーバ21〜24がデータセンタ内ネットワークで接続されている。
データセンタ1は、クライアント(図示省略)がネットワークで接続されて構成される。
In the present specification, the own site refers to a site where the
In the
The
負荷分散装置10は、データセンタ1(自拠点)に存在している。負荷分散装置10は、データセンタ1またはデータセンタ2の処理サーバ11〜13,21〜24に対してクライアント(図示省略)からの要求信号(リクエスト)の振分を行っている。負荷分散装置10は、クライアントからの要求を受け、データセンタ1またはデータセンタ2の処理サーバ11〜13,21〜24のうちの1台を選択し、その選択した処理サーバに処理を依頼する。選択された処理サーバは、クライアントからのアプリケーションの要求を処理する。
The
なお、負荷分散装置10は、分散システムで動作するプログラムの一例としての分散処理ミドルウェアであってもよく、分散システム内の複数台の処理サーバ11〜13,21〜24に処理を振り分けるロードバランサのいずれでもよい。
また、図13の分散システムを構成する各装置の台数は、図13に例示した台数に限定されず、任意の台数としてもよい。
The
Moreover, the number of each apparatus which comprises the distributed system of FIG. 13 is not limited to the number illustrated in FIG. 13, It is good also as arbitrary numbers.
非特許文献2には、要求信号の処理TATと処理サーバの処理負荷の両面を考慮した負荷分散方法が記載されている。非特許文献2に記載の負荷分散方法は、処理サーバの処理負荷や台数、2拠点間の遅延から低遅延サーバへ振り分ける信号数を算出する。
非特許文献2に記載の負荷分散方法では、サーバを、通信遅延が小さい低通信遅延サーバ(以下、低遅延サーバという)と通信遅延が大きい高通信遅延サーバ(以下、高遅延サーバという)の2種類に分け、あらかじめ与えられた遅延倍率(高遅延サーバの遅延時間を低遅延サーバの遅延時間で割った値)から振り分ける信号数の計算を行っている。図13の場合、データセンタ1またはデータセンタ2の処理サーバ11〜13,21〜24のうち、データセンタ1の処理サーバ11,12が低遅延サーバ、データセンタ1の処理サーバ13とデータセンタ2の処理サーバ21〜24が高遅延サーバである。
In the load distribution method described in
ところで、図13の符号nに示すように、同じ拠点(データセンタ1(自拠点))内に低遅延サーバ11,12と高遅延サーバ13が混在している場合がある。また、図13の符号oに示すように、拠点(データセンタ2)では、処理サーバのTATが動的に変動する場合がある。処理サーバのTATが動的に変動するのは、具体的には以下のような状態のときに発生しうる。(1)処理サーバのバックグラウンド処理によってTATが変動する。(2)災害等によって特定のルートが遮断されることによってTATが変動する。
By the way, as indicated by a symbol n in FIG. 13, the low-
非特許文献2に記載の負荷分散方法では、処理サーバのTATが動的に変動する場合や、同じ拠点内に低遅延サーバと高遅延サーバが混在している場合には、TATが変動するため各処理サーバの処理負荷を精確に測定できず、振り分ける信号数を適切に算出することができない。
In the load distribution method described in
同じ拠点内に低遅延サーバと高遅延サーバが混在する場合や、他拠点の処理サーバのTATが動的に変動する場合であっても、振り分ける信号数を適切に算出することができる方法が求められている。 There is a need for a method that can appropriately calculate the number of signals to be distributed even when low-latency servers and high-latency servers coexist in the same base, or even when the TAT of a processing server at another base changes dynamically. It has been.
(第1の実施形態)
図1は、本発明の第1の実施形態に係る負荷分散装置が適用される分散システムを示す構成図である。図13と同一構成部には同一符号を付している。
図1に示すように、2つのデータセンタ(DC)1,2が存在している。ここでは、データセンタ1は東京(日本)を拠点とし、データセンタ2はワシントンD.C.(米国)を拠点とする例で説明する。データセンタ1とデータセンタ2間は、広帯域で低遅延のネットワーク3で接続される。
データセンタ1内には、複数(複数台)の処理サーバ11〜17が収容されており、各処理サーバ11〜17は、負荷分散装置100にデータセンタ内ネットワークで接続されている。また、データセンタ2は、複数の処理サーバ21〜24がデータセンタ内ネットワークで接続されている。
データセンタ1は、クライアント31〜34がネットワークで接続されて構成される。
クライアント31〜34は、ユーザの端末や対向システムであり、データセンタ1,2の処理サーバ11〜17,21〜24に対して、アプリケーションの処理を要求する。
(First embodiment)
FIG. 1 is a configuration diagram showing a distributed system to which a load distribution apparatus according to a first embodiment of the present invention is applied. The same components as those in FIG. 13 are denoted by the same reference numerals.
As shown in FIG. 1, two data centers (DC) 1 and 2 exist. Here, an example will be described in which the
In the
The
The
負荷分散装置100は、データセンタ1(自拠点)に存在している。負荷分散装置100は、データセンタ1またはデータセンタ2の処理サーバ11〜17,21〜24に対してクライアント31〜34からの要求信号(リクエスト)の振分を行っている。負荷分散装置100は、クライアント31〜34からの要求を受け、データセンタ1またはデータセンタ2の処理サーバ11〜17,21〜24のうちの1台を選択し、その選択した処理サーバに処理を依頼する。選択された処理サーバは、クライアント31〜34からのアプリケーションの要求を処理する。
The
このように、負荷分散装置100は、自身が設置された処理サーバ11〜17、または自拠点から離隔した処理サーバ21〜24に対して、クライアント31〜34からリクエストされた情報処理を実行させる処理サーバを決定する。負荷分散装置100の詳細構成については後記する。
As described above, the
なお、負荷分散装置100は、分散システムで動作するプログラムの一例としての分散処理ミドルウェアであってもよく、分散システム内の複数台の処理サーバ21〜27に処理を振り分けるロードバランサのいずれでもよい。
また、図1の分散システムを構成する各装置の台数は、図1に例示した台数に限定されず、任意の台数としてもよい。
The
Further, the number of devices constituting the distributed system in FIG. 1 is not limited to the number illustrated in FIG. 1 and may be an arbitrary number.
負荷分散装置100の詳細について説明する。
負荷分散装置100は、処理サーバの処理負荷や台数、通信遅延を考慮しながら、できるだけ通信遅延が小さい処理サーバへ信号を振り分ける。負荷分散装置100は、各処理サーバの処理TAT(Turn Around Time)を測定する処理時間測定手段と、測定した前記処理TATに基づいて、各処理サーバを低遅延サーバと高遅延サーバとに分類する分類手段としての機能を有する。なお、前記処理TATには、負荷分散装置100から処理サーバに信号を送信するのに要する時間(通信遅延時間)と処理サーバによる信号処理時間が含まれる。
図1に示すように、負荷分散装置100は、肩代わり信号数算出部111(信号数算出手段)を有する振分機能部110(振分手段)と、サーバ情報取得部120(負荷情報取得手段)と、情報格納部130(記憶手段)と、を備える。
Details of the
The
As shown in FIG. 1, the
<肩代わり信号数算出部111>
肩代わり信号数算出部111は、肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアC(いずれも後記)の値を算出し、情報格納部130へ記憶する。
肩代わり信号数算出部111は、後記(方法1)を実行する場合、低遅延サーバの台数と高遅延サーバの台数と、高遅延サーバに振り分けるべき信号を低遅延サーバに振り分ける肩代わり信号数S(後記)とを用いて低遅延サーバの負荷変動を示す処理サーバの負荷変動率Aを算出する。ここで肩代わり信号数Sは、n(nは自然数)個あり、S=0からS=nまで、後記する式(1)に順次当てはめて、低遅延サーバの負荷変動率Aを求める。なお、肩代わり信号数S決定の詳細については実施例1:(方法1)(後記図3,図4参照)で述べる。
そして、肩代わり信号数算出部111は、取得したCPU使用率(負荷情報)の最大値と低遅延サーバの負荷変動率Aとに基づいて、CPU限界値(負荷制限値)を超えない範囲で、高遅延サーバが処理すべき信号を低遅延サーバで処理する肩代わり信号数Sを決定する。
<Shoulder substitution signal
The shoulder signal
When executing the postscript (method 1), the shoulder substitution signal
Then, the substitution signal
また、肩代わり信号数算出部111は、後記(方法2)を実行する場合、低遅延サーバの台数と高遅延サーバの台数と、高遅延サーバに振り分けるべき信号を低遅延サーバに振り分ける肩代わり信号数Sと、低遅延サーバで処理した場合の処理TAT(応答時間)と、高遅延サーバで処理した場合の処理TATとを用いて、リクエストをあらかじめ決めた順序で各処理サーバに振り分ける場合の応答時間の変動を示す平均信号処理TAT変動率Bを算出する。ここで肩代わり信号数Sは、n(nは自然数)個あり、S=0からS=nまで、後記する式(2)に順次当てはめて、平均信号処理TAT変動率Bを求める。
In addition, when executing the postscript (method 2), the substitution signal
そして、肩代わり信号数算出部111は、低遅延サーバの負荷変動率Aと平均信号処理TAT変動率Bとを用いて、高遅延サーバが処理すべき信号を低遅延サーバで処理する肩代わり信号数Sの範囲を算出する。具体的には、肩代わり信号数算出部111は、情報格納部130から拠点情報150(後記図2参照)を参照し、取得した負荷情報の中の最大値と低遅延サーバの負荷変動率Aを乗算し、あらかじめ設定されている低遅延サーバのCPU限界値(負荷制限値)を超えない肩代わり信号数Sの範囲を算出し、算出した肩代わり信号数Sの範囲の中で最大の肩代わり信号数Sを評価するスコアとなる肩代わり信号数Sを決定する。すなわち、肩代わり信号数算出部111は、低遅延サーバのCPU使用率の最大値をA倍しても低遅延サーバのCPU限界値(負荷制限値)を超えないような最大肩代わり信号数Sの範囲を算出し、この最大肩代わり信号数Sを超えない範囲で最も高いスコアとなる肩代わり信号数Sを決定する。なお、スコア算出による肩代わり信号数S決定の詳細については実施例2:(方法2)(図6,図7参照)で後記する。
Then, the substitution signal
ここで、負荷分散装置100は、各処理サーバに均等にリクエストを振り分けるラウンドロビン(静的分散方式の1つ)を採る場合、上記平均信号処理TAT変動率Bは、例えばラウンドロビンの1ラウンドにおける平均信号処理TAT変動率Bである。なお、処理サーバの処理能力に応じてリクエストの分散比率を変えて各処理サーバの負荷を均等にする重み付きラウンドロビンに適用し、この重み付きラウンドロビンにおいて、1ラウンドにおける平均信号処理TAT変動率Bを算出する態様でもよい。
Here, when the
<振分機能部110>
振分機能部110は、肩代わり信号数算出部111によって算出された肩代わり信号数Sの値に従って、処理サーバへ信号の振り分けを行う。具体的には、振分機能部110は、振分先の処理サーバが高遅延サーバだった場合、肩代わり信号数Sの分だけ、本来高遅延サーバに振り分けていた信号を低遅延サーバに振り分ける(実施例1:(方法1)で後記)。
<
The
また、振分機能部110は、低遅延サーバのCPU限界値(負荷制限値)を超えない肩代わり信号数Sの範囲の中で最大のスコアとなる最大肩代わり信号数S分を、高遅延サーバから低遅延サーバに振り分ける(実施例2:(方法2)で後記)。具体的には、振分機能部110は、取得した負荷情報の最大値と低遅延サーバの負荷変動率Aとを乗算し、CPU閾値を超えない肩代わり信号数Sの範囲を算出し、算出した肩代わり信号数Sの範囲の中で最大のスコアCとなる肩代わり信号数Sの値で振り分けを行う。
なお、振分機能部110は、クライアント31〜34からの要求信号(リクエスト)を受け取ると、あらかじめ決められた方法(例えばラウンドロビン方式)によって振分先の処理サーバを決める。
In addition, the
When the
<サーバ情報取得部120>
サーバ情報取得部120は、各処理サーバの応答時間(TAT)を取得する。また、サーバ情報取得部120は、各処理サーバの負荷情報(例えば、CPU使用率、メモリ使用率等がある。本実施形態では、CPU使用率を例に採る)を定期的に収集(取得)する。負荷情報取得部120は、収集したCPU使用率(負荷情報)を情報格納部130に格納するとともに、振分機能部110に通知する。
<Server
The server
<情報格納部130>
情報格納部130は、CPU閾値、各処理サーバの応答時間(TAT)、および各処理サーバのCPU使用率を格納する。情報格納部130は、肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアC(図7参照)の値を保持する。
また、情報格納部130は、自拠点の処理サーバのCPU限界値(負荷制限値)、データセンタ1とデータセンタ2間の処理遅延時間値(拠点間遅延)、自拠点の処理サーバ数(処理サーバの台数)、自拠点の処理サーバ数のうち低遅延サーバ数(低遅延サーバの台数)および高遅延サーバ数(高遅延サーバの台数)、処理サーバのCPU使用率(負荷情報)などを拠点情報150(図2参照)として格納する。情報格納部130が保持する拠点情報150については、図2により後記する。
<
The
In addition, the
図2は、図1の負荷分散装置100の情報格納部130が格納する拠点情報150を示す図である。
図2に示すように、情報格納部130は、拠点情報150として、低遅延サーバのCPU限界値(負荷制限値)、拠点間遅延、低遅延サーバ数(低遅延サーバの台数)、高遅延サーバ数(高遅延サーバの台数)、低遅延サーバ21〜23の使用率(処理サーバ21のCPU使用率、処理サーバ22のCPU使用率、および処理サーバ23のCPU使用率)を格納する。なお、上記CPU限界値を格納しておくことで、上記CPU使用率の最大値をA(低遅延サーバの負荷変動率)倍した場合の比較から、肩代わり信号数Sを決定することができる。
FIG. 2 is a diagram illustrating the base information 150 stored in the
As shown in FIG. 2, the
図2の例では、低遅延サーバのCPU限界値は、「80」(CPU限界値の最大値を100%とした場合、その80%)である。
拠点間遅延は、「1000」(1000[ms])である。
自拠点の処理サーバ数は、自拠点(データセンタ1)内に7つの処理サーバ11〜17(図1参照)を有するので「7」である。
また、自拠点の処理サーバ11〜17のうち、測定した処理時間に基づいて分類された結果、低遅延サーバ数は「3」、高遅延サーバ数は「4」である(図3参照)。
他拠点の処理サーバ数は、他拠点(データセンタ2)内に4つの処理サーバ21〜24(図1参照)を有するので「4」である。
低遅延サーバ21のCPU使用率は、「35」(CPU使用率の最大値を100%とした場合、その35%。以下同様。)、処理サーバ22のCPU使用率は、「34」、処理サーバ23のCPU使用率は、「34」である。
In the example of FIG. 2, the CPU limit value of the low-latency server is “80” (80% when the maximum CPU limit value is 100%).
The inter-base delay is “1000” (1000 [ms]).
The number of processing servers at the local site is “7” because there are seven processing
In addition, as a result of classification based on the measured processing time among the
The number of processing servers at other bases is “4” because there are four processing
The CPU usage rate of the low-
以下、上述のように構成された負荷分散装置100の負荷分散方法について説明する。
[原理説明]
まず、本発明の基本的な考え方について述べる。
負荷分散装置100は、各処理サーバの処理時間(TAT)を測定し、測定した各処理サーバの処理時間(TAT)があらかじめ設定された閾値より大きいか小さいかを判定して、各処理サーバを高遅延サーバと低遅延サーバとに分類する。
ここで、低遅延サーバの台数をNm、高遅延サーバの台数をNn、ラウンドロビン方式に従うと本来高遅延サーバで処理される信号を低遅延サーバで処理する1ラウンドあたりの肩代わり信号数をS(0≦S≦Nn)とすると、低遅延サーバの負荷変動率Aは、次式(1)で示される。
Hereinafter, a load distribution method of the
[Principle explanation]
First, the basic concept of the present invention will be described.
The
Here, the number of low-delay servers is Nm, the number of high-delay servers is Nn, and according to the round robin method, the number of signals per round for processing signals that are originally processed by the high-delay server by the low-delay server is S ( If 0 ≦ S ≦ Nn), the load fluctuation rate A of the low-latency server is expressed by the following equation (1).
低遅延サーバの負荷変動率A=(Nm+S)/Nm …(1) Load fluctuation rate A = (Nm + S) / Nm of the low delay server (1)
また、低遅延サーバで処理した場合の処理TAT(Turn Around Time)(応答時間)を1としたとき、高遅延サーバで処理した場合の処理TATを通信遅延倍率Dとすると、1ラウンドにおける平均信号処理TAT変動率Bは、次式(2)で示される。 Further, when the processing TAT (Turn Around Time) (response time) when processed by the low delay server is 1, and the processing TAT when processed by the high delay server is the communication delay factor D, the average signal in one round The processing TAT fluctuation rate B is expressed by the following equation (2).
平均信号処理TAT変動率B=((Nm+S)+D×(Nn−S))/(Nm+D×Nn) …(2) Average signal processing TAT fluctuation rate B = ((Nm + S) + D × (Nn−S)) / (Nm + D × Nn) (2)
すなわち、1ラウンドにおける平均信号処理TAT変動率Bは((Nm+S)+D×(Nn−S))/(Nm+D×Nn)倍となる。Dは、高遅延サーバの処理TATの平均を低遅延サーバの処理TATの平均で割った値で近似する遅延倍率である。 That is, the average signal processing TAT fluctuation rate B in one round is ((Nm + S) + D × (Nn−S)) / (Nm + D × Nn) times. D is a delay magnification that approximates a value obtained by dividing the average of the processing TAT of the high delay server by the average of the processing TAT of the low delay server.
負荷分散装置100は、肩代わり信号数Sを決定する方法として(方法1)と、(方法2)と、を備える。
The
(方法1):自拠点の処理サーバの負荷変動率Aを用いて肩代わり信号数Sを決定する。
負荷分散装置100は、自拠点の各処理サーバのCPU使用率(負荷情報)を取得し、取得した負荷情報の中の最大値と低遅延サーバの負荷変動率Aを乗算する。あらかじめ設定されている処理サーバのCPU限界値(負荷制限値)を超えない範囲で最大の肩代わり信号数Sを算出し、算出した肩代わり信号数Sまで高遅延サーバに振り分けられる信号を低遅延サーバで処理するようにする。
(Method 1): The substitution signal number S is determined using the load fluctuation rate A of the processing server at the local site.
The
(方法2):低遅延サーバの負荷変動率Aを用いて最大肩代わり信号数の範囲を算出し、最大肩代わり信号数の範囲中で最大のスコアとなる肩代わり信号数Sを決定する。
負荷分散装置100は、自拠点の各処理サーバのCPU使用率(負荷情報)を取得し、取得した負荷情報の中の最大値と低遅延サーバの負荷変動率Aを乗算する。あらかじめ設定されている処理サーバの負荷制限値を超えない肩代わり信号数Sの範囲を算出する。算出した肩代わり信号数Sの範囲の中で最大のスコアとなる肩代わり信号数Sの値を用いて高遅延サーバで処理される信号を低遅延サーバで処理するようにする。上記スコアは、低遅延サーバの負荷変動率Aと平均信号処理TAT変動率Bを用いて算出される評価関数で表される値である。例えば、スコアの一例として、低遅延サーバの負荷変動率Aと平均信号処理TAT変動率Bから算出される減少関数を評価関数として用いる。この減少関数は、低遅延サーバの負荷変動率Aまたは平均信号処理TAT変動率Bが減少すると、スコアが上昇する値(例えば(1/A+1/B))である。
(Method 2): The range of the maximum substitution signal number is calculated using the load fluctuation rate A of the low-delay server, and the substitution signal number S having the maximum score in the range of the maximum substitution signal number is determined.
The
上記(方法1)または(方法2)により、肩代わり信号数Sが決定した後、負荷分散装置100は、本来高遅延サーバに振り分けられる信号(本来高遅延サーバが処理するはずだった信号)を肩代わり信号数S分だけ、低遅延サーバで処理するように低遅延サーバへ振り分ける。その際、負荷分散装置100は、自拠点のどの処理サーバを選択するかは、負荷分散装置100がこれまで用いていた振分アルゴリズムに従えばよい。
After the shoulder signal number S is determined by the above (Method 1) or (Method 2), the
まず、上記(方法1)の具体的動作例について説明する。
[実施例1:(方法1)の動作例]
上記(方法1)は、低遅延サーバの処理負荷をギリギリまで上げてTATを減らす手法を提供する。
図3および図4を参照して負荷分散装置100の負荷分散方法の(方法1)動作について説明する。
図3は、負荷分散装置100の負荷分散動作を説明する図である。図1と同一構成部には同一符号を付している。
図3に示すように、自拠点(データセンタ1)内の処理サーバ11〜17には、低遅延サーバ11〜13と高遅延サーバ14〜17とが混在している。負荷分散装置100から各処理サーバ11〜17に伸びる矢印(細実線矢印、破線矢印、太実線矢印)は、負荷分散装置100が各処理サーバ11〜17に信号を振り分けることを示している。例えば、負荷分散装置100は、図3の細実線矢印(→印)に示すように、処理サーバ11〜13,15〜17に対してクライアントからの要求信号の振分を行っている。
First, a specific operation example of the above (Method 1) will be described.
[Example 1: Operation example of (Method 1)]
The above (Method 1) provides a method for reducing the TAT by increasing the processing load of the low-latency server to the limit.
With reference to FIG. 3 and FIG. 4, the (method 1) operation of the load distribution method of the
FIG. 3 is a diagram for explaining the load distribution operation of the
As shown in FIG. 3,
上記(方法1)で述べたように、負荷分散装置100は、低遅延サーバの負荷変動率Aを用いて肩代わり信号数Sを算出し、算出した肩代わり信号数Sまで本来高遅延サーバに振り分けられる信号を肩代わり信号数S分だけ、低遅延サーバに振り分ける。図3の符号aおよび白抜き矢印(⇒印)に示すように、本来であれば高遅延サーバ14に振り分けられる信号(破線矢印参照)を低遅延サーバ11へ振り分ける(太実線矢印参照)。
As described in the above (Method 1), the
図4は、図3の負荷分散装置100によって、高遅延サーバ14〜17に振り分ける信号を低遅延サーバ11〜13で処理する負荷分散動作を表にして説明する図である。図4は、1ラウンドあたりの肩代わり信号数Sが1の場合の振分例を示す。図4の縦軸は処理サーバによってシーケンシャル処理される信号シーケンス番号1〜14を示し、横軸は処理サーバ11〜17(低遅延サーバ11〜13と高遅延サーバ14〜17)を示す。図4において、実線の白丸(○印)は信号が該当処理サーバに振り分けられることを示している。例えば、図4の信号1と低遅延サーバ11とが交差する位置の実線の白丸(○印)は、信号シーケンス番号の信号1が低遅延サーバ11に振り分けられることを示している。また、図4において、破線の白丸(破線○印)は、本来高遅延サーバに振り分けられる信号が低遅延サーバに振り分けられたことを示している。例えば、図4の信号4と低遅延サーバ11とが交差する位置の実線の白丸(○印)は、本来高遅延サーバ14に振り分けられる信号シーケンス番号の信号4が低遅延サーバ11に振り分けられることを示している。
FIG. 4 is a diagram illustrating the load distribution operation in which the
図4に示すように、1ラウンドあたりの肩代わり信号数Sが1の場合、肩代わり信号数Sが1であるので、1ラウンドあたり高遅延サーバに振り分けられる信号の1つを低遅延サーバへ振り分ける。すなわち、図4の符号bおよび破線の白丸(破線○印)に示すように、本来であれば高遅延サーバ14(図3参照)に振り分けられる信号を低遅延サーバ11(図3参照)へ振り分ける。また、図4の符号cおよび破線の白丸(破線○印)に示すように、本来であれば高遅延サーバ15(図3参照)に振り分けられる信号を低遅延サーバ12(図3参照)へ振り分ける。 As shown in FIG. 4, when the shoulder signal number S per round is 1, the shoulder signal number S is 1, so that one of the signals distributed to the high delay server per round is distributed to the low delay server. That is, as indicated by the symbol b in FIG. 4 and the white circle of the broken line (dashed circle mark), the signal that is originally distributed to the high delay server 14 (see FIG. 3) is distributed to the low delay server 11 (see FIG. 3). . In addition, as indicated by the symbol c in FIG. 4 and the white circle (dashed line circle), the signal that is originally distributed to the high delay server 15 (see FIG. 3) is distributed to the low delay server 12 (see FIG. 3). .
図4の符号dおよび破線の枠囲みに示すように、1ラウンドあたりの肩代わり信号数Sが1の場合の振分例の効果は下記の通りである。
すなわち、高遅延サーバ14〜17に振り分けられる信号の1つを低遅延サーバ11〜13へ振り分けることで、低遅延サーバ11〜13の負荷は4/3倍になった。また、1ラウンドにおける平均信号処理TAT変動率Bは、前記式(2)にNm「3」とNn「4」を代入することで、(4+D×3)/(3+D×4)倍となることが分かる。高遅延サーバ14〜17に振り分けられていた信号が低遅延サーバ11〜13により多く振り分けられるので、本負荷分散動作を行わない場合と比べて、迅速に取得が可能であり、よりタイムリーな情報で負荷分散処理が可能となる。
As shown in the symbol d in FIG. 4 and the dashed box, the effect of the distribution example when the shoulder substitution signal number S per round is 1 is as follows.
That is, by distributing one of the signals distributed to the
次に、上記(方法2)の具体的動作例について説明する。
[実施例2:(方法2)の動作例]
上記(方法2)は、処理負荷とTATから算出されるスコアを最大にする手法を提供する。
図5は、負荷分散装置の(方法2)の負荷分散のシーケンス例を説明する図である。図1と同一構成部には同一符号を付している。図6は、図5のシーケンス例を説明するフローチャートである。
図5のステップS101において、負荷分散装置100は、各処理サーバ11〜17のCPU閾値、応答時間閾値(高遅延サーバか低遅延サーバかを判定するための閾値)を設定する。例えば、負荷分散装置100は、各種設定値(CPU閾値=80、応答時間閾値=10ms)を設定する。
Next, a specific operation example of the above (Method 2) will be described.
[Example 2: Operation example of (Method 2)]
The above (Method 2) provides a method for maximizing the score calculated from the processing load and TAT.
FIG. 5 is a diagram for explaining an example of a load distribution sequence in the (method 2) of the load distribution apparatus. The same components as those in FIG. 1 are denoted by the same reference numerals. FIG. 6 is a flowchart illustrating the sequence example of FIG.
5, the
ステップS102において、負荷分散装置100は、処理時間測定手段として、定期的に全処理サーバ11〜17へテスト信号(pingなど)を送信し、各処理サーバ11〜17の応答時間(TAT)を取得(測定)する。図6の符号eに示すように、処理サーバ11の応答時間(TAT)「1.5ms」、処理サーバ12の応答時間(TAT)「2.1ms」、処理サーバ13の応答時間(TAT)「1.1ms」、処理サーバ14の応答時間(TAT)「10.1ms」、処理サーバ15の応答時間(TAT)「11.5ms」、処理サーバ16の応答時間(TAT)「23.5ms」、処理サーバ17の応答時間(TAT)「10.7ms」を取得する。
In step S102, the
ステップS103において、負荷分散装置100は、分類手段として、取得した各処理サーバ11〜17の応答時間(TAT)を応答時間閾値と比較して、各処理サーバ11〜17を高遅延サーバ14〜17と低遅延サーバ11〜13とに分類する。例えば、図6に示すように、応答時間閾値を10msに設定した場合、自拠点の処理サーバ11〜17のうち、処理サーバ14〜17を高遅延サーバ、処理サーバ11〜13を低遅延サーバに分類する。
In step S103, the
ステップS104において、負荷分散装置100のサーバ情報取得部120は、定期的に低遅延サーバ11〜13(図6参照)の負荷情報(CPU使用率)を取得する。図6の例では、サーバ情報取得部120は、低遅延サーバである処理サーバ11のCPU使用率「35」、処理サーバ12のCPU使用率「34」、処理サーバ13のCPU使用率「34」を取得する。
In step S104, the server
ステップS105において、負荷分散装置100は、取得した情報を情報格納部130に格納し、振分機能部110に通知する。
In step S <b> 105, the
ステップS106において、振分機能部110の肩代わり信号数算出部111は、情報格納部130から情報を取り出し、低遅延サーバ数と高遅延サーバ数と肩代わり信号数Sとを用いて処理サーバ負荷変動数Aと平均信号処理TAT変動率BとスコアCを算出し、スコアCが最大となるときの肩代わり信号数Sの値を決定する。具体的には、肩代わり信号数算出部111は、高遅延サーバ台数、低遅延サーバ台数、高遅延サーバの応答時間の平均、低遅延サーバの応答時間の平均に基づいて、肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCの値を算出する(図7参照)。上記スコアCは、肩代わり信号数Sを評価する評価値であり、低遅延サーバの負荷変動率Aと平均信号処理TAT変動率Bから算出される減少関数(AまたはBが減少すると上昇する)で表される。
In step S106, the substitution signal
ステップS107において、負荷分散装置100の振分機能部110は、取得した負荷情報の最大値と低遅延サーバの負荷変動率Aとを乗算し、CPU閾値を超えない肩代わり信号数Sの範囲を算出し、算出した肩代わり信号数Sの範囲の中で最大のスコアCとなる肩代わり信号数Sの値で、本来高遅延サーバに振り分けられる信号を低遅延サーバに振り分ける。すなわち、振分機能部110は、最大肩代わり信号数Sを超えない範囲で最も高いスコアCとなる最大肩代わり信号数Sの分だけ、本来高遅延サーバ11〜14に振り分けられる信号を低遅延サーバ11〜13に振り分ける。
In step S107, the
次に、図7を参照して低遅延サーバへの信号の振り分け例について説明する。
図7は、肩代わり信号数算出部111により算出された肩代わり信号数S、低遅延サーバの負荷変動率A、平均信号処理TAT変動率B、およびスコアCの算出例を示す図である。なお、スコアCは、減少関数(1/A+1/B)を用いている。
低遅延サーバの負荷変動率Aは、前記式(1)にNm「3」を代入することによって算出され、また平均信号処理TAT変動率Bは、前記式(2)にNm「3」とNn「4」を代入することで算出される。例えば、肩代わり信号数S「1」の場合には、Nm「3」とS「1」を前記式(1)に導入して低遅延サーバの負荷変動率A「1.33」が算出され、またNm「3」とNn「4」とS「1」を前記式(2)に導入して平均信号処理TAT変動率B「0.80」が算出される。また、S「1」の場合のスコアは、減少関数(1/A+1/B)に、A「1.33」とB「0.80」を代入することで、スコア「2.01」が算出される。同様にして、S「2」の場合には、低遅延サーバの負荷変動率A「1.67」、平均信号処理TAT変動率B「0.59」、スコア「2.29」が算出され、S「3」の場合には、低遅延サーバの負荷変動率A「2」、平均信号処理TAT変動率B「0.39」、スコア「3.09」が算出され、S「4」の場合には、低遅延サーバの負荷変動率A「2.33」、平均信号処理TAT変動率B「0.18」、スコア「5.95」が算出される。
Next, an example of signal distribution to the low-latency server will be described with reference to FIG.
FIG. 7 is a diagram illustrating a calculation example of the shoulder signal number S calculated by the shoulder signal
The load fluctuation rate A of the low delay server is calculated by substituting Nm “3” into the equation (1), and the average signal processing TAT fluctuation rate B is calculated as Nm “3” and Nn in the equation (2). Calculated by substituting “4”. For example, when the number of substitution signals S is “1”, Nm “3” and S “1” are introduced into the equation (1) to calculate the load fluctuation rate A “1.33” of the low-delay server, Also, Nm “3”, Nn “4”, and S “1” are introduced into the equation (2) to calculate the average signal processing TAT fluctuation rate B “0.80”. The score for S “1” is calculated as “2.01” by substituting A “1.33” and B “0.80” into the decreasing function (1 / A + 1 / B). Is done. Similarly, in the case of S “2”, the load fluctuation rate A “1.67”, the average signal processing TAT fluctuation rate B “0.59”, and the score “2.29” of the low delay server are calculated. In the case of S “3”, the load fluctuation rate A “2”, the average signal processing TAT fluctuation rate B “0.39”, and the score “3.09” of the low delay server are calculated, and in the case of S “4” , The load fluctuation rate A “2.33”, the average signal processing TAT fluctuation rate B “0.18”, and the score “5.95” of the low delay server are calculated.
本例の場合、前記図6に示すように、取得された低遅延サーバ11〜13のCPU使用率(負荷情報)は、処理サーバ11のCPU使用率「35」、処理サーバ12のCPU使用率「34」、処理サーバ13のCPU使用率「34」であり、CPU使用率の最大値は、処理サーバ11の「35」である。また、前記図2に示すように、情報格納部130には、拠点情報150として、低遅延サーバのCPU限界値「80」、拠点間遅延「1000」、低遅延サーバ数「3」、高遅延サーバ数「4」が格納されている。さらに、肩代わり信号数算出部111は、図7に示す肩代わり信号数S、低遅延サーバの負荷変動率A、平均信号処理TAT変動率B、およびスコアCを算出している。
In the case of this example, as shown in FIG. 6, the CPU usage rate (load information) of the acquired low-
この場合、図7の符号gに示すように、取得したCPU使用率の最大値「35」を2倍してもCPU限界値「80」を超えないため、肩代わり信号数S「3」が最大肩代わり信号数の範囲となる。振分機能部110は、この最大肩代わり信号数の範囲の3信号を低遅延サーバ11〜13へ振り分けることが可能である。ちなみに、この最大肩代わり信号数Sをそのまま肩代わり信号数Sとして決定する方法が前記(方法1)に対応する。
In this case, as shown by the symbol g in FIG. 7, the CPU limit value “80” is not exceeded even if the obtained maximum value “35” of the CPU usage rate is doubled. This is the range of the number of substitution signals. The
また、図7の符号hに示すように、最大肩代わり信号数Sを超えない範囲で最も高いスコアCは肩代わり信号数Sが「3」のため、肩代わり信号数S「3」の範囲の中で最も高いスコアであるスコア「3.09」が選ばれ、そして該スコア「3.09」が示すS「3」が決定される。この例では、振分機能部110は、スコア「3.09」から肩代わり信号数S「3」を決定し、3信号を低遅延サーバ11〜13に振り分ける。
Further, as shown by the symbol h in FIG. 7, the highest score C in the range not exceeding the maximum shoulder signal number S is “3” because the shoulder signal number S is within the range of the shoulder signal number S “3”. The highest score “3.09” is selected, and S “3” indicated by the score “3.09” is determined. In this example, the
図7の例では、低遅延サーバの負荷変動率Aのみを用いて、肩代わり信号数Sを決定する方法(方法1)によるS「3」と(図7の符号g参照)、最大肩代わり信号数の範囲の中で最大のスコアとなる肩代わり信号数Sを決定する方法(方法2)によるS「3」と(図7の符号h参照)、が同じ結果となっているが、決定される肩代わり信号数Sが両者で異なる場合もあり得る。すなわち、スコアの値によっては最大肩代わり信号数の範囲の中から、スコアの値がより高い別の肩代わり信号数Sが決定されることは有り得る。両者による肩代わり信号数Sが異なった場合、(方法2)による肩代わり信号数Sの決定を優先させる。
このように、(方法2)では、(方法1)で得られた最大肩代わり信号数の範囲から、最も評価の高い肩代わり信号数Sを決定するので、より信頼度の高い肩代わり信号数Sを得ることができる。その結果、より最適な肩代わり信号数S分だけ高遅延サーバから低遅延サーバに振り分けることができるので、負荷分散のさらなる最適化を図ることができ、より一層処理負荷を制限しつつ、応答時間をできるだけ早めることができる。
In the example of FIG. 7, S “3” according to the method (method 1) of determining the shoulder signal number S using only the load fluctuation rate A of the low-delay server (see symbol g in FIG. 7), the maximum shoulder signal number. S "3" by the method (method 2) for determining the number S of substitution signals that gives the maximum score in the range of (2) (see symbol h in FIG. 7) has the same result, but the substitution to be decided The number S of signals may be different between the two. That is, depending on the score value, another shoulder signal number S having a higher score value may be determined from the range of the maximum shoulder signal number. When the shoulder signal number S differs between the two, priority is given to the determination of the shoulder signal number S by (Method 2).
In this way, in (Method 2), since the highest substitution signal number S is determined from the range of the maximum substitution signal number obtained in (Method 1), a more reliable substitution signal number S is obtained. be able to. As a result, since it is possible to distribute from the high-delay server to the low-delay server by the optimal number of substitution signals S, it is possible to further optimize the load distribution and further reduce the response time while limiting the processing load. It can be accelerated as much as possible.
以上説明したように、本実施形態の負荷分散装置100は、各処理サーバの処理TATを測定する処理時間測定手段と、測定した処理TATに基づいて、処理サーバを高遅延サーバと低遅延サーバとに分類する分類手段と、を備える。さらに、負荷分散装置100は、低遅延サーバの処理の限界値である負荷制限値を記憶する情報格納部130と、低遅延サーバの負荷情報を取得するサーバ情報取得部120と、高遅延サーバの台数と、低遅延サーバの台数と、取得した負荷情報の最大値と低遅延サーバの負荷変動を示す処理サーバの負荷変動率Aとに基づいて、負荷制限値を超えない範囲で、高遅延サーバに振り分けるべき信号を低遅延サーバに振り分ける肩代わり信号数Sを算出する肩代わり信号数算出部111と、算出した肩代わり信号数S分を、高遅延サーバから低遅延サーバに振り分ける振分機能部110と、を備える。
As described above, the
そして、負荷分散装置100の負荷分散方法では、各処理サーバの処理TATを測定する処理時間測定ステップと、測定した処理TATに基づいて、処理サーバを高遅延サーバと低遅延サーバとに分類する分類ステップと、低遅延サーバの処理の限界値である負荷制限値を記憶する記憶ステップと、低遅延サーバの負荷情報を取得する負荷情報取得ステップと、高遅延サーバの台数と、低遅延サーバの台数と、取得した負荷情報の最大値と低遅延サーバの負荷変動を示す処理サーバの負荷変動率Aとに基づいて、負荷制限値を超えない範囲で、高遅延サーバに振り分けるべき信号を低遅延サーバに振り分ける肩代わり信号数Sを算出する信号数算出ステップと、算出した肩代わり信号数S分を、高遅延サーバから低遅延サーバに振り分ける振分ステップと、を実行する。
In the load distribution method of the
既存技術のロードバランサの負荷分散方法のデメリットについて述べる。
既存技術のロードバランサの負荷分散方法には、負荷分散性に着目した「低負荷サーバ優先」と、平均処理時間に着目した「低遅延サーバ優先」とがある。
(1)低負荷サーバ優先
各処理サーバの負荷には、ばらつき(あるサーバは100%だが、他のサーバは0%などという状況)がある。負荷分散性は、各処理サーバの負荷を均等に分散する。低負荷サーバ優先は、CPU負荷が一番小さい処理サーバへ優先して振り分ける。低負荷サーバ優先では、TATが短い(低遅延)サーバの負荷が上がってくると、TATが長い(高遅延)サーバへ振り分けてしまう。このため、低遅延サーバの処理能力を使い切ることができない。結果として、平均TATが高くなる可能性がある。
The disadvantages of the load balancing method of the existing technology load balancer are described.
The load balancing method of the load balancer of the existing technology includes “low load server priority” focusing on load distribution and “low delay server priority” focusing on average processing time.
(1) Low-load server priority The load on each processing server varies (the situation is that some servers are 100% but other servers are 0%, etc.). Load distribution distributes the load of each processing server evenly. The low-load server priority is assigned with priority to the processing server with the smallest CPU load. In the low load server priority, when the load of a server with a short TAT (low delay) increases, the server is distributed to a server with a long TAT (high delay). For this reason, the processing capability of the low-latency server cannot be used up. As a result, the average TAT can be high.
(2)低遅延サーバ優先
低負荷サーバ優先では、TATが一番短いサーバへ優先して振り分ける。低負荷サーバ優先は、サーバの負荷を考慮しないため、TATが短いサーバの負荷が一時的に高くなる可能性がある。結果として、CPU規制などの対象となってしまう可能性がある。
(2) Low-latency server priority In low-load server priority, priority is given to the server with the shortest TAT. Since the low load server priority does not consider the load on the server, the load on the server with a short TAT may temporarily increase. As a result, there is a possibility of being subject to CPU regulation.
本実施形態の負荷分散装置100は、上記既存技術と比較して下記の特徴を有する。
本実施形態の負荷分散装置100は、CPU限界値を超えない範囲で、本来高遅延サーバ14〜17(図3参照)が処理すべき信号を低遅延サーバ11〜13に戻す振分を行っている。換言すれば、負荷分散装置100は、低遅延サーバ14〜17への信号の振り分けを最適化するようにしているので、高遅延サーバ14〜17への信号の振分を、より減らすことで、処理遅延を防止しつつ、低遅延サーバ11〜13に過度の処理負荷をかけないようにしてハードウェアリソースの非効率化や不要なスケーリングを抑制することができる。その結果、処理サーバの処理負荷を一定以下に保ちつつ、要求信号の処理TATを低減することができる。要求信号の処理TATと処理サーバの処理負荷の両面を満足させることができる。
The
The
(第2の実施形態)
図8は、本発明の第2の実施形態に係る負荷分散装置が適用される分散システムを示す構成図である。図1と同一構成部には同一符号を付して重複箇所の説明を省略する。
図8に示すように、負荷分散装置200は、肩代わり信号数算出部211を有する振分機能部210と、サーバ情報取得部120と、情報格納部130と、を備える。
(Second Embodiment)
FIG. 8 is a configuration diagram showing a distributed system to which the load distribution apparatus according to the second embodiment of the present invention is applied. The same components as those in FIG. 1 are denoted by the same reference numerals, and description of overlapping portions is omitted.
As illustrated in FIG. 8, the
負荷分散装置200は、処理時間測定手段として、各処理サーバの処理時間を測定する。また、分類手段として、測定した処理時間に基づいて、処理サーバを高遅延サーバと低遅延サーバとに分類する。本実施形態では、負荷分散装置200は、各処理サーバを処理TATの小さい順に低遅延サーバとして1台ずつ、全台数−1まで増加させていき、それぞれの場合の低遅延サーバの台数と高遅延サーバの台数とを決定する。
The
肩代わり信号数算出部211は、決定された低遅延サーバの台数と当該低遅延サーバの台数と、低遅延サーバで処理した場合の処理TATと、高遅延サーバで処理した場合の処理TATとに基づいて、リクエストをあらかじめ決めた順序で各処理サーバに振り分ける場合の処理応答時間の変動を示す平均信号処理TAT変動率Bを算出するとともに、低遅延サーバの負荷変動率Aと平均信号処理TAT変動率Bとを基に、肩代わり信号数Sを評価するスコアCを算出する。
振分機能部210は、取得した負荷情報の最大値と低遅延サーバの負荷変動率Aを乗算し、CPU閾値を超えない肩代わり信号数Sの範囲を算出し、算出した肩代わり信号数Sの範囲の中で最大のスコアCとなる肩代わり信号数Sの値で振り分けを行う。
The substitution signal number calculation unit 211 is based on the determined number of low-delay servers, the number of the low-delay servers, a process TAT when processed by the low-delay server, and a process TAT when processed by the high-delay server. The average signal processing TAT fluctuation rate B indicating the fluctuation of the processing response time when the request is distributed to each processing server in a predetermined order, and the load fluctuation rate A of the low delay server and the average signal processing TAT fluctuation rate Based on B, a score C for evaluating the shoulder signal number S is calculated.
The
以下、上述のように構成された負荷分散装置200の負荷分散方法について説明する。
本実施形態は、処理サーバの処理遅延や処理負荷、台数を考慮しながら、できるだけ通信遅延が小さい処理サーバへ信号を振り分ける。
負荷分散装置200は、各処理サーバの処理時間(TAT)と負荷を測定し、処理サーバをTATの小さい順にソートする。
そして、負荷分散装置200は、TATの小さい順に低遅延サーバ数をまず1つ決め、他を高遅延サーバ数(全台数N−1)として、肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCを算出する。次いで、TATの小さい順に低遅延サーバ数を2つ決め、他を高遅延サーバ数(N−2)として、肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCを算出する。以下同様に、低遅延サーバ数をTATの小さい順に1,2,3,…と増やしていき、全ての低遅延サーバ数と高遅延サーバ数との組合せについて肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCを算出する。
Hereinafter, a load distribution method of the
In the present embodiment, a signal is distributed to a processing server having a communication delay as small as possible while considering the processing delay, processing load, and number of processing servers.
The
Then, the
そして、負荷分散装置200は、全ての低遅延サーバ数と高遅延サーバ数との組合せの中から、低遅延サーバの負荷変動率Aと負荷情報(CPU使用率)の乗算値がCPU閾値を超えない範囲で最大のスコアCとなる肩代わり信号数Sの値で振り分けを行う。
振分機能部110は、取得した負荷情報の最大値と低遅延サーバの負荷変動率Aとを乗算し、CPU閾値を超えない肩代わり信号数Sの範囲を算出し、算出した肩代わり信号数Sの範囲の中で最大のスコアCとなる肩代わり信号数Sの値で振り分けを行う。
Then, the
The allocating
図9は、負荷分散装置200の負荷分散方法のシーケンス例を説明するフローチャートである。図10は、図9のシーケンス例を説明する図である。
図9のステップS201において、負荷分散装置200は、各処理サーバ11〜17のCPU閾値を設定する。例えば、負荷分散装置200は、CPU閾値=80を設定する。
FIG. 9 is a flowchart for explaining a sequence example of the load distribution method of the
In step S201 of FIG. 9, the
図9のステップS202において、負荷分散装置200は、定期的に全処理サーバ11〜17へテスト信号(pingなど)を送信し、各処理サーバ11〜17の応答時間(TAT)を取得(測定)する。図10の符号iに示すように、処理サーバ11の応答時間(TAT)「1.1ms」、処理サーバ12の応答時間(TAT)「1.5ms」、処理サーバ13の応答時間(TAT)「2.1ms」、処理サーバ14の応答時間(TAT)「10.1ms」、処理サーバ15の応答時間(TAT)「11.5ms」、処理サーバ16の応答時間(TAT)「13.5ms」、処理サーバ17の応答時間(TAT)「118.7ms」を取得する。
In step S202 of FIG. 9, the
ステップS203において、負荷分散装置200のサーバ情報取得部120は、定期的に全処理サーバ11〜17の負荷情報(CPU使用率)を取得する。図10の符号jに示すように、サーバ情報取得部120は、処理サーバ11のCPU使用率「35」、処理サーバ12のCPU使用率「34」、処理サーバ13のCPU使用率「38」、処理サーバ14のCPU使用率「45」、処理サーバ15のCPU使用率「44」、処理サーバ16のCPU使用率「31」、処理サーバ17のCPU使用率「24」を取得する。
In step S <b> 203, the server
ステップS204において、振分機能部210の肩代わり信号数算出部211は、応答時間(TAT)が少ない順に低遅延サーバを1台,2台,…,(全台数−1)台と増加させていき、それぞれの場合の肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCの値を算出する(後記図11参照)。
図10の例では、各処理サーバ11〜17の応答時間(TAT)の測定結果を見ると、応答時間(TAT)が少ない順に、処理サーバ11の応答時間(TAT)「1.1ms」、処理サーバ12の応答時間(TAT)「1.5ms」、処理サーバ13の応答時間(TAT)「2.1ms」、…となっている。したがって、まず、処理サーバ11〜17のうち、処理サーバ11の1台を低遅延サーバとし、他の処理サーバ12〜17の6台を高遅延サーバとして、上記肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCの値を算出する。次に、処理サーバ11と処理サーバ12の2台を低遅延サーバとし、他の処理サーバ13〜17の5台を高遅延サーバとして、上記肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCの値を算出する。
In step S204, the substitution signal number calculation unit 211 of the
In the example of FIG. 10, when the measurement results of the response times (TAT) of the
以下、同様に、応答時間(TAT)が少ない順に低遅延サーバを増加させていき、(全台数−1)すなわち処理サーバ11〜16の6台を低遅延サーバとし、他の処理サーバ17の1台を高遅延サーバとして、上記肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCの値を算出する。以上により、応答時間(TAT)が少ない順に、低遅延サーバの台数を変えた場合のすべての組み合わせについて、上記肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCの値を算出する。
In the same manner, the low-delay servers are increased in ascending order of response time (TAT), (total number-1), that is, six
ステップS205において、負荷分散装置200の振分機能部210は、上記スコアCが最大となるときの肩代わり信号数Sの値で振り分けを行う。すなわち、振分機能部210は、上記スコアCが最大となるときの肩代わり信号数Sの分だけ、本来高遅延サーバに振り分けられる信号を低遅延サーバに振り分ける。
In step S205, the
次に、図11を参照して低遅延サーバへの信号の振り分け例について説明する。
図11は、肩代わり信号数算出部211により算出された肩代わり信号数S、低遅延サーバの負荷変動率A、平均信号処理TAT変動率B、およびスコアCの算出例を示す図である。なお、スコアCは、減少関数(1/A+1/B)を用いている。
図11の符号kに示すように、低遅延サーバを増加させていき、それぞれの場合で、肩代わり信号数Sごとに低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCの値を算出する。図11の例では、低遅延サーバの台数「1」かつ高遅延サーバの台数「6」の場合において、肩代わり信号数S「1」のとき、Nm「1」とS「0」を前記式(1)に導入して低遅延サーバの負荷変動率A「1」が算出され、またNm「1」とNn「6」とS「0」を前記式(2)に導入して平均信号処理TAT変動率B「1」が算出される。また、S「0」の場合のスコアは、減少関数(1/A+1/B)に、A「1」とB「1」を代入することで、スコア「2」が算出される。同様にして、S「1」の場合には、低遅延サーバの負荷変動率A「2」、平均信号処理TAT変動率B「0.86」、スコア「1.67」が算出され、S「2」の場合には、低遅延サーバの負荷変動率A「3」、平均信号処理TAT変動率B「0.71」、スコア「1.74」が算出される。
そして、図11の符号lに示すように、CPU閾値を超えない肩代わり信号数Sの範囲を算出し、その中でスコアCが最大となる肩代わり信号数Sで振り分けを行う。
Next, an example of signal distribution to the low-latency server will be described with reference to FIG.
FIG. 11 is a diagram illustrating a calculation example of the shoulder signal number S calculated by the shoulder signal number calculation unit 211, the load variation rate A, the average signal processing TAT variation rate B, and the score C of the low-delay server. The score C uses a decreasing function (1 / A + 1 / B).
As shown by the symbol k in FIG. 11, the number of low-delay servers is increased, and in each case, the load variation rate A, average signal processing TAT variation rate B, and score C of the low-delay server for each substitution signal number S. Calculate the value. In the example of FIG. 11, when the number of low-delay servers is “1” and the number of high-delay servers is “6”, Nm “1” and S “0” are expressed by the above formula ( 1), the load fluctuation rate A “1” of the low-delay server is calculated, and Nm “1”, Nn “6”, and S “0” are introduced into the equation (2) to calculate the average signal processing TAT. The fluctuation rate B “1” is calculated. Also, the score “2” is calculated by substituting A “1” and B “1” into the decreasing function (1 / A + 1 / B) in the case of S “0”. Similarly, in the case of S “1”, the load fluctuation rate A “2”, the average signal processing TAT fluctuation rate B “0.86”, and the score “1.67” of the low delay server are calculated. In the case of “2”, the load fluctuation rate A “3”, average signal processing TAT fluctuation rate B “0.71”, and score “1.74” of the low delay server are calculated.
Then, as indicated by
次に、図12 を参照して低遅延サーバへの信号の振り分け例についてより詳細に説明する。
図12は、肩代わり信号数算出部211により算出された肩代わり信号数S、低遅延サーバの負荷変動率A、平均信号処理TAT変動率BおよびスコアCの算出、ならびにスコアCを用いた肩代わり信号数Sによる振り分け例を示す図である。なお、スコアCは、減少関数(1/A+1/B)を用いている。肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCの値の算出方法については、図11により説明した。
Next, an example of signal distribution to the low-latency server will be described in more detail with reference to FIG.
FIG. 12 illustrates the calculation of the shoulder signal number S calculated by the shoulder signal number calculation unit 211, the load fluctuation rate A of the low delay server, the average signal processing TAT fluctuation rate B and the score C, and the number of shoulder signals using the score C. It is a figure which shows the example of distribution by S. The score C uses a decreasing function (1 / A + 1 / B). The method of calculating the load fluctuation rate A, average signal processing TAT fluctuation rate B, and score C of the low-delay server for each substitution signal number S has been described with reference to FIG.
図12に示すように、低遅延サーバの台数と高遅延サーバの台数との組み合わせにおいて、それぞれの組み合わせにおける肩代わり信号数Sごとの低遅延サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCの値が算出されている。そして、図12に示すように、負荷分散装置200の振分機能部210(図8参照)は、低遅延サーバの中で最大のCPU値をA倍してもCPU閾値を超えないか否かを判定する。図12の例では、例えば低遅延サーバの台数「1」かつ高遅延サーバの台数「6」の場合において、肩代わり信号数S「0」および「1」のとき、前記CPU閾値を超え、肩代わり信号数S「2」〜「6」のときには、前記CPU閾値を超えない。また、低遅延サーバの台数「2」かつ高遅延サーバの台数「5」の場合において、肩代わり信号数S「0」と「1」と「2」のとき、前記CPU閾値を超え、肩代わり信号数S「3」〜「5」のときには、前記CPU閾値を超えない。また、低遅延サーバの台数「3」かつ高遅延サーバの台数「4」の場合において、肩代わり信号数S「0」と「1」と「2」と「3」のとき、前記CPU閾値を超え、肩代わり信号数S「4」のときのみ前記CPU閾値を超えない。以下、低遅延サーバの台数「4」かつ高遅延サーバの台数「3」の場合、低遅延サーバの台数「5」かつ高遅延サーバの台数「2」の場合、低遅延サーバの台数「6」かつ高遅延サーバの台数「1」の場合は、肩代わり信号数Sの値にかかわらず、前記CPU閾値を超える。
As shown in FIG. 12, in the combination of the number of low-delay servers and the number of high-delay servers, the load variation rate A, average signal processing TAT variation rate B of the low-delay server for each substitution signal number S in each combination, A value of score C is calculated. Then, as shown in FIG. 12, the distribution function unit 210 (see FIG. 8) of the
そして、図12の符号mに示すように、低遅延サーバの中で最大のCPU値をA倍してもCPU閾値を超えないもののうち、最大のスコアCとなる低遅延サーバの台数と高遅延サーバの台数と肩代わり信号数Sとの組合せで振り分けを行う。なお、単に最大のスコアCとなるものは、低遅延サーバの台数「2」かつ高遅延サーバの台数「5」の場合において、肩代わり信号数S「5」のときのスコアC「6.71」がある。しかし、この組合せは、CPU閾値=80を超えた場合の肩代わり信号数S「5」による振り分け例である。つまり、処理サーバのCPU値を超えた状態においての振り分けとなるためシステム全体の処理時間は増大する。図12の例では、低遅延サーバの台数「3」と高遅延サーバの台数「4」と肩代わり信号数S「3」の分だけ、本来高遅延サーバに振り分けられる信号を低遅延サーバに振り分ける。 Then, as shown by the symbol m in FIG. 12, among the low-delay servers, the maximum CPU value multiplied by A does not exceed the CPU threshold value, and the number of low-delay servers with the maximum score C and the high delay The distribution is performed by the combination of the number of servers and the number of signals S on the shoulder. The maximum score C is simply the score C “6.71” when the number of low-delay servers is “2” and the number of high-delay servers is “5” and the number of substitution signals S is “5”. There is. However, this combination is an example of distribution based on the number of substitution signals S “5” when the CPU threshold value exceeds 80. In other words, the processing time of the entire system increases because the distribution is performed when the CPU value of the processing server is exceeded. In the example of FIG. 12, signals that are originally distributed to the high-delay server are allocated to the low-delay servers by the number of low-delay servers “3”, the number of high-delay servers “4”, and the number of substitution signals S “3”.
ここで、前記第1の実施形態では、各処理サーバの応答時間(TAT)を応答時間閾値と比較して、各処理サーバを低遅延サーバと高遅延サーバとに分類していた。これに対して、本実施形態では、第1の実施形態のような応答時間閾値を設けることなく、各処理サーバを処理TATの小さい順に低遅延サーバとして1台ずつ、全台数−1まで増加させていき、それぞれの場合の低遅延サーバの台数と高遅延サーバの台数とを決定することで、各処理サーバを低遅延サーバと高遅延サーバとに分類する。すなわち、本実施形態では、一定値である応答時間閾値を用いずに、処理サーバの全体的な処理遅延や処理負荷を見て動的に、その時点で最適な低遅延サーバおよび高遅延サーバを分類するので、より適切な処理サーバの分類を行うことができる。その結果、負荷分散のさらなる最適化を図ることができ、より一層処理負荷を制限しつつ、応答時間をできるだけ早めることができる。 Here, in the first embodiment, the response time (TAT) of each processing server is compared with a response time threshold value, and each processing server is classified into a low delay server and a high delay server. On the other hand, in this embodiment, without setting a response time threshold as in the first embodiment, each processing server is increased as a low-delay server one by one in ascending order of processing TAT to the total number -1. Then, by determining the number of low latency servers and the number of high latency servers in each case, each processing server is classified into a low latency server and a high latency server. That is, in this embodiment, without using a response time threshold value that is a constant value, the low delay server and the high delay server that are optimal at that time are dynamically determined by looking at the overall processing delay and processing load of the processing server. Since classification is performed, more appropriate processing server classification can be performed. As a result, load distribution can be further optimized, and the response time can be shortened as much as possible while further limiting the processing load.
なお、上記各実施形態では、低遅延サーバの負荷変動率Aと平均信号処理TAT変動率Bから減少関数(評価関数)を用いてスコアを算出しているが、平均信号処理TAT変動率Bを用いるものであればよく、評価関数に基づくスコアを算出しないものでもよい。すなわち、低遅延サーバの負荷変動率Aと平均信号処理TAT変動率Bを用いて肩代わり信号数Sを決定するものであれば、どのようなものでもよい。
また、低遅延サーバの負荷変動率Aを用いることなく、平均信号処理TAT変動率Bのみを用いるものでもよい。この場合には、あらかじめTAT変動率B目標値を設定し、実測値との差値等から肩代わり信号数Sを求めることができる。
In each of the above embodiments, the score is calculated from the load fluctuation rate A and the average signal processing TAT fluctuation rate B of the low-delay server using a decreasing function (evaluation function). What is necessary is just to use, and the thing which does not calculate the score based on an evaluation function may be used. In other words, any method may be used as long as the shouldering signal number S is determined using the load fluctuation rate A and the average signal processing TAT fluctuation rate B of the low-delay server.
Further, only the average signal processing TAT fluctuation rate B may be used without using the load fluctuation rate A of the low delay server. In this case, the TAT fluctuation rate B target value is set in advance, and the shoulder signal number S can be obtained from the difference value from the actual measurement value or the like.
また、高遅延サーバに振り分けられる信号を低遅延サーバへ振り分ける(戻す)動作は、信号を他拠点から自拠点へ巻き取るイメージとなっている。この点で、低遅延サーバへの「振り分け(戻す)」は、「巻き取り」と呼称してもよい。 In addition, the operation of distributing (returning) the signal distributed to the high-delay server to the low-delay server is an image of winding the signal from another site to its own site. In this respect, “sort (return)” to the low-latency server may be referred to as “winding”.
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
In addition, among the processes described in the above embodiments, all or a part of the processes described as being automatically performed can be manually performed, or the processes described as being manually performed All or a part of the above can be automatically performed by a known method. In addition, the processing procedures, control procedures, specific names, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.
Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)カード、光ディスク等の記録媒体に保持することができる。また、本明細書において、時系列的な処理を記述する処理ステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)をも含むものである。 Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Further, each of the above-described configurations, functions, and the like may be realized by software for interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function is stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), an IC (Integrated Circuit) card, an SD (Secure Digital) card, an optical disk, etc. It can be held on a recording medium. Further, in this specification, the processing steps describing time-series processing are not limited to processing performed in time series according to the described order, but are not necessarily performed in time series, either in parallel or individually. The processing (for example, parallel processing or object processing) is also included.
1 データセンタ(自拠点)
2 データセンタ(他拠点)
11〜17,21〜24 処理サーバ
31〜34 クライアント
100,200 負荷分散装置(処理時間測定手段,分類手段)
111,211 肩代わり信号数算出部(信号数算出手段)
110,210 振分機能部(振分手段)
120 サーバ情報取得部(負荷情報取得手段)
130 情報格納部(記憶手段)
150 拠点情報
A 低遅延サーバの負荷変動率
B 平均信号処理TAT変動率
S 肩代わり信号数
C スコア
1 Data center (own site)
2 Data center (other bases)
11-17, 21-24 Processing server 31-34
111, 211 Shoulder signal number calculation unit (signal number calculation means)
110, 210 Distribution function part (distribution means)
120 Server information acquisition unit (load information acquisition means)
130 Information storage unit (storage means)
150 Base information A Load variation rate of low-latency server B Average signal processing TAT variation rate S Number of shoulder signals C Score
Claims (7)
各前記処理サーバの処理TAT(Turn Around Time) を測定する処理時間測定手段と、
測定した前記処理TATに基づいて、前記処理サーバを高遅延サーバと低遅延サーバとに分類する分類手段と、
前記低遅延サーバの処理の限界値である負荷制限値を記憶する記憶手段と、
前記低遅延サーバの負荷情報を取得する負荷情報取得手段と、
前記高遅延サーバの台数と、前記低遅延サーバの台数と、取得した前記負荷情報の最大値と前記低遅延サーバの負荷変動を示す処理サーバの負荷変動率とに基づいて、前記負荷制限値を超えない範囲で、前記高遅延サーバに振り分けるべき信号を前記低遅延サーバに振り分ける肩代わり信号数を算出する信号数算出手段と、
算出した前記肩代わり信号数分を、前記高遅延サーバから前記低遅延サーバに振り分ける振分手段と、
を備えることを特徴とする負荷分散装置。 A load balancer that includes a plurality of processing servers in a base and determines the processing server that executes information processing requested by a client,
A processing time measuring means for measuring a processing TAT (Turn Around Time) of each of the processing servers;
Classification means for classifying the processing server into a high-latency server and a low-latency server based on the measured processing TAT;
Storage means for storing a load limit value which is a limit value of processing of the low-latency server;
Load information acquisition means for acquiring load information of the low-latency server;
Based on the number of the high-delay servers, the number of the low-delay servers, the maximum value of the acquired load information, and the load variation rate of the processing server indicating the load variation of the low-delay server, the load limit value is calculated. A signal number calculating means for calculating the number of substitution signals to be distributed to the low-delay server within a range not exceeding the signal to be distributed to the low-delay server;
Distribution means for distributing the calculated number of substitution signals from the high delay server to the low delay server;
A load balancer comprising:
前記低遅延サーバの負荷変動率と前記平均信号処理TAT変動率とを基に、前記肩代わり信号数を評価するスコアを算出し、
前記振分手段は、取得した前記負荷情報の最大値と前記低遅延サーバの負荷変動率とに基づいて、前記負荷制限値を超えない範囲の中から、最大の前記スコアとなる前記肩代わり信号数分を、前記高遅延サーバから前記低遅延サーバに振り分ける
ことを特徴とする請求項1に記載の負荷分散装置。 The signal number calculating means distributes the requests to the processing servers in a predetermined order based on a processing TAT when processed by the low-latency server and a processing TAT when processed by the high-latency server. Calculating the average signal processing TAT variation rate indicating the variation of the processing response time in the case,
Based on the load variation rate of the low-latency server and the average signal processing TAT variation rate, a score for evaluating the number of substitute signals is calculated,
The allocating means, based on the acquired maximum value of the load information and the load fluctuation rate of the low-latency server, from the range not exceeding the load limit value, the number of substitution signals serving as the maximum score The load distribution apparatus according to claim 1, wherein minutes are distributed from the high delay server to the low delay server.
ことを特徴とする請求項1に記載の負荷分散装置。 The load distribution apparatus according to claim 1, wherein the load information acquisition unit acquires a CPU usage rate of the low-latency server as load information.
ことを特徴とする請求項1に記載の負荷分散装置。 When the processing TAT when processed by the low delay server is 1, the processing TAT when processed by the high delay server is the average of the processing TAT of the high delay server by the average of the processing TAT of the low delay server. The load distribution apparatus according to claim 1, wherein the load distribution apparatus is approximated by a divided value.
ことを特徴とする請求項1に記載の負荷分散装置。 The allocating unit multiplies the acquired maximum value of the load information by the load variation rate of the low-latency server, calculates a range of the shoulder signal number that does not exceed the CPU threshold, and calculates the calculated shoulder signal number 2. The load distribution apparatus according to claim 1, wherein the distribution is performed based on the value of the number of substitution signals having the maximum score in the range.
前記信号数算出手段は、決定された前記低遅延サーバの台数と当該低遅延サーバの台数と、前記低遅延サーバで処理した場合の処理TATと、前記高遅延サーバで処理した場合の処理TATとに基づいて、前記リクエストをあらかじめ決めた順序で各前記処理サーバに振り分ける場合の処理応答時間の変動を示す平均信号処理TAT変動率を算出するとともに、前記低遅延サーバの負荷変動率と前記平均信号処理TAT変動率とを基に、前記肩代わり信号数を評価するスコアを算出し、
前記振分手段は、取得した負荷情報の最大値と低遅延サーバの負荷変動率を乗算し、CPU閾値を超えない前記肩代わり信号数の範囲を算出し、算出した前記肩代わり信号数の範囲の中で最大の前記スコアとなる前記肩代わり信号数の値で振り分けを行う
ことを特徴とする請求項1に記載の負荷分散装置。 The classification means increases each processing server as a low-delay server in order from the smallest processing TAT to the total number -1, and the number of low-delay servers and the number of high-delay servers in each case And decide
The signal number calculating means includes the determined number of low-delay servers, the number of low-delay servers, a process TAT when processed by the low-delay server, and a process TAT when processed by the high-delay server; And calculating an average signal processing TAT variation rate indicating variation in processing response time when the requests are distributed to the processing servers in a predetermined order, and the load variation rate of the low delay server and the average signal Based on the processing TAT fluctuation rate, a score for evaluating the number of substitution signals is calculated,
The allocating means multiplies the maximum value of the acquired load information by the load fluctuation rate of the low-delay server, calculates the range of the substitution signal number not exceeding the CPU threshold value, and calculates the range of the calculated substitution signal number. The load distribution apparatus according to claim 1, wherein the distribution is performed based on the value of the number of substitution signals having the largest score.
前記負荷分散装置は、
前記各処理サーバの処理TAT(Turn Around Time)を測定する処理時間測定ステップと、
測定した前記処理TATに基づいて、前記処理サーバを高遅延サーバと低遅延サーバとに分類する分類ステップと、
前記低遅延サーバの処理の限界値である負荷制限値を記憶する記憶ステップと、
前記低遅延サーバの負荷情報を取得する負荷情報取得ステップと、
前記高遅延サーバの台数と、前記低遅延サーバの台数と、取得した前記負荷情報の最大値と前記低遅延サーバの負荷変動を示す処理サーバの負荷変動率とに基づいて、前記負荷制限値を超えない範囲で、前記高遅延サーバに振り分けるべき信号を前記低遅延サーバに振り分ける肩代わり信号数を算出する信号数算出ステップと、
算出した前記肩代わり信号数分を、前記高遅延サーバから前記低遅延サーバに振り分ける振分ステップと、
を実行する負荷分散方法。 A load balancing method for a load balancer that includes a plurality of processing servers in a base and determines the processing server that executes information processing requested by a client,
The load balancer is:
A processing time measuring step of measuring a processing TAT (Turn Around Time) of each processing server;
A classification step of classifying the processing server into a high-latency server and a low-latency server based on the measured processing TAT;
A storage step of storing a load limit value that is a limit value of processing of the low-latency server;
A load information acquisition step of acquiring load information of the low-latency server;
Based on the number of the high-delay servers, the number of the low-delay servers, the maximum value of the acquired load information, and the load variation rate of the processing server indicating the load variation of the low-delay server, the load limit value is calculated. A signal number calculating step for calculating the number of substitution signals to be distributed to the low delay server within a range not exceeding the signal to be distributed to the low delay server;
A distribution step of distributing the calculated number of substitution signals from the high delay server to the low delay server;
Load balancing method to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017023031A JP6660322B2 (en) | 2017-02-10 | 2017-02-10 | Load distribution device and load distribution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017023031A JP6660322B2 (en) | 2017-02-10 | 2017-02-10 | Load distribution device and load distribution method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018128956A true JP2018128956A (en) | 2018-08-16 |
JP6660322B2 JP6660322B2 (en) | 2020-03-11 |
Family
ID=63174185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017023031A Active JP6660322B2 (en) | 2017-02-10 | 2017-02-10 | Load distribution device and load distribution method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6660322B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019032653A (en) * | 2017-08-07 | 2019-02-28 | 日本電信電話株式会社 | Distribution method |
JP2022080171A (en) * | 2020-11-17 | 2022-05-27 | トヨタ自動車株式会社 | Information processing device, information processing method, information processing program, and information processing system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015153370A (en) * | 2014-02-19 | 2015-08-24 | 西日本電信電話株式会社 | Load distribution system, device and method |
-
2017
- 2017-02-10 JP JP2017023031A patent/JP6660322B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015153370A (en) * | 2014-02-19 | 2015-08-24 | 西日本電信電話株式会社 | Load distribution system, device and method |
Non-Patent Citations (1)
Title |
---|
北野 雄大,外1名: "拠点間通信遅延を考慮した負荷分散手法", 2016年電子情報通信学会通信ソサイエティ大会講演論文集2, JPN6019038496, 6 September 2016 (2016-09-06), JP, pages 13, ISSN: 0004128602 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019032653A (en) * | 2017-08-07 | 2019-02-28 | 日本電信電話株式会社 | Distribution method |
JP2022080171A (en) * | 2020-11-17 | 2022-05-27 | トヨタ自動車株式会社 | Information processing device, information processing method, information processing program, and information processing system |
Also Published As
Publication number | Publication date |
---|---|
JP6660322B2 (en) | 2020-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218355B (en) | Load balancing engine, client, distributed computing system and load balancing method | |
US11546644B2 (en) | Bandwidth control method and apparatus, and device | |
CN107026907B (en) | Load balancing method, load balancer and load balancing system | |
CN108463988B (en) | System for network file access for load balancing | |
US7493382B2 (en) | Resource assignment manager and resource assignment method | |
US10044797B2 (en) | Load balancing of distributed services | |
WO2021136137A1 (en) | Resource scheduling method and apparatus, and related device | |
CN103391299A (en) | Load balance method and load balance system | |
US11558304B2 (en) | Network flow sampling fairness | |
CN108809848A (en) | Load-balancing method, device, electronic equipment and storage medium | |
CN107707612B (en) | Method and device for evaluating resource utilization rate of load balancing cluster | |
JP2014086927A (en) | Information processing method, program, information processing device and information processing system | |
JP2018128956A (en) | Load distribution device and load distribution method | |
KR101448413B1 (en) | Method and apparatus for scheduling communication traffic in atca-based equipment | |
US20070276933A1 (en) | Providing quality of service to prioritized clients with dynamic capacity reservation within a server cluster | |
CN105740076B (en) | A kind of load-balancing method and device | |
US9501321B1 (en) | Weighted service requests throttling | |
CN109995818A (en) | A kind of method and device of server load balancing | |
JP6368699B2 (en) | Load distribution apparatus and load distribution method | |
CN108200185B (en) | Method and device for realizing load balance | |
CN109842665B (en) | Task processing method and device for task allocation server | |
CN113472591B (en) | Method and device for determining service performance | |
CN109951506A (en) | A kind of appraisal procedure and equipment of storage cluster performance | |
CN110300138B (en) | Picture service scheduling method, device, management node and computer readable storage medium | |
JP6696941B2 (en) | Load balancer and load balancing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191008 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191128 |
|
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: 20200204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200207 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6660322 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |