付録I.2 抽象パラメタによって展開される実パラメタ
抽象パラメタであるリクエスト最大同時処理数は,cmx_trans_paramコマンドを実行すると,簡易構築定義ファイルの次の七つの実パラメタに値が展開されます。
-
ThreadsPerChild
-
MaxClients
-
StartServers
-
HWSKeepStartServers
-
KeepAliveTimeout
-
webserver.connector.ajp13.backlog
-
webserver.connector.ajp13.max_threads
また,この抽象パラメタを使用して,Connector属性ファイルの,次の二つのパラメタの値を決定できます。なお,Connector属性ファイルとは,リソースアダプタの属性を取得,編集する場合に使用するファイルです。
-
MaxPoolSize
-
MinPoolSize
ここでは,簡易構築定義ファイルに展開される実パラメタの展開規則と,Connector属性ファイルに設定するパラメタの値の設定規則について説明します。
(1) 簡易構築定義ファイルに展開される実パラメタ
リクエスト最大同時処理数の値が,それぞれの実パラメタへ展開されるときの規則および実パラメタの説明を,実パラメタごとに説明します。なお,説明中の「設定先のファイル」とは,抽象パラメタ展開済みの簡易構築定義ファイルの情報が最終的に反映される,Application Serverのファイルを指します。
(a) ThreadsPerChild
- 展開規則
-
(KeepAliveTimeout+1リクエストの平均処理時間)/1リクエストの平均処理時間×リクエスト最大同時処理数
展開規則は上記のとおりですが,ここでは,1リクエストの平均処理時間=KeepAliveTimeoutとして計算されるため,次のような式になります。
リクエスト最大同時処理数×2
- 実パラメタの説明
-
HTTP Serverで,Webサーバとして起動するスレッド数を指定するパラメタです。指定したスレッド数はWebサーバの最大同時接続数を示します。
詳細については,マニュアル「HTTP Server」を参照してください。
- 設定先のファイル
-
httpsd.conf(HTTP Server定義ファイル)
(b) MaxClients
- 展開規則
-
(KeepAliveTimeout+1リクエストの平均処理時間)/1リクエストの平均処理時間×リクエスト最大同時処理数
展開規則は上記のとおりですが,ここでは,1リクエストの平均処理時間=KeepAliveTimeoutとして計算されるため,次のような式になります。
リクエスト最大同時処理数×2
- 実パラメタの説明
-
HTTP Serverで,同時に接続できるクライアントの最大数を指定するパラメタです。
- 設定先のファイル
-
httpsd.conf(HTTP Server定義ファイル)
(c) StartServers
- 展開規則
-
(KeepAliveTimeout+1リクエストの平均処理時間)/1リクエストの平均処理時間×リクエスト最大同時処理数
展開規則は上記のとおりですが,ここでは,1リクエストの平均処理時間=KeepAliveTimeoutとして計算されるため,次のような式になります。
リクエスト最大同時処理数×2
- 実パラメタの説明
-
HTTP Serverで,Webサーバ起動時のサーバプロセス数を指定するパラメタです。
詳細については,マニュアル「HTTP Server」を参照してください。
- 設定先のファイル
-
httpsd.conf(HTTP Server定義ファイル)
(d) HWSKeepStartServers
- 展開規則
-
「On」が展開されます。
- 実パラメタの説明
-
HTTP Serverで,サーバプロセスの稼働数をStartServersパラメタに指定した数だけ維持するかどうかを指定するパラメタです。
詳細については,マニュアル「HTTP Server」を参照してください。
- 設定先のファイル
-
httpsd.conf(HTTP Server定義ファイル)
(e) KeepAliveTimeout
- 展開規則
-
「3」(秒)が展開されます。
- 実パラメタの説明
-
KeepAliveTimeoutは,HTTP1.1の持続型接続をしているときの,コネクションを持続する時間を指定するパラメタです。
持続型接続を使用する場合(KeepAliveディレクティブをオンにする場合),レスポンスの高速化のため,クライアントからのリクエストに対して応答を返したあともコネクションを切断しないで,同じクライアントからの次のリクエストを待ちます。このため,KeepAliveTimeoutでタイムアウト時間を設定します。
詳細については,マニュアル「HTTP Server」を参照してください。
- 設定先のファイル
-
httpsd.conf(HTTP Server定義ファイル)
(2) 抽象パラメタの展開例
cmx_trans_paramコマンドを実行すると物理ティアの定義(<tier>タグの定義)の<configuration>タグに,次の表に示すパラメタが自動展開されて,抽象パラメタ展開済み簡易構築定義ファイルが作成されます。
logical-server-type |
param-name |
---|---|
web-server |
ThreadsPerChild |
MaxClients |
|
StartServers |
|
HWSKeepStartServers |
|
KeepAliveTimeout |
|
j2ee-server |
webserver.connector.ajp13.backlog |
webserver.connector.ajp13.max_threads |
なお,パラメタの詳細については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「4. Smart Composer機能で使用するファイル」を参照してください。
抽象パラメタ展開済み簡易構築定義ファイルの内容を,次に示します(一部抜粋)。
- 抽象パラメタ展開済み簡易構築定義ファイル
<?xml version="1.0" encoding="UTF-8"?> <model-definition xmlns="http://www.cosminexus.com/mngsvr/schema/ModelDefinition-2.5"> <web-system> <name>MyWebSystem</name> <!-- 負荷分散機の定義 --> <load-balancer> : </load-balancer> <!-- 物理ティア(combined-tier)の定義 --> <tier> <tier-type>combined-tier</tier-type> <!-- Generate web-server configuration by cmx_trans_param --> <configuration> <logical-server-type>web-server</logical-server-type> <param> <param-name>ThreadsPerChild</param-name> <param-value>40</param-value> </param> <param> <param-name>MaxClients</param-name> <param-value>40</param-value> </param> <param> <param-name>StartServers</param-name> <param-value>40</param-value> </param> <param> <param-name>HWSKeepStartServers</param-name> <param-value>On</param-value> </param> <param> <param-name>KeepAliveTimeout</param-name> <param-value>3</param-value> </param> </configuration> <!-- Generate j2ee-server configuration by cmx_trans_param --> <configuration> <logical-server-type>j2ee-server</logical-server-type> <param> <param-name>webserver.connector.ajp13.backlog</param-name> <param-value>40</param-value> </param> <param> <param-name>webserver.connector.ajp13.max_threads</param-name> <param-value>20</param-value> </param> : </configuration> </tier> <!-- サービスユニットの定義 --> <unit> : </unit> </web-system> <!-- ホストの定義 --> <host> : </host> </model-definition>
注 背景色付きの太字の部分が自動展開された定義です。