D.2. Workers.properties ディレクティブ
workers.properties
ファイルのディレクティブは、グローバル、必須、接続、および負荷分散の分類に分けられます。
worker.properties
のグローバルディレクティブ
- worker.list
mod_jk
が使用するワーカー名のリストを指定します。このリストのワーカーは、要求をマップするために利用できます。注記ロードバランサーによって管理されない単一ノード設定は
worker.list=WORKER_NAME
に設定する必要があります。
workers.properties
の必須ディレクティブ
- type
ワーカーに適用されるディレクティブを決定するワーカーのタイプを指定します。デフォルト値は
ajp13
です。これは、Web サーバーと Apache HTTP Server 間の通信に選択するワーカータイプです。その他の値には、
lb
およびstatus
が含まれます。AJPv13 の詳細は、Apache Tomcat Connector - AJP Protocol Reference を参照してください。
workers.properties
の接続ディレクティブ
- host
ワーカーのホスト名または IP アドレス。ワーカーノードは ajp13 プロトコルスタックをサポートする必要があります。デフォルト値は
localhost
です。ホスト名または IP アドレスの後にポート番号を追加すると、
port
ディレクティブを host ディレクティブの一部として指定できます。たとえば、worker.node1.host=192.168.2.1:8009
またはworker.node1.host=node1.example.com:8009
のようになります。- port
-
定義されたプロトコルリクエストをリッスンしているバックエンドサーバーインスタンスのポート番号。デフォルト値は
8009
で、AJPv13 ワーカーのデフォルトのリッスンポートです。 - ping_mode
現在のネットワークの正常性に対して接続がプローブされる条件を指定します。
プローブは、
CPing
に空の AJPv13 パケットを使用し、指定のタイムアウト内でCPong
を返すことを想定します。ディレクティブフラグの組み合わせを使用して条件を指定します。フラグはコンマ区切りではありません。たとえば、正しいディレクティブフラグセットは
worker.node1.ping_mode=CI
です。- C - Connect (接続)。
-
サーバーへの接続後に接続がプローブされるよう指定します。
connect_timeout
ディレクティブを使用してタイムアウトを指定します。指定しない場合は、ping_timeout
の値が使用されます。 - P (プレポスト)
-
各リクエストをサーバーに送信する前に接続がプローブされることを指定します。
prepost_timeout
ディレクティブを使用してタイムアウトを指定します。指定しない場合は、ping_timeout
の値が使用されます。 - I - Interval (間隔)。
-
定期的な内部メンテナンスサイクル中に接続がプローブされることを指定します。
connection_ping_interval
ディレクティブを使用してインターバルでアイドルのタイムアウトを指定します。指定しない場合は、ping_timeout
の値が使用されます。 - A - All (すべて)。
-
すべてのディレクティブフラグが適用されることを指定する最も一般的な設定。高度なディレクティブ
\*_timeout
の詳細は、Apache Tomcat Connector - Reference Guide を参照してください。
- ping_timeout
-
CPing
接続プローブへのCPong
応答を待つ時間を指定します (ping_mode
を参照)。デフォルトの値は10000
ミリ秒です。
worker.properties
の負荷分散ディレクティブ
- lbfactor
個別のワーカーの負荷分散係数を指定します。ロードバランサーのメンバーワーカーにのみ指定されます。
このディレクティブは、クラスター内の他のワーカーと比較して、ワーカーに分散される HTTP 要求負荷の相対量を定義します。
このディレクティブが適用される一般的な例は、クラスターで処理能力の高いサーバーを他のサーバーと区別する場合です。たとえば、あるワーカーに他のワーカーの 3 倍の負荷を割り当てる場合は
worker.WORKER_NAME.lbfactor=3
を指定します。- balance_workers
-
ロードバランサーが管理する必要があるワーカーノードを指定します。ディレクティブは同じロードバランサーに複数回使用でき、
workers.properties
ファイルに指定されるワーカー名のコンマ区切りリストで設定されます。 - sticky_session
SESSION ID を持つワーカーのリクエストが同じワーカーにルーティングされるかどうかを指定します。デフォルトは
0
(false) です。1
(true) に設定すると、ロードバランサーの永続性が有効になります。たとえば、
worker.loadbalancer.sticky_session=0
を指定する場合、各要求はクラスター内の各ノード間で負荷分散されます。つまり、同じセッションの異なるリクエストは、サーバーの負荷に基づいて異なるサーバーに送信できます。worker.loadbalancer.sticky_session=1
を指定した場合は、セッションが終了するまで各セッションが 1 台のサーバーに永続化されます (そのサーバーが使用可能な場合)。