PR

 特定のハードウエアに処理が集中しないよう、ネットワークで接続した他のハードにも処理を分散させること。Webシステムで使うサーバーで、多く利用されている。

 負荷分散の狙いは、システム全体の処理を複数のハードでこなして、システムの可用性や処理性能を向上させることだ。1台のハードに処理が集中すると、システムの応答性能が極端に遅くなったり、最悪の場合にはシステム・ダウンを招く恐れがある。複数のハードに処理を分散すれば、こういった事態を避けられる可能性が高くなる。

 負荷分散を実行する方法はさまざまある。最もポピュラーなのは専用の負荷分散装置を利用するもの。このほか、ソフトウエアを使って負荷を分散することもできる。クラスタリングは、その代表例である。

 Webシステム向けの負荷分散装置はシスコシステムズやF5ネットワークスなどが販売しており、インターネットの普及が加速した1998年ころから利用が広まってきた。

 この装置は、WebブラウザからのHTTP(Hypertext Transfer Protocol)リクエストをいったん受け付けて、改めて複数のサーバーに振り分ける。その際に、各サーバーの稼働状況や処理する業務ロジックなどによって、リクエストの送り先となるサーバーを選択する。どのサーバーに振り分けるかに関して、あらかじめ優先順序をつけることもできるし、振り分けるサーバーを動的に変えることも可能だ。

 最近では、広域負荷分散という負荷分散の手法も登場している。広域負荷分散は、1カ所のデータセンター内部ではなく、複数のデータセンターに設置したハードの間で負荷を分散させるもの。サーバーの場合と同様に、特定のWebサイトにアクセスが集中して、システムの性能が低下したりダウンしたりするのを防ぐのが狙いである。

 広域負荷分散では、あるWebサイトと同じコンテンツで構成するミラー・サイトの間で負荷を分散するなどして、アクセスの急増に備える。こうしておけば、通信回線の障害などでデータセンターが利用できなくなった場合でも、Webサイトを利用できるようになる。広域負荷分散も、専用のハードを利用して実行するのが大半である。

 インターネットの普及にしたがい、Webシステムの負荷分散は不可欠になりつつある。Webシステムに対しては、不特定多数の利用者から不規則で大量のアクセスが生じるためだ。大規模な電子商取引サイトのほぼすべてが、何らかの方法で負荷分散を実施している。

 ただし、負荷分散を実行すれば、サーバーへの処理集中に伴う問題をすべて解決できるわけではない。当然、全サーバーの処理性能を超えるアクセスがあれば、システムは正常に機能しなくなる。大規模なDDoS(分散サービス拒否)攻撃を受けた場合に、負荷分散装置そのものがダウンすることもある。

(中村)

本記事は日経コンピュータ2005年2月7日号に掲載したものです。
同誌ホームページには,主要記事の概要や最新号およびバックナンバーの目次などを掲載しておりますので,どうぞご利用ください。

日経コンピュータ・ホームページ

定期購読お申し込みや当該号のご購入