Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6696941B2 - 負荷分散装置および負荷分散方法 - Google Patents
[go: Go Back, main page]

JP6696941B2 - 負荷分散装置および負荷分散方法 - Google Patents

負荷分散装置および負荷分散方法 Download PDF

Info

Publication number
JP6696941B2
JP6696941B2 JP2017136052A JP2017136052A JP6696941B2 JP 6696941 B2 JP6696941 B2 JP 6696941B2 JP 2017136052 A JP2017136052 A JP 2017136052A JP 2017136052 A JP2017136052 A JP 2017136052A JP 6696941 B2 JP6696941 B2 JP 6696941B2
Authority
JP
Japan
Prior art keywords
processing
group
server
speed
servers
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.)
Active
Application number
JP2017136052A
Other languages
English (en)
Other versions
JP2019020803A (ja
Inventor
雄大 北野
雄大 北野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017136052A priority Critical patent/JP6696941B2/ja
Publication of JP2019020803A publication Critical patent/JP2019020803A/ja
Application granted granted Critical
Publication of JP6696941B2 publication Critical patent/JP6696941B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、負荷分散装置および負荷分散方法に関する。
サーバ構成技術や仮想化技術の発達、激甚災害対策等により、地域や国をまたいでデータセンタが接続され、そのデータセンタ内に複数の処理サーバが存在するようになった。点在する処理サーバに対して負荷を分散するため、ロードバランサのような負荷分散装置を設置し、当該負荷分散装置を用いて要求信号(リクエスト)を処理サーバに振り分け、各処理サーバの負荷を分散させることが一般的である。
しかし、地域や国をまたいで信号を処理サーバに振り分けることによって、当該信号において、地域や国をまたぐ分の処理遅延が生じることになる。処理遅延が生じると、例えば通信制御サーバにおいては、後続信号が先行信号を追い抜いたりすることも考えられ問題となる。一方で、処理遅延を防止するため、拠点内の処理サーバへ優先して信号を割り振ると、拠点内の処理サーバのみ負荷が重くなってしまい、ハードウェアリソースの非効率化や不要なスケーリング、負荷軽減のためのサービス処理規制につながってしまう。このように、複数拠点に存在する処理サーバへの信号振り分けには、処理負荷と処理TAT(Turn Around Time)とのトレードオフ関係がある。
負荷分散に関する従来技術の例が、非特許文献1〜3に開示されている。特に、非特許文献3には、非特許文献1,2を基にして、動的に変動する処理サーバの負荷やTATを考慮して、高速サーバ(低遅延サーバ)にできるだけ多くの信号を振り分けることによって、要求信号の平均処理TATを低減する方法が開示されている。
負荷分散入門(ロードバランサ入門),[online],[平成29年6月19日検索],インターネット 〈 URL : http://fenics.fujitsu.com/products/ipcom/catalog/data/1/3.html〉 北野 雄大、岡本 光浩 "拠点間通信遅延を考慮した負荷分散方法" 2016年電子情報通信ソサイエティ大会、B-6-13 北野 雄大、岡本 光浩 "動的に変化する処理負荷と処理TATを考慮した負荷分散手法" 2017年電子情報通信総合大会、B-6-32
非特許文献3の方法では、処理サーバを高速サーバと低速サーバ(高遅延サーバ)の2種類に分け、本来(ラウンドロビン方式等で)低速サーバへ振り分けられる信号の処理を高速サーバに肩代わりさせる。しかし、複数の拠点に処理サーバが存在する分散システムにおいては、各拠点で通信遅延の影響度が異なることに起因して、高速とも低速ともいえない処理サーバ(以下、「中速サーバ」と呼ぶ場合がある)が少なからず存在する。非特許文献3の方法によれば、中速サーバを、高速サーバまたは低速サーバに片寄せすることになる。しかし、いずれに片寄せしても平均処理TATが増大する可能性がある。
つまり、中速サーバを高速サーバとみなした場合、低速サーバへ振り分けられる信号の処理を肩代わりする処理サーバの数が相対的に多くなる。しかし、高速サーバよりも高遅延となる中速サーバが多くの信号を処理する傾向が強くなり、高速サーバの平均TATが増大してしまう。その結果、分散システム全体の平均処理TATが増大する可能性がある。
また、中速サーバを低速サーバとみなした場合、低速サーバへ振り分けられる信号の処理を肩代わりできる処理サーバの数が相対的に少なくなる。この場合、肩代わりできる信号の数が少なくなり、高速サーバの処理能力を十分に使い切ることができない。その結果、分散システム全体の平均処理TATが増大する可能性がある。
このような背景に鑑みて、本発明は、拠点が複数存在する分散システムの平均処理TATを低減させることを課題とする。
前記した課題を解決するため、請求項1に記載の発明は、複数の拠点に配置されている処理サーバに信号を振り分ける負荷分散装置であって、前記処理サーバの各々の処理TAT(Turn Around Time)を測定する処理時間測定部と、前記測定した処理TATを用いてグループ化することで、各グループの平均TATが異なる少なくとも3以上のグループを作成し、前記作成したグループについて、第1のグループと、前記平均TATが前記第1のグループの次に長い第2のグループとの組合せを決定し、前記第1のグループに属する処理サーバを高速サーバとし、前記第2のグループに属する処理サーバを低速サーバとするグループ化部と、前記高速サーバの負荷情報を取得する負荷情報取得部と、前記低速サーバの台数と、前記高速サーバの台数と、前記取得した負荷情報の最大値と、前記高速サーバの負荷変動を示す処理サーバの負荷変動率とに基づいて、所定の負荷制限値を超えない範囲で、前記低速サーバに振り分けるべき信号を前記高速サーバに振り分ける肩代わり信号数を、前記組合せごとに算出する信号数算出部と、前記組合せの各々で、前記算出した肩代わり信号数分を、前記低速サーバから前記高速サーバに振り分ける振分部と、を備える、ことを特徴とする。
また、請求項3に記載の発明は、複数の拠点に配置されている処理サーバに信号を振り分ける負荷分散装置における負荷分散方法であって、前記負荷分散装置は、前記処理サーバの各々の処理TATを測定する処理時間測定ステップと、前記測定した処理TATを用いてグループ化することで、各グループの平均TATが異なる少なくとも3以上のグループを作成し、前記作成したグループについて、第1のグループと、前記平均TATが前記第1のグループの次に長い第2のグループとの組合せを決定し、
前記第1のグループに属する処理サーバを高速サーバとし、前記第2のグループに属する処理サーバを低速サーバとするグループ化ステップと、前記高速サーバの負荷情報を取得する負荷情報取得ステップと、前記低速サーバの台数と、前記高速サーバの台数と、前記取得した負荷情報の最大値と、前記高速サーバの負荷変動を示す処理サーバの負荷変動率とに基づいて、所定の負荷制限値を超えない範囲で、前記低速サーバに振り分けるべき信号を前記高速サーバに振り分ける肩代わり信号数を、前記組合せごとに算出する信号数算出ステップと、前記組合せの各々で、前記算出した肩代わり信号数分を、前記低速サーバから前記高速サーバに振り分ける振分ステップと、を実行する、ことを特徴とする。
このようにすることで、平均TATが異なる3以上のグループを用意することで、通信遅延の観点からは本来的に高速サーバとも低速サーバともいえない中速サーバを、高速サーバにも低速サーバにも扱うように規定することができる。その結果、低速サーバに振り分けられる信号を中速サーバに振り分けることもでき、また、中速サーバに振り分けられる信号を高速サーバに振り分けることもできる。
したがって、拠点が複数存在する分散システムの平均処理TATを低減させることができる。
また、請求項2に記載の発明は、請求項1に記載の負荷分散装置であって、前記振分部は、前記処理サーバの各々に信号を振り分ける際、前記作成されたグループに属する処理サーバの台数に応じて決定される振り分け比率に従い、各グループに信号を振り分ける、ことを特徴とする。
また、請求項4に記載の発明は、請求項2に記載の負荷分散方法であって、前記作成されたグループに属する処理サーバの台数に応じて決定される振り分け比率に従い、各グループに信号を振り分ける、ことを特徴とする。
このようにすることで、各グループに属する処理サーバの台数に応じた振り分け比率を用いることで、各グループに属する処理サーバが処理する信号数の偏りを低減させることができる。
本発明によれば、拠点が複数存在する分散システムの平均処理TATを低減させることができる。
本発明の概要の説明図であり、(a)は、分散システムの概略図、(b)は、処理サーバのグループ化を示す図である。 本実施形態の負荷分散装置が適用される分散システムの構成図である。 グループ化フェーズを説明するための具体例を示す図であり、(a)がグループ化する前の処理サーバの状態、(b)、(c)がグループ化の途中状態、(d)がグループ化の最終状態である。 振り分けフェーズを説明するための具体例を示す図であり、(a)がグループ化された各処理サーバの状態、(b)がG1−G2での振り分けにおける肩代わり信号数の決定の説明図、(c)がG2−G3での振り分けにおける肩代わり信号数の決定の説明図、(d)がG3−G4での振り分けにおける肩代わり信号数の決定の説明図である。 信号の振り分けの例を示す表である。 信号の振り分け比率の決定に関する説明図である。 本実施形態の負荷分散装置の処理を示すフローチャートである。
以下、図面を参照して本発明を実施するための形態(以下、「本実施形態」という)について説明する。
≪概要≫
図1に示すように、拠点ごとに配置されているデータセンタDCa〜DCdに処理サーバ200−1〜200−9を備えた分散システムを例にして本発明の概要を説明する。データセンタDCaに配置されている負荷分散装置100は、処理サーバ200−1〜200−9の各々に信号を振り分ける。なお、説明の便宜上、負荷分散装置100が配置されている拠点を、「自拠点」と呼ぶ場合がある。すでに説明した通り、負荷分散装置100が配置される拠点と異なる拠点内にある処理サーバ200−4〜200−9への信号の振り分けには、地域や国をまたぐ拠点間遅延が生じる。
処理サーバ200−1〜200−9の性能にも起因するが、拠点間遅延のため、処理サーバ200−1〜200−9各々の処理TATは異なっており、処理サーバ200−1〜200−9は、高速サーバ、中速サーバ、低速サーバに分類することができる。高速サーバは、処理TATが短い処理サーバである。低速サーバは、処理TATが長い処理サーバである。中速サーバは、処理TATが、高速サーバよりも長く、中速サーバよりも短い処理サーバである。
本発明では、処理TATが近い処理サーバをグループ化する。その結果、図1(b)に示すように、グループGR1〜GR3を形成することができる。グループGR1は、処理TATが短い高速の処理サーバ群(処理サーバ200−1,200−2,200−3)である。グループGR2は、処理TATが中程度の中速の処理サーバ群(処理サーバ200−4,200−5,200−7)である。グループGR3は、処理TATが長い低速の処理サーバ群(処理サーバ200−6,200−8,200−9)である。
負荷分散装置100は、隣り合うグループを、非特許文献3で説明される高速サーバ群および低速サーバ群に見立て、低速サーバ群の処理を高速サーバ群に肩代わりさせる。具体的には、グループGR1,GR2が隣り合うグループであり、グループGR1を高速サーバ群、グループGR2を低速サーバ群と見立てる。負荷分散装置100は、グループGR2の処理サーバ(例えば、処理サーバ200−5)への信号の振り分けを、グループGR1の処理サーバ(例えば、処理サーバ200−2)への信号の振り分けに切り替えて(符号AR1)、処理を肩代わりさせる。
また、グループGR2,GR3が隣り合うグループであり、グループGR2を高速サーバ群、グループGR3を低速サーバ群と見立てる。負荷分散装置100は、グループGR3の処理サーバ(例えば、処理サーバ200−9)への信号の振り分けを、グループGR2の処理サーバ(例えば、処理サーバ200−7)への信号の振り分けに切り替えて(符号AR2)、処理を肩代わりさせる。
上記によれば、従来のように中速サーバを高速サーバまたは低速サーバのいずれかに片寄せするのではなく、高速サーバにも低速サーバにも扱うことができるようにすることで、低速サーバから高速サーバへの処理の肩代わりを調節することができる。その結果、分散システム全体の平均処理TATを低減させるように、処理の肩代わりを調節することができる。
≪構成≫
次に、負荷分散装置100の構成について詳細に説明する。
図2に示すように、本実施形態の分散システムでは、例として、東京を拠点とするデータセンタDC1と、ワシントンを拠点とするデータセンタDC2と、北京を拠点とするデータセンタDC3とが、ネットワークで通信可能に接続されているものとする。
データセンタDC1には、負荷分散装置100と、処理サーバ201〜204とが配置されている。負荷分散装置100および処理サーバ201〜204は、ネットワークで通信可能に接続されている。
データセンタDC2には、処理サーバ205〜208が配置されている。処理サーバ205〜208は、ネットワークで通信可能に接続されている。
データセンタDC3には、処理サーバ209〜212が配置されている。処理サーバ209〜212は、ネットワークで通信可能に接続されている。
データセンタDC1に対して、クライアント31〜34が通信可能に接続されている。クライアント31〜34は、ユーザの端末や対向システムであり、処理サーバ201〜212に対して信号を送信し、アプリケーションの処理を要求する。
負荷分散装置100は、処理サーバ201〜212に対して、クライアント31〜34からの要求信号(リクエスト)の振り分けをする。負荷分散装置100は、クライアント31〜34からの要求を受け、データセンタDC1〜DC3の処理サーバ201〜212のうちの1台を選択し、その選択した処理サーバに処理を依頼する。選択された処理サーバは、クライアント31〜34からのアプリケーションの要求を処理する。
なお、負荷分散装置100は、分散システムで動作するプログラムの一例としての分散処理ミドルウェアであってもよく、分散システム内の複数台の処理サーバ201〜212に処理を振り分けるロードバランサのいずれでもよい。
また、図2の分散システムを構成する各装置の台数は、図1に例示した台数に限定されず、任意の台数としてもよい。拠点の数も、図1に例示した数に限定されず、任意の数としてもよい。
負荷分散装置100の詳細について説明する。
負荷分散装置100は、処理サーバの処理負荷や台数、通信遅延を考慮しながら、できるだけ通信遅延が小さい処理サーバへ信号を振り分ける。負荷分散装置100は、各処理サーバの処理TATを測定する処理時間測定部112としての機能を有する。なお、処理TATには、負荷分散装置100から処理サーバに信号を送信するのに要する時間(通信遅延時間)と処理サーバによる信号処理時間が含まれる。
図2に示すように、負荷分散装置100は、肩代わり信号数算出部111(信号数算出部)を有する振分部110と、処理時間測定部112と、グループ化部113と、サーバ情報取得部120(負荷情報取得部)と、情報格納部130と、を備える。
<肩代わり信号数算出部111>
肩代わり信号数算出部111は、本来低速サーバに振り分ける信号を高速サーバに振り分けるとしたときの信号数を肩代わり信号数Sとして算出する。肩代わり信号数Sの算出は、先述した隣り合うグループ間で行われる。肩代わり信号数Sの算出の手順は、後記する、グループ化フェーズおよび振り分けフェーズに分けることができる。
<振分部110>
振分部110は、肩代わり信号数算出部111によって算出された肩代わり信号数Sの値に従って、処理サーバへ信号の振り分けを行う。
<サーバ情報取得部120>
サーバ情報取得部120は、各処理サーバの応答時間(処理TAT)を取得する。また、サーバ情報取得部120は、各処理サーバの負荷情報(例えば、CPU使用率、メモリ使用率等がある。本実施形態では、CPU使用率を例にとる)を定期的に収集(取得)する。サーバ情報取得部120は、収集したCPU使用率(負荷情報)を情報格納部130に格納するとともに、振分部110に通知する。
<情報格納部130>
情報格納部130は、例えば、各処理サーバの応答時間(処理TAT)、および各処理サーバのCPU使用率を格納する。また、情報格納部130は、肩代わり信号数算出部111による演算処理の出力結果を格納する。演算処理の出力結果には、例えば、肩代わり信号数Sや、後記する、肩代わり信号数Sごとの高速サーバの負荷変動率A,平均信号処理TAT変動率B,スコアCが含まれる。また、情報格納部130は、オペレータなどから指定された値、例えば、CPU閾値や、後記する差分TAT閾値を格納する。
〔グループ化フェーズ〕
負荷分散装置100は、各処理サーバの処理TATを測定し、処理TATが近い処理サーバをグループ化するグループ化部113としての機能を有する。処理サーバのグループ化は、以下のグループ化アルゴリズムの手順[1a]〜[5a]に従って実現される。
まず、負荷分散装置100は、情報格納部130に格納されている差分TAT閾値を設定する(手順[1a])。「差分TAT閾値」とは、グループに属する処理サーバ群の処理TATの平均値である平均処理TATを用いた、グループ間の平均処理TATの最低差分である。
拠点をまたぐとTATは増大すると想定されるので、拠点間遅延分を差分TAT閾値に設定するという考えが望ましい。よって、差分TAT閾値を決定する方法としては、例えば、負荷分散装置100から各拠点の代表サーバ(拠点ごとに決めた代表の処理サーバ)へテスト信号を送信して代表サーバの処理TATを取得し、他拠点(自拠点以外の拠点)に配置されている代表サーバの処理TATのうちの最低値から、自拠点の代表サーバの処理TATを引いた値を差分TAT閾値にする、という方法がある。
図3(a)には、差分TAT閾値の入力欄に「4」が、相対値として入力されていることが示されている。差分TAT閾値は、例えば、オペレータが指定することができ、情報格納部130に格納される。
次に、負荷分散装置100のサーバ情報取得部120が各処理サーバへテスト信号を送信し、各処理サーバの処理TATを取得する(手順[2a])。テスト信号は、例えば、pingとすることができるが、これに限定されない。
次に、負荷分散装置100は、取得した処理TATが短い順に処理サーバをソートする(手順[3a])。
図3(a)に示すように、サーバ名「a」〜「l」がそれぞれ付された12台の処理サーバを、分散システムを構成する処理サーバとした場合について説明する。サーバ情報取得部120は、処理サーバa〜fの処理TAT(図3では、「TAT」と表記)を取得する。取得された処理TATは、図3(a)中のTAT入力欄に入力される。入力された値は、図3(a)に示す通りであったとする。TATの数値は相対的なものであり、数値が大きいほどTATが増大するものとして説明する。手順[3a]によって、処理サーバa〜fは、TATの昇順にソートされている。
次に、負荷分散装置100のグループ化部113は、各処理サーバ間の処理TATの差分を算出し、算出した差分が最低値をとる処理サーバ同士をグループ化する(手順[4a])。図3(a)に示すように、負荷分散装置100は、手順[3a]でソートされた処理サーバ群において、隣り合う処理サーバ間のTATの差分を求める。求められた差分は、図3(a)中の差分入力欄に入力される。入力された値は、図3(a)に示す通りである。
また、図3(a)に示す通り、差分の最低値は「0」であり、差分TAT閾値「4」を下回るので、手順[4a]にて、差分が「0」となる処理サーバ同士をグループ化する。図3(a)では、処理サーバa,bがグループ化され、また、処理サーバe,fがグループ化される。図3(a)に対して、処理サーバ同士のグループ化をしたときの結果が図3(b)に示される。図3(b)には、図3(a)のサーバ名「a」〜「l」に対して、手順[4a]のグループ化をしたときのグループ名が示されている。処理サーバa,bをグループ化したときのグループ名は「ab」、処理サーバe,fをグループ化したときのグループ名は「ef」とする。なお、便宜上、グループ化されなかった各処理サーバc,d,g〜lは、単一の要素からなるグループを形成するとする。このとき、グループ名は、サーバ名と同じとする。
図3(b)に示す通り、負荷分散装置100は、処理サーバのグループに対して、TATを算出する。ここで、処理サーバのグループのTATは、2値の平均値とする。図3(b)では、グループ名「ab」のグループのTATは、処理サーバaの取得したTAT「1」と処理サーバbの取得したTAT「1」との平均値「1」であり、図3(b)中のTAT入力欄に入力される。グループ名「ef」のグループのTATは、処理サーバeの取得したTAT「8」と処理サーバfの取得したTAT「8」との平均値「8」であり、図3(b)中のTAT入力欄に入力される。
最後に、負荷分散装置100のグループ化部113は、手順[4a]を、差分の最低値が、差分TAT閾値以上になるまで繰り返す(手順[5a])。図3(b)において、隣り合うグループ間のTATの差分を求める。求められた差分は、図3(b)中の差分入力欄に入力される。入力された値は、図3(b)に示す通りである。
また、図3(b)に示す通り、差分の最低値は「1」であり、差分TAT閾値「4」を下回るので、差分が「1」となるグループ同士をグループ化する。図3(b)では、グループab,cがグループ化され(cとdとのグループ化はなくなる)、グループef,gがグループ化され(gとhとのグループ化はなくなる)、グループi,jがグループ化され、グループk,lがグループ化される。
図3(b)に対して、グループ同士をさらにグループ化をしたときの結果が図3(c)に示される。図3(c)には、図3(b)のグループ名「ab」、「c」、「d」、「ef」、「g」〜「l」に対して、さらにグループ化をしたときのグループ名が示されている。グループab,cをグループ化したときのグループ名は「abc」、グループef,gをグループ化したときのグループ名は「efg」、グループi,jをグループ化したときのグループ名は「ij」、グループk,lをグループ化したときのグループ名は「kl」とする。
図3(c)に示す通り、負荷分散装置100は、さらにグループ化されたグループに対して、TATを算出する。ここで、グループのTATは、先述したとおり、2値の平均値とし、図3(c)中のTAT入力欄に示された通りである。図3(c)において、隣り合うグループ間のTATの差分を求める。求められた差分は、図3(c)中の差分入力欄に入力される。入力された値は、図3(c)に示す通りである。
図3(c)に示す通り、差分の最低値は「1.5」であり、差分TAT閾値「4」を下回るので、差分が「1.5」となるグループ同士をグループ化する。図3(c)では、グループabc,dがグループ化され、グループefg,hがグループ化される。
図3(c)に対して、グループ同士をさらにグループ化をしたときの結果が図3(d)に示される。図3(d)には、図3(c)のグループ名「abc」、「d」、「efg」、「h」,「ij」,「kl」に対して、さらにグループ化をしたときのグループ名が示されている。グループabc,dをグループ化したときのグループ名は「abcd」、グループefg,hをグループ化したときのグループ名は「efgh」とする。
図3(d)に示す通り、負荷分散装置100は、さらにグループ化されたグループに対して、TATを算出する。ここで、グループのTATは、先述したとおり、2値の平均値とし、図3(d)中のTAT入力欄に示された通りである。図3(d)において、隣り合うグループ間のTATの差分を求める。求められた差分は、図3(d)中の差分入力欄に入力される。入力された値は、図3(d)に示す通りである。
図3(d)に示す通り、差分の最低値は「4.25」であり、差分TAT閾値「4」以上となるので、負荷分散装置100は、手順[5a]を終了する。結果として、グループ名「abcd」、「efgh」、「ij」、「kl」となる、処理TATが近い処理サーバが集まった4種類のグループが得られる。
〔振り分けフェーズ〕
負荷分散装置100は、平均処理TATが近いグループ同士を、隣り合うグループとして扱い、高速サーバ群/低速サーバ群と見立てて、本来低速サーバが処理すべき信号を高速サーバに振り分け、処理を肩代わりさせる。高速サーバへの処理の肩代わりは、以下の振り分けアルゴリズムの手順[1b]〜[5b]に従って実現される。
まず、負荷分散装置100は、情報格納部130に格納されているCPU閾値を設定する(手順[1b])。「CPU閾値」とは、処理サーバのCPU使用率の上限値(負荷制限値)である。図4(a)には、CPU閾値の入力欄に「80」が、相対値(%)として入力されていることが示されている。CPU閾値は、例えば、オペレータが指定することができ、情報格納部130に格納される。
次に、負荷分散装置100のサーバ情報取得部120が、各処理サーバのCPU使用率を取得する(手順[2b])。ただし、グループの平均TATが最も長いグループに属する処理サーバ(図3に示す処理サーバk、lが該当)のCPU使用率については、取得しなくてもよいし、取得してもよい。本実施形態では、取得しないとして説明する。「グループの平均TAT」とは、グループに属する各処理サーバの処理TATの加算平均である。
次に、負荷分散装置100は、グループの平均TATが短い順にグループをソートする(手順[3b])。
図4(a)に示すように、グループ化された12台の処理サーバa〜l(図3参照)について説明する。サーバ情報取得部120は、処理サーバa〜jのCPU使用率(図4では、「CPU使用率」と表記)を取得する。取得されたCPU使用率は、図4(a)中のCPU使用率入力欄に入力される。入力された値は、図4(a)に示す通りであったとする。CPU使用率の数値は相対的なものであり、数値が大きいほどCPU使用率が増大するものとして説明する。
図4(a)に示すように、グループ化フェーズでグループ化された処理サーバa〜dのグループ、処理サーバe〜hのグループ、処理サーバi,jのグループ、処理サーバk,lのグループの各々にグループ名G1〜G4を付す。グループG1〜G4の平均TATは、各グループに属する処理サーバの処理TATの加算平均として算出したものであり、図4(a)中の「グループの平均TAT」入力欄に入力されている。手順[3b]に示すソートにより、グループG1〜G4は、グループの平均TATの昇順にソートされている。
次に、負荷分散装置100の肩代わり信号数算出部111は、隣り合うグループ同士を高速サーバ群/低速サーバ群と見立てて、肩代わり信号数SごとのスコアCを算出する(手順[4b])。図4に示す例において、隣り合うグループとは、(G1,G2)と、(G2,G3)と、(G3,G4)の3種類であり、左成分が高速サーバ群(第1のグループ)、右成分が低速サーバ群(第2のグループ)となる。
隣り合うグループについて、高速サーバの台数をNm、低速サーバの台数をNn、ラウンドロビン方式に従うと本来低速サーバで処理される信号を高速サーバで処理する1ラウンドあたりの肩代わり信号数をS(0≦S≦Nn)とすると、高速サーバの負荷変動率Aは、次式(1)で示される。
高速サーバの負荷変動率A=(Nm+S)/Nm …(1)
また、1台の高速サーバで処理した場合の処理TATを1としたとき、1台の低速サーバで処理した場合の処理TATを遅延倍率Dとすると、1ラウンドにおける信号処理TAT変動率Bは、次式(2)で示される。
信号処理TAT変動率B
=((Nm+S)+D×(Nn−S))/(Nm+D×Nn) …(2)
よって、隣り合うグループの高速サーバ群/低速サーバ群を対象にした場合、1ラウンドにおける平均信号処理TAT変動率Bは((Nm+S)+D×(Nn−S))/(Nm+D×Nn)倍とする。遅延倍率Dは、低速サーバの処理TATの平均を高速サーバの処理TATの平均で割った値で近似することができる。
また、高速サーバの負荷変動率Aと平均信号処理TAT変動率Bを用いて算出される評価関数としてスコアCを算出する。例えば、スコアCの一例として、高速サーバの負荷変動率Aと平均信号処理TAT変動率Bから算出される減少関数を評価関数として用いることができる。この減少関数は、高速サーバの負荷変動率Aまたは平均信号処理TAT変動率Bが減少すると、スコアCが上昇する関数(例えば(1/A+1/B))である。
図4(b)〜(d)には、隣り合うグループ(G1,G2)、(G2,G3)、(G3,G4)に関する上記の計算結果がそれぞれ、G1−G2での振り分け、G2−G3での振り分け、G3−G4での振り分けとして示されている。
次に、負荷分散装置100の振分部110は、高速サーバへの振り分けを行う(手順[5b])。この振り分けは、高速サーバ群の中で最大のCPU使用率と、高速サーバの負荷変動率Aとを掛け合わせても、手順[1b]で設定したCPU閾値を超えない範囲で最大のスコアCをとる肩代わり信号数Sの値で行われる。
隣り合うグループ(G1,G2)に関しては、図4(b)に示すように、低速サーバとなるグループG2に属する処理サーバの数Nnが4であるため、肩代わり信号数Sは0,1,2,3,4のいずれかの値をとることができる。このとき、最大のスコアC=3.50をとる肩代わり信号数S=4の場合、高速サーバ群(つまり、グループG1)の中で最大のCPU使用率は、サーバdの「45」であり、肩代わり信号数S=4における高速サーバの負荷変動率A=2.00と掛け合わせると、90.00となり、CPU閾値=80を超える(NG)。よって、肩代わり信号数S=4は、採用されない。
一方、2番目に最大のスコアC=2.57をとる肩代わり信号数S=3の場合、高速サーバ群の中で最大のCPU使用率=45と、肩代わり信号数S=3における高速サーバの負荷変動率A=1.75と掛け合わせると、78.75となり、CPU閾値=80を超えない(OK)。よって、肩代わり信号数S=3が採用され、S=3で信号が振り分けられる。つまり、負荷分散装置100の振分部110は、は、グループG2の低速サーバのいずれかに振り分ける予定の3つの信号を、グループG1の高速サーバのいずれかに振り分ける。
隣り合うグループ(G2,G3)に関しては、図4(c)に示すように、低速サーバとなるグループG3に属する処理サーバの数Nnが2であるため、肩代わり信号数Sは0,1,2のいずれかの値をとることができる。このとき、最大のスコアC=2.36をとる肩代わり信号数S=2の場合、高速サーバ群(つまり、グループG2)の中で最大のCPU使用率は、サーバeの「44」であり、肩代わり信号数S=2における高速サーバの負荷変動率A=1.50と掛け合わせると、66.00となり、CPU閾値=80を超えない(OK)。よって、肩代わり信号数S=2が採用され、S=2で信号が振り分けられる。つまり、負荷分散装置100の振分部110は、は、グループG3の低速サーバのいずれかに振り分ける予定の2つの信号を、グループG2の高速サーバのいずれかに振り分ける。
隣り合うグループ(G3,G4)に関しては、図4(d)に示すように、低速サーバとなるグループG4に属する処理サーバの数Nnが2であるため、肩代わり信号数Sは0,1,2のいずれかの値をとることができる。このとき、最大のスコアC=1.72をとる肩代わり信号数S=2の場合、高速サーバ群(つまり、グループG3)の中で最大のCPU使用率は、サーバjの「27」であり、肩代わり信号数S=2における高速サーバの負荷変動率A=2.00と掛け合わせると、54.00となり、CPU閾値=80を超えない(OK)。よって、肩代わり信号数S=2が採用され、S=2で信号が振り分けられる。つまり、負荷分散装置100の振分部110は、グループG4の低速サーバのいずれかに振り分ける予定の2つの信号を、グループG3の高速サーバのいずれかに振り分ける。
図4(b)〜(d)に示す、G1−G2での振り分け、G2−G3での振り分け、G3−G4での振り分けは、任意の順番で行うことができる。
図3のグループ化フェーズ、および、図4の振り分けフェーズに従った信号の振り分けの例を図5に示す。この振り分けは、ラウンドロビン方式に従う。図5の表の縦軸は処理サーバによってシーケンシャル処理される信号シーケンス番号1〜20を示し、横軸は、グループG1〜G4に属する処理サーバa〜lを示す。図5において、実線の白丸(○印)は信号が該当処理サーバに振り分けられることを示している。例えば、図5の信号シーケンス番号1の信号と処理サーバaとが交差する位置の実線の白丸(○印)は、信号シーケンス番号1の信号が処理サーバaに振り分けられることを示している。また、図5において、「肩」印は、本来低速サーバに振り分けられる信号が高速サーバに振り分けられるように肩代わりされ、実際には処理されなかったことを示している。例えば、図5の信号シーケンス番号5の信号と処理サーバeとが交差する位置の実線の「肩」印は、本来処理サーバeに振り分けられる信号シーケンス番号5の信号が処理サーバaに振り分けられるように肩代わりされ、処理サーバeが処理しなかったことを示している。
G1−G2での振り分けに関しては、肩代わり信号数S=3であるため、例えば、信号シーケンス番号5〜7の信号が、グループG2の処理サーバe〜gではなく、グループG1の処理サーバa〜cに振り分けられる。
G2−G3での振り分けに関しては、肩代わり信号数S=2であるため、例えば、信号シーケンス番号13,14の信号が、グループG3の処理サーバi,jではなく、グループG2の処理サーバe,fに振り分けられる。
G3−G4での振り分けに関しては、肩代わり信号数S=2であるため、例えば、信号シーケンス番号17,18の信号が、グループG4の処理サーバk,lではなく、グループG3の処理サーバi,jに振り分けられる。
〔信号の振り分け比率〕
図3に示すグループ化フェーズで、高速サーバ群/低速サーバ群の観点で、処理サーバをグループ化し、図4に示す振り分けフェーズで、高速サーバへの肩代わりを伴う信号の振り分けをした場合、各グループで処理する(捌く)信号数に偏りが生じる。そこで、各グループで処理する信号数が偏らないように、各グループに属する処理サーバ台数に応じて、信号の振り分け比率を決定することが好ましい。
図6に示すように、G1−G2での振り分け、G2−G3での振り分け、G3−G4での振り分けの各々について、信号の振り分け比率を決定する。図6の表中、「サーバ台数」の項目には、該当の隣り合うグループに属する処理サーバの台数の総和数が登録される。図6の表中、「実際に捌くべき量」の項目には、サーバ台数に基づいて、該当の隣り合うグループに属する処理サーバが捌くべき信号数の相対値が登録される。
グループG2,G3については、振り分けが2度行われるが、グループの平均TATが最も小さいグループG1と、グループの平均TATが最も大きいグループG4については、振り分けが1度しか行われない。このため、グループG1,G4については、捌くべき信号数を増やすように制御する。具体的には、グループG1の処理サーバの台数=4を2倍にして8とし、グループG2の処理サーバの台数=4と足し合わせた値(4×2+4=12)を、G1−G2での振り分けで実際に捌くべき量とする。また、グループG4の処理サーバの台数=2を2倍にして4とし、グループG3の処理サーバの台数=2と足し合わせた値(2+2×2=6)を、G3−G4での振り分けで実際に捌くべき量とする。G2−G3での振り分けについては、特に何もせず、グループG2,G3のサーバ台数の和(4+2=6)を、G2−G3での振り分けで実際に捌くべき量とする。
図6の表中、「比率」の項目には、実際に捌くべき量を、実際に捌くべき量の合計で除算した値が信号の振り分け比率として登録される。G1−G2での振り分け、G2−G3での振り分け、G3−G4での振り分け各々の、信号の振り分け比率は、50%(=12/(12+6+6))、25%(=6/(12+6+6))、25%(=6/(12+6+6))となる。
負荷分散装置100の振分部110は、決定した振り分け比率に従い、各グループに信号を振り分ける。例えば、100信号を捌く場合、50信号は、隣り合うグループ(G1,G2)で振り分けされ、25信号は、隣り合うグループ(G2,G3)で振り分けされ、25信号は、隣り合うグループ(G3,G4)で振り分けされる。
≪処理≫
本実施形態の負荷分散装置100の処理について説明する。
図7に示すように、まず、負荷分散装置100は、差分TAT閾値およびCPU閾値を設定する(ステップS1)。ステップS1は、グループ化フェーズの手順[1a]、および、振り分けフェーズの手順[1b]に相当する。
次に、負荷分散装置100は、すべての処理サーバの処理TATを取得する(ステップS2)。ステップS2は、グループ化フェーズの手順[2a]に相当する。
次に、負荷分散装置100は、差分TAT閾値を用いて、処理サーバのグループ化を行う(ステップS3)。ステップS3は、グループ化フェーズの手順[3a]〜手順[5a]に相当する。
次に、負荷分散装置100は、処理サーバのCPU使用率を取得する(ステップS4)。ただし、グループの平均TATが最も大きいグループに属する処理サーバについては、CPU使用率を取得しない。ステップS4は、振り分けフェーズの手順[2b]に相当する。
次に、負荷分散装置100は、各グループについて、肩代わり信号数SごとのスコアCを算出する(ステップS5)。ステップS5は、振り分けフェーズの手順[3b],手順[4b]に相当する。
次に、負荷分散装置100は、各グループについて、CPU閾値を超えない範囲で最大のスコアCをとる肩代わり信号数Sに基づく信号の振り分けを行う(ステップS6)。ステップS6は、振り分けフェーズの手順[5b]に相当する。ステップS6の振り分けの際、ラウンドロビン方式の代わりに、信号の振り分け比率(図6参照)に従って、各処理サーバに振り分けられる信号数が決められた後、肩代わり信号数Sによる肩代わりの処理がなされる。
以降、負荷分散装置100は、クライアントから取得する信号に対して、定期的に、または、所定のタイミングで、ステップS2〜S6を繰り返す。
本実施形態によれば、平均TATが異なる3以上のグループを用意することで、通信遅延の観点からは本来的に高速サーバとも低速サーバともいえない中速サーバを、高速サーバにも低速サーバにも扱うように規定することができる。その結果、低速サーバに振り分けられる信号を中速サーバに振り分けることもでき、また、中速サーバに振り分けられる信号を高速サーバに振り分けることもできる。
したがって、拠点が複数存在する分散システムの平均処理TATを低減させることができる。
また、各グループに属する処理サーバの台数に応じた振り分け比率を用いることで、各グループに属する処理サーバが処理する信号数の偏りを低減させることができる。
≪その他≫
以上、本発明の実施形態について説明したが、本発明は前記実施形態に限定されず、本発明の要旨を逸脱しない範囲で適宜変更可能である。例えば、本実施形態では、グループの平均TATが近い隣り合うグループ同士を高速サーバ群/低速サーバ群として信号の処理の肩代わりをした。しかし、グループの平均TATが遠く隣り合っていないグループ同士を高速サーバ群/低速サーバ群として扱ってもよい。
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)カード、光ディスク等の記録媒体に保持することができる。また、本明細書において、時系列的な処理を記述する処理ステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)をも含むものである。
本実施形態で説明した種々の技術を適宜組み合わせた技術を実現することもできる。
本実施形態で説明したソフトウェアをハードウェアとして実現することもでき、ハードウェアをソフトウェアとして実現することもできる。
その他、ハードウェア、ソフトウェア、フローチャートなどについて、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
100 負荷分散装置
110 振分部
111 肩代わり信号数算出部
112 処理時間測定部
113 グループ化部
120 サーバ情報取得部
130 情報格納部
201〜212 処理サーバ

Claims (4)

  1. 複数の拠点に配置されている処理サーバに信号を振り分ける負荷分散装置であって、
    前記処理サーバの各々の処理TAT(Turn Around Time)を測定する処理時間測定部と、
    前記測定した処理TATを用いてグループ化することで、各グループの平均TATが異なる少なくとも3以上のグループを作成し、
    前記作成したグループについて、第1のグループと、前記平均TATが前記第1のグループの次に長い第2のグループとの組合せを決定し、
    前記第1のグループに属する処理サーバを高速サーバとし、前記第2のグループに属する処理サーバを低速サーバとするグループ化部と、
    前記高速サーバの負荷情報を取得する負荷情報取得部と、
    前記低速サーバの台数と、前記高速サーバの台数と、前記取得した負荷情報の最大値と、前記高速サーバの負荷変動を示す処理サーバの負荷変動率とに基づいて、所定の負荷制限値を超えない範囲で、前記低速サーバに振り分けるべき信号を前記高速サーバに振り分ける肩代わり信号数を、前記組合せごとに算出する信号数算出部と、
    前記組合せの各々で、前記算出した肩代わり信号数分を、前記低速サーバから前記高速サーバに振り分ける振分部と、を備える、
    ことを特徴とする負荷分散装置。
  2. 前記振分部は、前記処理サーバの各々に信号を振り分ける際、
    前記作成されたグループに属する処理サーバの台数に応じて決定される振り分け比率に従い、各グループに信号を振り分ける、
    ことを特徴とする請求項1に記載の負荷分散装置。
  3. 複数の拠点に配置されている処理サーバに信号を振り分ける負荷分散装置における負荷分散方法であって、
    前記負荷分散装置は、
    前記処理サーバの各々の処理TATを測定する処理時間測定ステップと、
    前記測定した処理TATを用いてグループ化することで、各グループの平均TATが異なる少なくとも3以上のグループを作成し、
    前記作成したグループについて、第1のグループと、前記平均TATが前記第1のグループの次に長い第2のグループとの組合せを決定し、
    前記第1のグループに属する処理サーバを高速サーバとし、前記第2のグループに属する処理サーバを低速サーバとするグループ化ステップと、
    前記高速サーバの負荷情報を取得する負荷情報取得ステップと、
    前記低速サーバの台数と、前記高速サーバの台数と、前記取得した負荷情報の最大値と、前記高速サーバの負荷変動を示す処理サーバの負荷変動率とに基づいて、所定の負荷制限値を超えない範囲で、前記低速サーバに振り分けるべき信号を前記高速サーバに振り分ける肩代わり信号数を、前記組合せごとに算出する信号数算出ステップと、
    前記組合せの各々で、前記算出した肩代わり信号数分を、前記低速サーバから前記高速サーバに振り分ける振分ステップと、を実行する、
    ことを特徴とする負荷分散方法。
  4. 前記負荷分散装置は、前記処理サーバの各々に信号を振り分ける際、
    前記作成されたグループに属する処理サーバの台数に応じて決定される振り分け比率に従い、各グループに信号を振り分ける、
    ことを特徴とする請求項3に記載の負荷分散方法。
JP2017136052A 2017-07-12 2017-07-12 負荷分散装置および負荷分散方法 Active JP6696941B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017136052A JP6696941B2 (ja) 2017-07-12 2017-07-12 負荷分散装置および負荷分散方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017136052A JP6696941B2 (ja) 2017-07-12 2017-07-12 負荷分散装置および負荷分散方法

Publications (2)

Publication Number Publication Date
JP2019020803A JP2019020803A (ja) 2019-02-07
JP6696941B2 true JP6696941B2 (ja) 2020-05-20

Family

ID=65355649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017136052A Active JP6696941B2 (ja) 2017-07-12 2017-07-12 負荷分散装置および負荷分散方法

Country Status (1)

Country Link
JP (1) JP6696941B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4230673B2 (ja) * 2001-02-22 2009-02-25 富士通株式会社 サービス管理装置
JP4101251B2 (ja) * 2005-05-24 2008-06-18 富士通株式会社 負荷分散プログラム、負荷分散方法、及び負荷分散装置
JP6368699B2 (ja) * 2015-12-09 2018-08-01 日本電信電話株式会社 負荷分散装置および負荷分散方法

Also Published As

Publication number Publication date
JP2019020803A (ja) 2019-02-07

Similar Documents

Publication Publication Date Title
US20250193276A1 (en) Load balanced network file accesses
CN106899680B (zh) 多区块链的分片处理方法和装置
US8380843B2 (en) System and method for determining affinity groups and co-locating the affinity groups in a distributing network
CN107026907B (zh) 一种负载均衡方法、负载均衡器及负载均衡系统
CN111198764A (zh) 一种基于sdn的负载均衡实现系统及方法
CN102523231A (zh) 一种基于dns解析的流量调度方法、装置及服务器
CN102970381A (zh) 基于内容分发网络按比重轮询的多源负载均衡方法和系统
KR101448413B1 (ko) Atca-기반 장비에서 통신 트래픽을 스케줄링하기 위한 방법 및 장치
CN108737591B (zh) 一种服务配置的方法及装置
JP2005182641A (ja) 動的負荷分散システム及び動的負荷分散方法
US20080104609A1 (en) System and method for load balancing distributed simulations in virtual environments
JP6383336B2 (ja) サーバ管理装置およびサーバ管理方法
CN108111567A (zh) 实现服务器负载均匀的方法及系统
JP6368699B2 (ja) 負荷分散装置および負荷分散方法
JP6696941B2 (ja) 負荷分散装置および負荷分散方法
Rekha et al. Cost based data center selection policy for large scale networks
CN104852964A (zh) 一种多功能服务器调度方法
CN115426285B (zh) 一种网络资源分配方法、装置、终端设备以及存储介质
JP2018128956A (ja) 負荷分散装置および負荷分散方法
JP4995300B2 (ja) サーバ選択制御装置、サービス要求装置、サーバ選択制御方法、サービス要求方法、サーバ選択制御プログラム、サービス要求プログラム、サービス提供システムおよびサービス提供方法
KR101758065B1 (ko) 부하분산 시스템, 그 제어방법 및 이를 수행하기 위한 기록매체
JP6325995B2 (ja) 分散システム、負荷分散方法及びプログラム
US12182624B2 (en) Device, system and method for assigning portions of a global resource limit to application engines based on relative load
CN111787095A (zh) 负载均衡方法和负载均衡器
CN113835875A (zh) 负载均衡方法、装置、电子设备及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200327

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: 20200421

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200423

R150 Certificate of patent or registration of utility model

Ref document number: 6696941

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350