負荷分散とは?
-
p106 単一のサーバー機器で様々なリクエストを受けてもいいが、複雑な処理やアクセス数が多くなるとサーバーの負担が大きくなるので各層ごとに
サーバーを機器を分ける
こと。 -
p174 サーバーを複数に並列に配置し、
リクエストを振り分けて並行実行
させることで各サーバーの負担を軽減
する方法のこと。 サービスを継続できる冗長化の効果もある。(可用性)
出典
負荷分散装置/ロードバランサーとは?
p170 Webサーバーを冗長化させる際、システムに届くリクエスをどのWebサーバーに渡すかということを考える必要が出てくる。
その振り分け作業を行うための機器がロードバランサー
です。
ロードバランサーはWebサーバーインターネットよりに配置し、配下となるWebサーバーを認識させます。
出典
ロードバランサーの実行手法
p174
ラウンドロビン方式
各サーバーに順番にリクエストを割り振る
方式。
各リクエストの処理の複雑さが同程度
で、かつ各サーバーの処理能力が同じ
である場合に、有効。
ただしリクエストの処理の複雑さにばらつきがある場合は、サーバー負荷の偏りが大きくなる。
動的分散方式
サーバーの負荷を監視し、負荷の少ないサーバーに優先してリクエストを振り分ける
方式。
サーバーの負荷としてはCPUの使用率、メモリの使用量、ディスク負荷、コネクション数などが用いられる。
パーシステンス
負荷分散を行うと同じクライアントからのアクセスでも振り分けられるサーバーが異なるため、ログインして利用するようなサイトでは、セッション情報を管理することが難しくなる。
そこで、同一クライアントからのアクセスを判別し、常に同じサーバーへ転送する機能
が開発されました。
これをパーシステンス
と呼ぶ。
出典
HTTPヘッダ
p125 クライアントやサーバはヘッダを見てメッセージに対する挙動を決定します。
p337 Cookieの情報を見てセッションIDを確認してできる。
出典