Skip to main content

Fujitsu

Japan

負荷分散入門

本連載では、信頼性の高いシステムを構築する上で欠かせない要素となってきた負荷分散技術と負荷分散装置(ロードバランサ)について解説します。


掲載日:2004年9月14日
更新日:2006年12月19日

これまでの連載

第3回 リクエストの分散機能 (1/2)

分散対象サーバを効果的に使用し、システムの能力を最大限に活用するためには、リクエストを各サーバに振り分ける「分散方式」が重要です。
分散方式は、サーバが提供する様々なサービスの特性に対応できるように、複数の方式があります。 これらの方式は、「静的分散」と「動的分散」に大別されます。

静的分散は、あらかじめ決めた順序でリクエストを各サーバに振り分ける方式です。

動的分散は、分散対象サーバの状態をリアルタイムに測定し、それを基にリクエストを各サーバに振り分ける方式です。 振り分けるサーバの判断方法によって、さまざまな方式があります。

今回は、これらの分散方式とその特徴について説明します。

  1. 静的分散方式
  2. 動的分散方式

blue_dot.gif静的分散方式

静的分散方式は、あらかじめ決めた順序でリクエストを各サーバに振り分ける方式です。
静的分散方式は、以下のサーバ構成で効果的なサーバ分散が可能です。

  • 分散対象サーバのそれぞれの処理能力が同じ
  • リクエストの処理時間が一定

このようなサーバ構成は、会話型や照会型の業務などのWebサイトで利用されます。 各サーバが均等にリクエストを処理するため、静的分散方式が適しています。

逆に、ファイル転送などの業務ではリクエストに対する処理時間のばらつきが大きいので、静的分散方式を使用するとサーバ負荷の偏りが大きくなる事があります。
この様な業務には、静的分散方式は適していません。

また、静的分散方式は、単純な方法であるため設計が容易になります。

IPCOMでは、静的分散方式として以下の2つの方式を提供しています。

ラウンドロビン
「ラウンドロビン」は、分散対象サーバに均等にリクエストを振り分ける方式です。
各サーバで処理するリクエストの数が均等になるため、平均的にはサーバの負荷も均等になります。
分散対象サーバの全てが、同じ処理能力を持っている事が前提になります。

3-1.gif

図 1. ラウンドロビンの振り分けイメージ

静的な重み付きラウンドロビン
「静的な重み付きラウンドロビン」は、分散対象サーバの処理能力に応じてリクエストの分散比率を指定する方式です。 例えば、分散対象サーバの処理能力が1対2対3の場合、分散の比率を1対2対3にすることで各サーバの負荷を均等にすることができます。
システムの設計者が、各サーバの処理能力を把握している必要があります。

3-2.gif

図 2. 静的な重み付きラウンドロビンの振り分けイメージ

blue_dot.gif動的分散方式

動的分散方式は、振り分け順序ではなく、振り分け時に最適なサーバを選択し、リクエストを振り分ける方式です。
負荷分散装置が、サーバの状態やサーバとの間の通信状態をリアルタイムに測定し、測定した結果を基に、各サーバの負荷が均等になるようにリクエストを振り分けます。

動的分散方式は、サーバや通信の状態を測定しつつリクエストを振り分けるため、静的分散方式が適さない以下のようなサーバ構成にも適しています。

  • 分散対象サーバのそれぞれの処理能力が異なっている
  • リクエスト毎に処理時間が異なっている

IPCOMでは、動的分散方式として以下の6つの方式を提供しています。

最小コネクション数
「最小コネクション数」は、各サーバのコネクション(TCPコネクションとUDPフロー)の数が均等になるようにリクエストを振り分ける方式です。
負荷分散装置は、各サーバの接続中のコネクション数をカウントし、コネクション数が少ないサーバに優先的にリクエストを振り分けます。
この方式では、各サーバの能力が均一でない場合にも、サーバの能力に応じたリクエストを振り分けることができます。

3-3.gif

図 3. 最小コネクション数の振り分けイメージ

最小クライアント数
「最小クライアント数」は、各サーバが通信するクライアント数が均等になるようにリクエストを振り分ける方式です。
負荷分散装置は、リクエストの送信元IPアドレスに基づいて、各サーバの接続中のクライアント数をカウントし、通信中のクライアント数が少ないサーバに優先的にリクエストを振り分けます。
この方式は、クライアント単位に分散対象サーバを割り当てる場合に有効です。

3-4.gif

図 4. 最小クライアント数の振り分けイメージ

最小データ通信量
「最小データ通信量」は、各サーバが転送するデータ量が均等になるようにリクエストを振り分ける方式です。
負荷分散装置は、各サーバが転送したデータ量を測定し、転送したデータ量が少ないサーバに優先的にリクエストを振り分けるます。
この方式は、コネクション当たりのデータ通信量の多いアプリケーションの負荷分散を行う場合に有効です。

3-5.gif

図 5. 最小データ通信量の振り分けイメージ

最小応答時間
「最小応答時間」は、応答時間が短いサーバにリクエストを振り分ける比率を多くする方式です。
負荷分散装置は、各サーバからの応答時間を測定し、応答時間が短いサーバに優先的にリクエストを振り分けます。
この方式は、分散対象サーバの能力が均一でない場合にも、サーバの能力に応じたリクエストを振り分けることができます。

3-6.gif

図 6. 最小応答時間の振り分けイメージ

最小サーバ負荷
「最小サーバ負荷」は、分散対象の各サーバのCPU負荷・IO負荷・ディスク負荷の状況を負荷分散装置が収集して、各サーバの負荷状況によってリクエストを分散する方式です。
この方式では、各サーバのハード負荷を測定して分散するため、各サーバの処理能力や運用形態(バッチ業務の有無など)が異なっていても、各サーバのハード負荷の状況に応じてリクエストを分散できます。
最小サーバ負荷分散では、分散対象の各サーバに「負荷計測」を行うソフトウェアを導入します。
このソフトウェアをIPCOMでは「負荷計測エージェント」と呼び、標準添付しています。

3-7.gif

図 7. 最小サーバ負荷の振り分けイメージ

最小FNA LU数
「最小FNA LU数」は、FNA Serverへの負荷分散で利用できます。
FNA Serverには、FNA通信に必要なLU資源を定義しています。 このLU資源の利用状況をFNA Serverから負荷分散装置が収集します。 このLU資源の利用状況が少ないFNA Serverに優先的にリクエスト(TCP接続要求)を振り分けます。
最小FNA LU数による振り分けを行うために、各FNA ServerのLU数の利用状況を計測するソフトウェアを導入します。
このソフトウェアをIPCOMでは「負荷計測エージェント」と呼び、標準添付しています。

3-8.gif

図 8. 最小FNA LU数の振り分けイメージ

これまでの連載

富士通の負荷分散装置(IPCOM)のラインナップ

富士通の負荷分散装置 IPCOMシリーズは、システムに合わせて搭載機能を追加し、段階的な統合を可能にすることにより、常にシステムに最適なネットワーク環境を実現します。

lineup_moreinfo.gif