LinuCレベル3 プラットフォームスペシャリスト 高可用性プラットフォームの構築 問12
高可用性プラットフォームの構築/Webサーバーによる負荷分散Apacheのmod_proxy_balancerで指定する負荷分散方式(lbmethod)の説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「高可用性プラットフォームの構築」に対応。実際の試験問題ではありません)
- Abyrequestsは転送したバイト数を、bytrafficはリクエストの件数をもとに各サーバーへ振り分ける
- BbybusynessはサーバーのCPU使用率をSNMPで取得し、使用率が最も低いサーバーへ振り分ける
- Cbyrequestsはリクエスト数、bytrafficは転送量、bybusynessは処理中のリクエスト数をもとに振り分ける
- Dいずれの方式もクライアントのIPアドレスのハッシュで宛先を固定し、セッションの維持を保証する
正解:C
解説
mod_proxy_balancerの負荷分散方式は、ProxySetやBalancerの設定でlbmethodとして指定し、それぞれmod_lbmethod_byrequests・mod_lbmethod_bytraffic・mod_lbmethod_bybusynessモジュールで提供されます。byrequestsはリクエストの件数、bytrafficは送受信したバイト数、bybusynessは各バックエンドが現在処理中のリクエスト数をもとに振り分けます。byrequests・bytrafficはBalancerMemberのloadfactorで重みを付けられ、bybusynessでも処理中のリクエスト数が同数のときの決着にその重みが使われます。
選択肢ごとの解説
- A誤り。byrequestsとbytrafficの基準が逆になっています。
- B誤り。bybusynessが見るのはApache自身が把握している処理中のリクエスト数で、SNMPでCPU使用率を取得するわけではありません。
- C正しい。3つの方式はそれぞれリクエスト数・転送量・処理中のリクエスト数を基準に振り分けます。
- D誤り。これらの方式は負荷の均等化が目的です。セッションの維持はstickysession等の別の設定で行います。