付録I.2 抽象パラメタによって展開される実パラメタ

抽象パラメタであるリクエスト最大同時処理数は,cmx_trans_paramコマンドを実行すると,簡易構築定義ファイルの次の七つの実パラメタに値が展開されます。

また,この抽象パラメタを使用して,Connector属性ファイルの,次の二つのパラメタの値を決定できます。なお,Connector属性ファイルとは,リソースアダプタの属性を取得,編集する場合に使用するファイルです。

ここでは,簡易構築定義ファイルに展開される実パラメタの展開規則と,Connector属性ファイルに設定するパラメタの値の設定規則について説明します。

<この項の構成>
(1) 簡易構築定義ファイルに展開される実パラメタ
(2) 抽象パラメタの展開例
(3) 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定義ファイル)
(f) webserver.connector.ajp13.backlog
展開規則
(KeepAliveTimeout+1リクエストの平均処理時間)/1リクエストの平均処理時間×リクエスト最大同時処理数

展開規則は上記のとおりですが,ここでは,1リクエストの平均処理時間=KeepAliveTimeoutとして計算されるため,次のような式になります。

リクエスト最大同時処理数×2
実パラメタの説明
リダイレクタからの接続要求の最大の待ち行列数を指定します。
設定先のファイル
usrconf.properties(J2EEサーバ用ユーザプロパティファイル)
(g) webserver.connector.ajp13.max_threads
展開規則
リクエスト最大同時処理数がそのまま展開されます。
実パラメタの説明
Webコンテナがリクエストを処理する同時実行数を指定します。
設定先のファイル
usrconf.properties(J2EEサーバ用ユーザプロパティファイル)

(2) 抽象パラメタの展開例

cmx_trans_paramコマンドを実行すると物理ティアの定義(<tier>タグの定義)の<configuration>タグに,次の表に示すパラメタが自動展開されて,抽象パラメタ展開済み簡易構築定義ファイルが作成されます。

表I-1 cmx_trans_paramコマンドによって自動展開されるパラメタ一覧

logical-server-typeparam-name
web-serverThreadsPerChild
MaxClients
StartServers
HWSKeepStartServers
KeepAliveTimeout
j2ee-serverwebserver.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>

注 太字の部分が自動展開された定義です。

(3) Connector属性ファイルのパラメタの値

Connector属性ファイルの,MaxPoolSizeおよびMinPoolSizeのパラメタについては,抽象パラメタの値を基に設定値を決定できます。これらのパラメタは,cmx_trans_paramコマンドで自動的に設定されません。手動でConnector属性ファイルに設定し,リソースアダプタをデプロイしてください。

(a) MaxPoolSize
設定値
リクエスト最大同時処理数に設定した値を設定します。
実パラメタの説明
コネクションプールの最大値を指定します。
設定先のファイル
Connector属性ファイル
(b) MinPoolSize
設定値
リクエスト最大同時処理数に設定した値を設定します。
実パラメタの説明
コネクションプールの最小値を指定します。
設定先のファイル
Connector属性ファイル