Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)
振り分け先となるワーカのリストをPOSTリクエスト振り分けワーカに定義することで,POSTデータサイズでワーカにリクエストを振り分けます。
振り分け先となるPOSTリクエスト転送先ワーカに,POSTデータサイズの上限値を設定して,リクエスト振り分け先を定義します。これによって,特定のホストに,処理に時間が掛かる長大なPOSTデータサイズのリクエストの処理を振り分けられます。リダイレクタは,HTTPリクエスト単位にPOSTデータサイズの上限値で振り分けるので,長大なPOSTデータ以外のリクエストのスループットの低下や,レスポンス時間の低下を防ぐことができます。なお,POSTデータサイズの上限値が設定されている場合は,同じセッションに属するHTTPリクエストであっても,POSTデータサイズの値が優先されます。
POSTデータサイズでのリクエスト振り分けは,次の手順で設定します。
POSTデータサイズでのリクエスト振り分けの例を次の図に示します。ここでは,リクエストを限定できない場合を例に説明します。
図4-14 POSTデータサイズでのリクエスト振り分けの例
この例では,「/examples」以下のリクエストのうち,POSTデータサイズが100メガバイト未満のリクエストをホストA,POSTデータサイズが100メガバイト以上200メガバイト未満のリクエストをホストBに振り分けます。リクエストの振り分け条件に満たないリクエストは,デフォルトワーカに設定したホストAに振り分けます。ホストAのワーカ名は「worker1」,ホストBのワーカ名は「worker2」です。リクエストの振り分け条件については,「4.5.3 リクエストの振り分け条件」を参照してください。
workers.propertiesの例を次に示します。ここでは,POSTリクエスト振り分けワーカ,POSTリクエスト転送先ワーカおよびデフォルトワーカを定義します。POSTデータサイズの上限値は,「worker1」に「100m」,「worker2」に「2048m」(POSTデータサイズの上限値の最大値)を指定します。デフォルトワーカには,「worker1」を指定します。
worker.list=postsizelb1 worker.postsizelb1.post_size_workers=worker1,worker2 worker.postsizelb1.type=post_size_lb worker.postsizelb1.default_worker=worker1 worker.worker1.port=8007 worker.worker1.host=hostA worker.worker1.type=ajp13 worker.worker1.cachesize=64 worker.worker1.post_data=100m worker.worker2.port=8007 worker.worker2.host=hostB worker.worker2.type=ajp13 worker.worker2.cachesize=64 worker.worker2.post_data=2048m
worker.list=postsizelb1 worker.postsizelb1.post_size_workers=worker1,worker2 worker.postsizelb1.type=post_size_lb worker.postsizelb1.default_worker=worker1 worker.worker1.port=8007 worker.worker1.host=hostA worker.worker1.type=ajp13 worker.worker1.post_data=100m worker.worker2.port=8007 worker.worker2.host=hostB worker.worker2.type=ajp13 worker.worker2.post_data=2048m
mod_jk.confの例を次に示します。ここでは,POSTリクエスト振り分けワーカ「postsizelb1」を指定します。
JkMount /examples/* postsizelb1
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.