JP5557590B2 - 負荷分散装置及びシステム - Google Patents
負荷分散装置及びシステム Download PDFInfo
- Publication number
- JP5557590B2 JP5557590B2 JP2010106087A JP2010106087A JP5557590B2 JP 5557590 B2 JP5557590 B2 JP 5557590B2 JP 2010106087 A JP2010106087 A JP 2010106087A JP 2010106087 A JP2010106087 A JP 2010106087A JP 5557590 B2 JP5557590 B2 JP 5557590B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- virtual
- virtual server
- rate
- cpu
- 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
- 238000012545 processing Methods 0.000 claims description 83
- 238000012546 transfer Methods 0.000 claims description 52
- 238000012544 monitoring process Methods 0.000 claims description 15
- 238000012937 correction Methods 0.000 claims description 2
- 238000010187 selection method Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 54
- 238000007726 management method Methods 0.000 description 39
- 230000008569 process Effects 0.000 description 35
- 238000006243 chemical reaction Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 13
- 238000005259 measurement Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 6
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 4
- 238000013468 resource allocation Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Description
図1は、本発明の第1の実施の形態のリクエスト処理システムの構成である。第1の実施の形態のリクエスト処理システムは、負荷分散装置1、中継装置2、物理サーバ3〜5、物理サーバ3内の仮想サーバ31〜33、物理サーバ4内の仮想サーバ41〜43、物理サーバ5内の仮想サーバ51〜53、負荷分散装置と中継装置とを接続するネットワーク6を備える。
物理サーバ3内には、仮想サーバ31〜33が形成され/る。仮想サーバは、物理サーバが備えるCPU、メモリ、ハードディスク、ネットワーク等のリソースを論理的に分割して使用するサーバである。同様に物理サーバ4には、仮想サーバ41〜43が形成され、物理サーバ5には、仮想サーバ51〜53が形成される。
仮想サーバ31、41、51は、クライアント端末からのリクエストに応じてアプリケーションソフトウェアを実行し、結果をHTML(Hyper Text Markup Language)文章等にして転送する仮想サーバである。以後、アプリケーションソフトウェアを実行するサーバをAPサーバと記す。WEBシステムの構成において、HTML文章や画像等の静的なコンテンツのみをクライアント端末からのリクエストに応じて送信するWEBサーバとAPサーバを区別する場合もある。しかし、負荷分散装置が行う転送処理は、WEBサーバとAPサーバの違いはなく、同様の処理で、WEBサーバへの負荷分散も同様の処理で行うことができる。そのため、ここでは、WEBサーバとAPサーバとを総称してAPサーバと記す。
仮想サーバ32、42は本システムにおいてデータベースの操作、管理等を行う仮想サーバである。以後、データベースの操作、管理を行うサーバをDBサーバと記す。
仮想サーバ32、33も仮想サーバ31と同様の構成である。仮想サーバ33は図5では省略されている。物理サーバ3内の仮想サーバ31〜33は、仮想化OS39が提供する仮想スイッチ40によって接続される。仮想サーバ31〜33は仮想スイッチ40を介して通信を行う。また、仮想スイッチ40を介して、物理サーバ3外部の中継装置2及び他の物理サーバ4、5内の仮想サーバ41〜43、51〜53と接続する。
物理サーバ4、5の物理構成及び論理構成は、物理サーバ3と同様である。
<負荷分散装置>
負荷分散装置1は、負荷分散装置1が構成を管理するWEBシステムへのリクエストを受信し、適切なAPサーバへリクエストを転送する装置である。
リソース監視処理モジュール15による処理フローを図7に示す。ステップ701では、負荷分散装置1は物理サーバや中継装置等、監視対象となる機器へリソースの状況報告要求を送信する。監視対象機器からの応答がない場合(ステップ702でNo)は、応答を受信するまで待機する。監視対象機器からの応答を受信(ステップ702でYes)の場合は、応答した機器を特定し(ステップ703)、該当機器のリソース管理テーブル19に、取得した情報を設定する(ステップ704)。
図8に中継装置のリソース管理テーブルの構成例を示す。リソース監視処理モジュール15は、中継装置2から、各インタフェースから物理サーバへ出力されるパケットレート及びビットレートを取得し、中継装置のリソース管理テーブルに設定する。パケットレートは、単位時間に出力されるイーサフレームまたはIPパケットの数であり、ビットレートは、単位時間に出力されるイーサフレームまたはIPパケットの情報量である。
図9に物理サーバのリソース管理テーブルの構成例を示す。リソース監視処理モジュール15は、物理サーバ3〜5からCPUリソースの状況を取得し、物理サーバのリソース管理テーブルに設定する。物理サーバから取得する情報は、仮想化OS及び各仮想サーバに割り当てられたCPUリソースの上限値(割当率)、仮想化OS及び各仮想サーバの使用率、仮想サーバ間のシェア設定の有無である。シェアとは、仮想サーバ間でCPUリソースを共有できる設定であり、シェアを設定する一方の仮想サーバが割当率までCPUリソースを使用した場合でも、他方の仮想サーバがCPUリソースを使用していなければ、合算した割当率までCPUリソースを使用することができる。
図9に示す例では、仮想サーバ31と32にはシェアが設定されており、仮想サーバ31、32の双方が割当率までCPUリソースを使用した場合は、仮想サーバ31は50%、仮想サーバ32は25%まで使用できる。また、仮想サーバ31がCPUリソースを割当率まで使用せず、25%まで使用している状況において、仮想サーバ32は、50%まで使用することができる。このように、仮想環境では、仮想サーバにCPU割当率を設定した場合でも、シェアを設定した場合は他の仮想サーバの使用率に応じて、使用できるCPUリソースの最大値が異なる。
次に、負荷分散装置1のパケットロス率推定処理モジュール16による処理について説明する。パケットロス率推定処理モジュール16は、物理サーバ3〜5の各仮想スイッチ40で発生するパケットロスの発生率(パケットロス率)をパケットレートなどの観測データから推定するプログラムモジュールである。
仮想スイッチ40は、仮想化OS39によるソフトウェア処理で提供される。そのため、物理サーバへの入力パケットレートが一定の閾値を越えると、スイッチ処理が間に合わず仮想スイッチ40にパケットロスが発生する。パケットロス発生後は、入力パケットレートと物理サーバのCPU使用率の増加に伴ってパケットロスが増加する。さらに、仮想スイッチの性能限界を超えるパケットレートで入力された場合は、仮想スイッチで多くのパケットまたはフレームを廃棄し、仮想サーバへパケットまたはフレームが入力されなくなる。この場合、物理サーバのCPU使用率が低い場合でも、リクエストが仮想サーバへ転送されないため、仮想サーバでリクエストの処理が実行できなくなる。
このような仮想スイッチ40の性能特性を管理するため、負荷分散装置1は、特性管理テーブル20を仮想スイッチ毎に備える。図10に仮想スイッチの特性管理テーブル20の構成例を示す。特性管理テーブル20は、仮想スイッチのパケットロス率の特性が変化するパケットレートと、性能特性の変化に対応したパケットロス率の推定方法を示すテーブルである。
パケットロスが発生し始める入力パケットレートをα、仮想スイッチの性能限界となる入力パケットレートをβ、物理サーバへの入力パケットレートをR、仮想スイッチでのパケットロス率をLとすると、物理サーバへの入力パケットレートRが、パケットロス発生の閾値α以下の場合、パケットロスは発生しないため、以下の式で表せる。
L = 0 (ただし、R<α) ・・・(数1)
また、物理サーバへの入力パケットレートRが、パケットロス発生の閾値α以上、仮想スイッチの性能限界以下の場合、パケットロス率は入力パケットレートと物理サーバのCPU使用率に比例するため、以下の式で表せる。
ただし、LRは入力パケットレートRの場合に計測したパケットロス率、CRは入力パケットレートRの場合に計測した物理サーバのCPU使用率、CCはリソース管理テーブルから取得した現時点の物理サーバのCPU使用率である。
LR、CRは、仮想スイッチのパケットロス率を推定する基準となる性能特性を予め計測した測定値である。すなわち、物理サーバ上で稼動する仮想サーバやアプリケーションの数等の負荷条件を一定に保った上で、仮想スイッチへの入力パケットレートRに対する、物理サーバのCPU使用率CRの対応関係、仮想スイッチでのパケットロス率LRの対応関係を計測して得られる値である。ただし、本実施の形態では、α<R<βの範囲内の入力パケットレートRの複数の代表値についてのみLR、CRの値を計測し、図12に示すパケットロス計測テーブルに予め保存しておく。実際に観測される入力パケットレートRの値は上記の代表値と必ずしも一致しないので、その場合は、2つ以上のパケットレート代表値に対応する測定値を用いて補完演算により算出したLR、CRの値を得る。このようにして取得したLR、CRの値と、リソース管理テーブルから取得した現時点のCPU使用率CCを用いて(数2)の補正演算を行うことでパケットロス率が推定される。
さらに、物理サーバへの入力パケットレートRが、仮想スイッチの性能限界β以上の場合、ほぼすべてのパケットが仮想スイッチで廃棄されるため、以下の式で表せる。
パケットロス率推定処理モジュール16による処理フローを図11に示す。パケットロス率推定処理モジュール16が起動すると、負荷分散装置はステップ1101で構成管理テーブル18を参照し、各物理サーバに接続する中継装置及びインタフェースを取得する。また、リソース管理テーブル19を参照し、中継装置のインタフェースへの入力パケットレートを取得する。次にステップ1102では、ステップ1101で取得した情報から、各物理サーバへの入力パケットレートを取得する。次に仮想スイッチの特性管理テーブル20を取得し(ステップ1103)、物理サーバへの入力パケットレートに対応するパケットロス率の推定方法を取得する(1104)。すなわち、ステップ1102で取得した各物理サーバへの入力パケットレートの値をキーにそれぞれ特性管理テーブルを参照して、それぞれの物理サーバに形成された仮想スイッチのパケットロス率の推定法方法を決定する。ステップ1105では、ステップ1104で取得したパケット率の推定方法に従い、仮想スイッチで発生するパケットロス率を推定する。とくに、仮想スイッチを形成する物理サーバの入力パケットレートRがα<R<βの範囲であり、ステップ1104で(数2)による推定方法が決定された場合は、入力パケットレートRの値でパケットロス計測テーブルを引いて測定値LR、測定値CRを取得する。もしくはパケットロス計測テーブルから取得される複数の測定値LR、CRからそれぞれ補間演算により上記入力パケットレートRの値に対応した測定値LR、CRをそれぞれ算出する。得られたLR、CRと、リソース管理テーブル19を参照して得たCPU使用率CCを(数2)に代入してパケットロス率Lを推定する。
次に、負荷分散装置1のサーバ選択処理モジュール17について説明する。サーバ選択処理モジュール17は、物理サーバや仮想サーバのリソース状況から、リクエストを転送する仮想サーバを選択するプログラムモジュールである。
図13に、サーバ選択処理モジュール17による処理フローを示す。
負荷分散装置1は、クライアント端末からのリクエストを受信する(ステップ1300)。次に、ステップ1301では、リクエストメッセージに含まれる情報又は、IPアドレス等から転送先となるWEBシステムを特定し、WEBシステムの構成管理テーブル18を参照してリクエスト転送先の候補となる仮想サーバ、それが属する物理サーバの情報を取得する。例として、WEBシステム7が特定されたとする。構成管理テーブル18から、WEBシステム7の中のAPサーバである仮想サーバ31、41、51、これら仮想サーバが属する物理サーバ3、4、5、これら物理サーバが接続する中継装置及びそのインタフェースの情報を取得する(ステップ1302)。
ステップ1303以降では、リクエスト転送先の候補である各仮想サーバの余剰処理能力を、候補番号i=1から順に算出する。まず、算出対象の仮想サーバが属する物理サーバのリソース管理テーブルを取得し、さらに中継装置のリソース管理テーブルを取得する(ステップ1304)。ステップ1305では、前記物理サーバのリソース管理テーブルから、算出対象の仮想サーバのCPU割当率(CA)及び使用率(CU)、およびCPU使用率の合計(CP)を取得する。CPU使用率の合計(CP)は、物理サーバ内の全仮想サーバと仮想化OSのCPU使用率の合計であり、つまり計算対象の仮想サーバが属する物理サーバのCPU使用率である。また、中継装置のリソース管理テーブルからは、物理サーバの入力パケットレートの情報を取得する。
次に、算出対象の仮想サーバに他の仮想サーバとシェア(リソース共有)が設定されている場合は(ステップ1306でYes)、設定されたリソース共有仮想サーバのそれぞれのCPU割当率(CA)及び使用率(CU)を取得する(ステップ1307)。
次にパケットロス率推定処理モジュール16を起動し(ステップ1308)、算出対象の仮想サーバが接続する仮想スイッチで発生するパケットロス率を推定する(ステップ1309)。
また、仮想サーバiと仮想サーバjにシェア(リソース共有)が設定されている場合は、仮想サーバiが利用可能なCPUリソース量は、リソース共有仮想サーバjへのCPU割当率をCAj、その実際のCPU使用率をCUjとして以下の(数5)式で表せる。
Ci = CAi+CAj − (CUi+CUj) ・・・(数5)
図9のように、仮想サーバ31の割当率は50%、使用率は25%とすると、C31=0.5 − 0.25 = 0.25(25%)
であり、仮想サーバ31が単独で利用可能なCPUリソースは25%である。さらに、仮想サーバ31と32にはシェア設定がされているため、シェアを考慮すると、仮想サーバ31がさらに利用可能なCPUリソースは、
C31= 0.5 + 0.25 −(0.25 + 0.2)= 0.3(30%)
となる。ステップ1311では、上記のように(数4)もしくは(数5)により算出した利用可能なCPUリソース量Ciの値をそのまま仮想サーバが現在持っている余剰処理能力Piとする
仮想スイッチでパケットロスが発生する場合、パケットロスにより、負荷分散装置1から仮想サーバへリクエストを転送する時間が長くなるため、仮想サーバが利用可能なCPUリソース量が同じ場合でも、仮想サーバで処理可能なリクエスト数及びリクエスト処理時間が異なる。そこで、ステップ1314では、上述の仮想サーバが利用可能なCPUリソース量Ciに、パケットロス率の逆数(パケット生存率)を乗算して、仮想サーバの余剰処理能力Piとする。すなわち、仮想サーバiに他の仮想サーバとリソース共有が設定されていない場合は、仮想スイッチにおけるパケットロス率をLとして以下の(数6)式により仮想サーバiの余剰処理能力Piを算出する。
ただし、Ciは仮想サーバiがさらに利用可能なリソース量、仮想サーバへのCPU割当率をCAi、仮想サーバのCPU使用率CUiである。また、仮想サーバiと仮想サーバjにシェア(リソース共有)が設定されている場合は、仮想サーバiの余剰処理能力Piは、以下の(数7)式により仮想サーバiの余剰処理能力Piを算出する。
Pi =Ci×(1−L)={CAi+CAj −(CUi+CUj)}(1−L)・・・(数7)
例えば、仮想サーバ31のCPUリソースの割当及び使用率が図9に示す値の場合、仮想サーバ31が単独でさらに処理可能なCPUリソース量C31= 25%、シェア設定を考慮した場合は30%である。仮想スイッチで1%のパケットロスが発生している場合、仮想サーバ31の余剰処理能力P31は以下となる。
ステップ1311もしくは1314のいずれかで余剰処理能力が算出されるか、もしくはステップ1313で転送先の選択からの除外が決定されると、次にステップ1316で候補番号iを更新してステップ1304にもどり、次の仮想サーバについて余剰処理能力を算出する。この動作は、転送先候補の仮想サーバ全てについての余剰処理算能力の算出完了がステップ1315で確認されるまで繰り返えされる。ステップ1317では、以上のようにして算出された転送先候補の各仮想サーバの余剰処理能力を比較し、その値が最も大きい仮想サーバをリクエストの転送先に決定する。
(第2の実施の形態)
第1の実施の形態では、リクエスト転送先の候補の各仮想サーバについて、パケットロスによる処理能力低下を加味した指標を得るために、CPU割当率と実際のCPU使用率との差から得る利用可能なCPUリソース量の値にパケットロス率の逆数を乗じるという方法を採用した。第2の実施の形態では、転送先の候補の各仮想サーバについて、CPU割当率とパケットロス率のそれぞれ複数の値の組み合わせに対応するリクエスト処理数のデータを予めテーブルに保持し、各仮想サーバの指標をそれぞれテーブルから取得することで上記第1の実施の態様と同等のリクエスト転送先選択を実現する。本実施の態様のリクエスト処理システムの物理構成、主要論理構成は第1の実施の形態と同様である。
RN=RC − RPN・・・(数8)
負荷分散装置とAPサーバとの間の確立済のコネクション数は通常、負荷分散装置で管理している。しかし、これが取得できない場合は、RPNに代えて、リクエスト数変換テーブル21から読み出した処理中のリクエスト数を用い、(数8)の減算を行えばよい。すなわち、仮想サーバのCPU割当率(CA)の値ではなくCPU使用率(CU)によりカラムを特定し、仮想スイッチにおけるパケットロス率(L)によりローを特定してリクエスト数変換テーブル21を参照すれば仮想サーバが処理中のリクエスト数を取得でき、これを(数8)の計算に用いることができる。
(第3の実施の形態)
第3の実施の形態では、リクエストを転送する仮想サーバを選択する際に、仮想スイッチのパケットロス率を取得せず、サーバのCPUリソースから直接仮想サーバが処理可能なリクエスト数に変換して、リクエストを転送する仮想サーバを選択する。本実施の態様のリクエスト処理システムの物理構成、主要論理構成は第1の実施の形態と同様である。
RPNは負荷分散装置と算出対象の仮想サーバとの間の確立済のコネクション数である。確立済のコネクション数が取得できない場合は、仮想サーバのCPU使用率(CU)と物理サーバのCPU使用率(CP)からリクエスト数変換テーブル21bを参照し、仮想サーバが処理中のリクエスト数を取得し、RPNに代えて(数8)の減算に使用する。
物理サーバへの入力パケットレートが、仮想スイッチでパケットロスが発生する閾値αを超えない場合(ステップ1704でNo)は、リクエスト数変換テーブル21bを参照し、仮想サーバのCPU割当率及び使用率から仮想サーバが処理可能なリクエスト処理数を取得する(ステップ1706)。
以上に述べた、算出対象の仮想サーバがさらに処理可能なリクエスト数を算出する処理は、ステップ1709で全ての転送先候補についての算出が終わったことを確認するまで繰り返される。ステップ1708は繰り返しループ中で、候補番号iを更新するステップである。全ての転送先候補について、さらに処理可能なリクエスト数(RN)の算出が終わったら、処理可能なリクエスト数(RN)が一番多い仮想サーバを、リクエストを転送する仮想サーバとして選択し(ステップ1709)、リクエストを仮想サーバに転送する(ステップ1710)。
以上により、負荷分散装置1は、リクエスト数変換テーブル21bを用いて、仮想スイッチのパケットロス率の推定をせず、仮想サーバ及び物理サーバのCPUリソースから直接仮想サーバが処理可能なリクエスト数を比較し、より多くのリクエストを処理可能な仮想サーバにリクエストを転送することが可能となる。仮想スイッチのパケットロス率を推定する必要がないため、パケットロス率を推定する場合に比べ、負荷分散装置での処理量を削減することができる。また、仮想スイッチにおけるパケットロス率を推定する手段を備えない場合でも、負荷分散装置とAPサーバ間のパケットロスの影響を考慮し、より多くのリクエストを処理可能な仮想サーバを選択することができる。
2 中継装置
物理サーバ
6 ネットワーク
7 WEBシステム
11、34 CPU
12、35 メモリ
13、37 インタフェース
14、38 バス
15 リソース監視モジュール
16 パケットロス率推定モジュール
17 サーバ選択モジュール
18 構成管理テーブル
19 リソース管理テーブル
20、20b 特性管理テーブル
21、21b リクエスト数変換テーブル
31、32、33、41、42、43、51、52、53 仮想サーバ
36 ディスク
311、321 仮想CPU
312、322 仮想メモリ
313、323 仮想ディスク
314、324 仮想インタフェース
40 仮想スイッチ
Claims (7)
- 装備された仮想化OSによって複数の仮想サーバが稼働する1または複数の物理サーバに対して配備され、管理下の複数の仮想サーバにリクエストを分配する負荷分散装置において、
前記物理サーバの各々について、各仮想サーバのCPU使用率及び物理サーバのCPU使用率を監視するリソース監視処理部と、
前記複数の仮想サーバの各々に関して、当該仮想サーバに設定されたCPU割当率と、当該仮想サーバとリソースを共有する他の仮想サーバの指定とを少なくとも保持するリソース管理テーブルと、
転送すべきリクエストがあった場合に、該リクエストの転送先候補の仮想サーバの各々について、当該仮想サーバ及び当該仮想サーバとリソースを共用すると指定されたリソース共用仮想サーバのCPU使用率の合計と、当該仮想サーバ及び前記リソース共用仮想サーバに設定されたCPU割当率の合計とを基に、当該仮想サーバが利用可能なCPUリソース量を算出し、各転送先候補の仮想サーバについて算出した利用可能なCPUリソース量に基づいて、リクエストを転送する仮想サーバを選択するサーバ選択処理部と、
各物理サーバに形成され、前記物理サーバ内の各仮想サーバと外部とを接続する仮想スイッチのパケットロス率を推定するパケットロス率推定処理部を有し、
前記サーバ選択処理部は、前記パケットロス率推定処理部で推定されたパケットロス率に対応して、仮想サーバの選択方法を変更する機能を備えることを特徴とする負荷分散装置。 - 装備された仮想化OSによって複数の仮想サーバが稼働する1または複数の物理サーバに対して配備され、管理下の複数の仮想サーバにリクエストを分配する負荷分散装置において、
前記物理サーバの各々について、各仮想サーバのCPU使用率及び物理サーバのCPU使用率を監視するリソース監視処理部と、
前記複数の仮想サーバの各々に関して、当該仮想サーバに設定されたCPU割当率と、当該仮想サーバとリソースを共有する他の仮想サーバの指定とを少なくとも保持するリソース管理テーブルと、
転送すべきリクエストがあった場合に、該リクエストの転送先候補の仮想サーバの各々について、当該仮想サーバ及び当該仮想サーバとリソースを共用すると指定されたリソース共用仮想サーバのCPU使用率の合計と、当該仮想サーバ及び前記リソース共用仮想サーバに設定されたCPU割当率の合計とを基に、当該仮想サーバが利用可能なCPUリソース量を算出し、各転送先候補の仮想サーバについて算出した利用可能なCPUリソース量に基づいて、リクエストを転送する仮想サーバを選択するサーバ選択処理部と、
各物理サーバに形成され、前記物理サーバ内の各仮想サーバと外部とを接続する仮想スイッチのパケットロス率を推定するパケットロス率推定処理部を有し、
前記サーバ選択処理部は、各転送先候補の仮想サーバについて算出した前記利用可能なCPUリソース量に、該仮想サーバに接続する仮想スイッチについて推定されたパケットロス率の逆数をそれぞれ乗算することで、各転送先候補の仮想サーバの処理能力を算出し、算出した処理能力に基づきクエストを転送する仮想サーバを選択することを特徴とする負荷分散装置。 - 請求項1または2のいずれかに記載の負荷分散装置において、
前記パケットロス率推定処理部は、前記物理サーバのCPU使用率と、前記物理サーバへの入力パケットレートに基づいて、パケットロス率を計算することを特徴とする負荷分散装置。 - 請求項1または2のいずれかに記載の負荷分散装置において、
前記パケットロス率推定処理部は、前記物理サーバへの入力パケットレートと、前記物理サーバのCPU使用率と、前記仮想スイッチで発生するパケットロス率との対応関係を保持し、前記対応関係に基づいて、前記仮想スイッチのパケットロス率を計算することを特徴とする負荷分散装置。 - 請求項1または2のいずれかに記載の負荷分散装置において、
前記パケットロス率推定処理部は、前記物理サーバへの入力パケットレートと、前記物理サーバのCPU使用率と、前記仮想スイッチで発生するパケットロス率との対応関係を保持し、前記対応関係から取得したパケットロス率に、前記物理サーバの現在のCPU使用率に応じた補正値を乗ずることにより、前記仮想スイッチのパケットロス率を計算することを特徴とする負荷分散装置。 - 請求項1または2のいずれかに記載の負荷分散装置において、
前記サーバ選択処理部は、前記仮想サーバのCPU割当率と、前記パケットロス率推定処理部で算出した前記仮想スイッチのパケットロス率から前記仮想サーバが処理可能なリクエスト数を計算し、リクエストの転送先候補の各仮想サーバについて計算した処理可能なリクエスト数を比較してリクエストを転送する仮想サーバを選択することを特徴とする負荷分散装置。 - 装備された仮想化OSによって複数の仮想サーバが稼働する1または複数の物理サーバに対して配備され、管理下の複数の仮想サーバにリクエストを分配する負荷分散装置において、
前記物理サーバの各々について、各仮想サーバのCPU使用率及び物理サーバのCPU使用率を監視するリソース監視処理部と、
前記複数の仮想サーバの各々に関して、当該仮想サーバに設定されたCPU割当率と、当該仮想サーバとリソースを共有する他の仮想サーバの指定とを少なくとも保持するリソース管理テーブルと、
転送すべきリクエストがあった場合に、該リクエストの転送先候補の仮想サーバの各々について、当該仮想サーバ及び当該仮想サーバとリソースを共用すると指定されたリソース共用仮想サーバのCPU使用率の合計と、当該仮想サーバ及び前記リソース共用仮想サーバに設定されたCPU割当率の合計とを基に、当該仮想サーバが利用可能なCPUリソース量を算出し、各転送先候補の仮想サーバについて算出した利用可能なCPUリソース量に基づいて、リクエストを転送する仮想サーバを選択するサーバ選択処理部を有し、
前記サーバ選択処理部は、前記仮想サーバのCPU割当率と、前記物理サーバのCPU使用率から前記仮想サーバが処理可能なリクエスト数を計算し、リクエストの転送先候補の各仮想サーバについて計算した処理可能なリクエスト数を比較してリクエストを転送する仮想サーバを選択することを特徴とする負荷分散装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010106087A JP5557590B2 (ja) | 2010-05-06 | 2010-05-06 | 負荷分散装置及びシステム |
US13/037,410 US8656406B2 (en) | 2010-05-06 | 2011-03-01 | Load balancer and load balancing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010106087A JP5557590B2 (ja) | 2010-05-06 | 2010-05-06 | 負荷分散装置及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011237844A JP2011237844A (ja) | 2011-11-24 |
JP5557590B2 true JP5557590B2 (ja) | 2014-07-23 |
Family
ID=44902852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010106087A Expired - Fee Related JP5557590B2 (ja) | 2010-05-06 | 2010-05-06 | 負荷分散装置及びシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8656406B2 (ja) |
JP (1) | JP5557590B2 (ja) |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7675854B2 (en) | 2006-02-21 | 2010-03-09 | A10 Networks, Inc. | System and method for an adaptive TCP SYN cookie with time validation |
US8584199B1 (en) | 2006-10-17 | 2013-11-12 | A10 Networks, Inc. | System and method to apply a packet routing policy to an application session |
US8312507B2 (en) | 2006-10-17 | 2012-11-13 | A10 Networks, Inc. | System and method to apply network traffic policy to an application session |
US9960967B2 (en) | 2009-10-21 | 2018-05-01 | A10 Networks, Inc. | Determining an application delivery server based on geo-location information |
US9215275B2 (en) | 2010-09-30 | 2015-12-15 | A10 Networks, Inc. | System and method to balance servers based on server load status |
US9609052B2 (en) | 2010-12-02 | 2017-03-28 | A10 Networks, Inc. | Distributing application traffic to servers based on dynamic service response time |
JP2013012187A (ja) * | 2011-06-03 | 2013-01-17 | Panasonic Corp | 負荷分散サーバシステム |
US8897154B2 (en) | 2011-10-24 | 2014-11-25 | A10 Networks, Inc. | Combining stateless and stateful server load balancing |
US9386088B2 (en) | 2011-11-29 | 2016-07-05 | A10 Networks, Inc. | Accelerating service processing using fast path TCP |
US9094364B2 (en) | 2011-12-23 | 2015-07-28 | A10 Networks, Inc. | Methods to manage services over a service gateway |
US10044582B2 (en) | 2012-01-28 | 2018-08-07 | A10 Networks, Inc. | Generating secure name records |
JP5939620B2 (ja) * | 2012-03-06 | 2016-06-22 | Necソリューションイノベータ株式会社 | コンピュータシステム、サーバ装置、負荷分散方法、及びプログラム |
US8782221B2 (en) | 2012-07-05 | 2014-07-15 | A10 Networks, Inc. | Method to allocate buffer for TCP proxy session based on dynamic network conditions |
US10002141B2 (en) | 2012-09-25 | 2018-06-19 | A10 Networks, Inc. | Distributed database in software driven networks |
US9106561B2 (en) | 2012-12-06 | 2015-08-11 | A10 Networks, Inc. | Configuration of a virtual service network |
US10021174B2 (en) | 2012-09-25 | 2018-07-10 | A10 Networks, Inc. | Distributing service sessions |
US9843484B2 (en) | 2012-09-25 | 2017-12-12 | A10 Networks, Inc. | Graceful scaling in software driven networks |
EP2901308B1 (en) | 2012-09-25 | 2021-11-03 | A10 Networks, Inc. | Load distribution in data networks |
CN103778474A (zh) * | 2012-10-18 | 2014-05-07 | 华为技术有限公司 | 资源负载量预测方法、分析预测系统及业务运营监控系统 |
US9338225B2 (en) | 2012-12-06 | 2016-05-10 | A10 Networks, Inc. | Forwarding policies on a virtual service network |
US9992306B2 (en) | 2012-12-21 | 2018-06-05 | E*Trade Financial Corporation | Dynamic execution |
US10097989B2 (en) | 2012-12-21 | 2018-10-09 | E*Trade Financial Corporation | Dynamic communication |
US9531846B2 (en) | 2013-01-23 | 2016-12-27 | A10 Networks, Inc. | Reducing buffer usage for TCP proxy session based on delayed acknowledgement |
US9900252B2 (en) | 2013-03-08 | 2018-02-20 | A10 Networks, Inc. | Application delivery controller and global server load balancer |
WO2014144837A1 (en) | 2013-03-15 | 2014-09-18 | A10 Networks, Inc. | Processing data packets using a policy based network path |
EP2790442A1 (en) * | 2013-04-09 | 2014-10-15 | Alcatel Lucent | Control system, apparatus, methods, and computer readable storage medium storing instructions for a network node and/or a network controller |
US10038693B2 (en) | 2013-05-03 | 2018-07-31 | A10 Networks, Inc. | Facilitating secure network traffic by an application delivery controller |
US10027761B2 (en) | 2013-05-03 | 2018-07-17 | A10 Networks, Inc. | Facilitating a secure 3 party network session by a network device |
US9891961B2 (en) * | 2013-06-13 | 2018-02-13 | Nec Corporation | Load distribution apparatus, load distribution method, storage medium, and event-processing system |
US20150081400A1 (en) * | 2013-09-19 | 2015-03-19 | Infosys Limited | Watching ARM |
KR101364746B1 (ko) | 2013-10-14 | 2014-02-27 | (주)오픈베이스 | 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법 |
CN103516807B (zh) * | 2013-10-14 | 2016-09-21 | 中国联合网络通信集团有限公司 | 一种云计算平台服务器负载均衡系统及方法 |
US10230770B2 (en) | 2013-12-02 | 2019-03-12 | A10 Networks, Inc. | Network proxy layer for policy-based application proxies |
KR102205836B1 (ko) | 2014-01-29 | 2021-01-21 | 삼성전자 주식회사 | 태스크 스케줄링 방법 및 장치 |
US9942152B2 (en) | 2014-03-25 | 2018-04-10 | A10 Networks, Inc. | Forwarding data packets using a service-based forwarding policy |
US10020979B1 (en) | 2014-03-25 | 2018-07-10 | A10 Networks, Inc. | Allocating resources in multi-core computing environments |
US9942162B2 (en) | 2014-03-31 | 2018-04-10 | A10 Networks, Inc. | Active application response delay time |
TWI568213B (zh) | 2014-04-03 | 2017-01-21 | 財團法人工業技術研究院 | 交談式遠端管理系統及其負載平衡控制方法 |
US9806943B2 (en) | 2014-04-24 | 2017-10-31 | A10 Networks, Inc. | Enabling planned upgrade/downgrade of network devices without impacting network sessions |
US9906422B2 (en) | 2014-05-16 | 2018-02-27 | A10 Networks, Inc. | Distributed system to determine a server's health |
US10129122B2 (en) | 2014-06-03 | 2018-11-13 | A10 Networks, Inc. | User defined objects for network devices |
US9992229B2 (en) | 2014-06-03 | 2018-06-05 | A10 Networks, Inc. | Programming a data network device using user defined scripts with licenses |
US9986061B2 (en) | 2014-06-03 | 2018-05-29 | A10 Networks, Inc. | Programming a data network device using user defined scripts |
US9807008B2 (en) * | 2014-06-06 | 2017-10-31 | Google Inc. | Tournament scheduling |
US9483299B2 (en) | 2014-06-30 | 2016-11-01 | Bmc Software, Inc. | Capacity risk management for virtual machines |
CN104253865B (zh) * | 2014-09-18 | 2017-06-06 | 华南理工大学 | 一种混合型桌面云服务平台的两级管理方法 |
US9854532B2 (en) * | 2014-12-05 | 2017-12-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Method, network nodes, and computer program products for load based adaptive CRS power adjustment |
US10007584B2 (en) | 2015-01-28 | 2018-06-26 | Red Hat, Inc. | Automated container migration in a platform-as-a-service system |
US10412020B2 (en) | 2015-04-30 | 2019-09-10 | Amazon Technologies, Inc. | Background processes in update load balancers of an auto scaling group |
US10341426B2 (en) * | 2015-04-30 | 2019-07-02 | Amazon Technologies, Inc. | Managing load balancers associated with auto-scaling groups |
US10038640B2 (en) | 2015-04-30 | 2018-07-31 | Amazon Technologies, Inc. | Managing state for updates to load balancers of an auto scaling group |
US10581976B2 (en) | 2015-08-12 | 2020-03-03 | A10 Networks, Inc. | Transmission control of protocol state exchange for dynamic stateful service insertion |
US10243791B2 (en) | 2015-08-13 | 2019-03-26 | A10 Networks, Inc. | Automated adjustment of subscriber policies |
US11025706B2 (en) * | 2015-10-16 | 2021-06-01 | Atos Digital Health Solutions, Inc. | Load-balancing server for data transformation modules |
US10318288B2 (en) | 2016-01-13 | 2019-06-11 | A10 Networks, Inc. | System and method to process a chain of network applications |
CN107229518B (zh) * | 2016-03-26 | 2020-06-30 | 阿里巴巴集团控股有限公司 | 一种分布式集群训练方法和装置 |
US10841173B2 (en) * | 2016-07-25 | 2020-11-17 | Imvision Software Technologies Ltd. | System and method for determining resources utilization in a virtual network |
US10389835B2 (en) | 2017-01-10 | 2019-08-20 | A10 Networks, Inc. | Application aware systems and methods to process user loadable network applications |
US10506030B2 (en) * | 2017-06-02 | 2019-12-10 | Futurewei Technologies, Inc. | Balancing CPU utilization in a massively parallel processing heterogeneous cluster |
JP6928237B2 (ja) * | 2017-06-05 | 2021-09-01 | 富士通株式会社 | 制御プログラム、制御装置及び制御方法 |
WO2019139515A1 (en) * | 2018-01-15 | 2019-07-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Management of dynamic sharing of central processing units |
CN110324244B (zh) * | 2018-03-28 | 2021-09-14 | 北京华为数字技术有限公司 | 一种基于Linux虚拟服务器的路由方法及服务器 |
JP7035858B2 (ja) * | 2018-07-03 | 2022-03-15 | 富士通株式会社 | マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム |
JP7087871B2 (ja) | 2018-09-19 | 2022-06-21 | 富士通株式会社 | 最適化問題演算プログラム、最適化問題演算方法および最適化問題演算装置 |
JP7196489B2 (ja) * | 2018-09-19 | 2022-12-27 | 富士通株式会社 | 最適化問題演算プログラム、最適化問題演算方法および最適化問題演算装置 |
CN110428278B (zh) * | 2019-06-27 | 2023-10-27 | 创新先进技术有限公司 | 确定资源份额的方法及装置 |
US11588884B2 (en) * | 2019-09-09 | 2023-02-21 | Cisco Technology, Inc. | Utilizing network analytics for service provisioning |
US11151150B2 (en) * | 2019-09-13 | 2021-10-19 | Salesforce.Com, Inc. | Adjustable connection pool mechanism |
US11165857B2 (en) | 2019-10-23 | 2021-11-02 | Salesforce.Com, Inc. | Connection pool anomaly detection mechanism |
CN110855764A (zh) * | 2019-11-04 | 2020-02-28 | 杭州迪普科技股份有限公司 | 网络流量调度方法、装置、电子设备 |
JP7410379B2 (ja) * | 2019-11-27 | 2024-01-10 | 富士通株式会社 | 資源使用量予測方法および資源使用量予測プログラム |
CN111694662B (zh) * | 2020-05-26 | 2023-04-25 | 陕西森印多西网络科技有限责任公司 | 基于强化学习的dids中低负载与丢包率的平衡方法 |
CN114253698A (zh) * | 2020-09-22 | 2022-03-29 | 中兴通讯股份有限公司 | 资源调度方法、系统、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128660A (en) * | 1996-03-21 | 2000-10-03 | Hearme | Network match maker |
JP4519098B2 (ja) * | 2006-03-30 | 2010-08-04 | 株式会社日立製作所 | 計算機の管理方法、計算機システム、及び管理プログラム |
JP2009087213A (ja) * | 2007-10-02 | 2009-04-23 | Nec Corp | 計算機余力算出装置、計算機余力算出方法 |
JP4677482B2 (ja) * | 2008-03-27 | 2011-04-27 | 西日本電信電話株式会社 | アクセス振分システム、サーバ装置、共通管理装置、アクセス振分装置、アクセス振分方法、及び、コンピュータプログラム |
-
2010
- 2010-05-06 JP JP2010106087A patent/JP5557590B2/ja not_active Expired - Fee Related
-
2011
- 2011-03-01 US US13/037,410 patent/US8656406B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8656406B2 (en) | 2014-02-18 |
JP2011237844A (ja) | 2011-11-24 |
US20110276982A1 (en) | 2011-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5557590B2 (ja) | 負荷分散装置及びシステム | |
EP3467652B1 (en) | Data balancing method and device | |
WO2014024863A1 (ja) | 多階層の各ノードを考慮した負荷分散方法 | |
CN103812949B (zh) | 一种面向实时云平台的任务调度与资源分配方法及系统 | |
JP2011258098A (ja) | 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置 | |
US20120117242A1 (en) | Service linkage system and information processing system | |
WO2016173488A1 (en) | Application driven and adaptive unified resource management for data centers with multi-resource schedulable unit (mrsu) | |
US9229778B2 (en) | Method and system for dynamic scaling in a cloud environment | |
US9547518B2 (en) | Capture point determination method and capture point determination system | |
CN102187315A (zh) | 在虚拟环境中获取用于服务器负载均衡的反馈信息的方法和装置 | |
CN109167702A (zh) | 一种基于负载均衡的分布式测试方法及装置 | |
CN103533063A (zh) | 一种可实现web应用资源动态扩展的方法及装置 | |
JP2012079242A (ja) | 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム | |
US20170126486A1 (en) | Adaptive subscriber-driven resource allocation for push-based monitoring | |
US20160072723A1 (en) | Method and system for determining bandwidth demand | |
US20180285169A1 (en) | Information processing system and computer-implemented method | |
CN105979273A (zh) | 基于大数据及云计算的智能商用电视的云监控与云运维 | |
JP2015501991A (ja) | 地理的に分散されたデータセンタでのレイテンシ短縮および弾力性改善のための最適化機構 | |
JP4834622B2 (ja) | ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム | |
JP6279436B2 (ja) | 仮想ネットワーク割当方法および装置 | |
CN105430028B (zh) | 服务调用方法、提供方法及节点 | |
CN111418187A (zh) | 云网络中的可伸缩统计和分析机制 | |
JP2005310120A (ja) | 計算機システム及びタスク割当方法 | |
JP2014167713A (ja) | 情報処理装置、情報処理システム、情報処理装置管理プログラム及び情報処理装置管理方法 | |
US10375161B1 (en) | Distributed computing task management system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140318 |
|
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: 20140507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140603 |
|
LAPS | Cancellation because of no payment of annual fees |