LinuCレベル3 3PS試験の例題と解説
主題3PS.05高可用性プラットフォームの構築
3PS.05.2Web サーバーによる負荷分散
LinuCレベル3 PS試験の出題範囲から「5.2_Web サーバーによる負荷分散」についての例題を解いてみます。
LinuCレベル3 プラットフォームスペシャリスト 3PS試験 出題範囲
例題
以下は Apache 設定ファイルの一部である。この設定で実現される負荷分散の動作として適切なものはどれか。
<Proxy balancer://webcluster>
    BalancerMember http://192.0.2.10:8080
    BalancerMember http://192.0.2.11:8080
    BalancerMember http://192.0.2.12:8080
    ProxySet lbmethod=bytraffic
</Proxy>
ProxyPass / balancer://webcluster/
ProxyPassReverse / balancer://webcluster/- リクエスト数に基づくラウンドロビン方式で、各バックエンドサーバーに順番にリクエストを分散し、サーバーの現在の負荷状態を考慮しない分散方式
 - 転送バイト数に基づく分散で、各バックエンドサーバーに送信した総バイト数を考慮してリクエストを分散する方式
 - セッション固定化が有効で、同一クライアントからのリクエストを常に同じバックエンドサーバーに転送する方式
 - 各バックエンドサーバーの処理中リクエスト数に基づく分散で、最も処理中リクエスト数の少ないサーバーに優先的にリクエストを送信する方式
 - 各バックエンドサーバーへのリクエスト送信回数に基づく分散で、最も送信回数の少ないサーバーに優先的にリクエストを送信する方式
 
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「2.転送バイト数に基づく分散で、各バックエンドサーバーに送信した総バイト数を考慮してリクエストを分散する方式」です。
この設定は Apache HTTP Server の mod_proxy_balancer モジュールを使用したリバースプロキシと負荷分散の構成です。ProxySet ディレクティブで lbmethod=bytraffic が指定されています。
Apache mod_proxy_balancer が提供する主な負荷分散方式:
- byrequests: リクエスト数ベースのラウンドロビン
 - bytraffic: 転送バイト数ベース
 - bybusyness: 処理中リクエスト数ベース
 - heartbeat: 外部ハートビート情報ベース
 
本文は転送バイト数に基づく分散で、各バックエンドサーバーに送信した総バイト数を考慮してリクエストを分散する方式であり、 動画配信、大容量ファイルダウンロード、画像配信などのトラフィック量が重要なシステムで効果的です。
例題作成者
LinuC 試験開発コミュニティ