8.3.7 同時実行数を最適化するためのチューニングパラメタ
ここでは,同時実行数の最適化で使用するチューニングパラメタの設定方法についてまとめて示します。
(1) リクエスト処理スレッド数
Webコンテナのリクエスト処理スレッド数のチューニングパラメタの設定方法について説明します。
次の表に示す項目をSmart Composer機能で設定します。パラメタは,簡易構築定義ファイルに定義します。
設定項目 |
設定対象 |
設定個所(パラメタ名) |
---|---|---|
J2EEサーバ起動時に生成するリクエスト処理スレッド数 |
論理J2EEサーバ(j2ee-server) |
webserver.connector.nio_http.min_threads |
Webクライアントまたはリバースプロキシとの接続数の上限 |
論理J2EEサーバ(j2ee-server) |
webserver.connector.nio_http.max_connections |
Webクライアントまたはリバースプロキシとの接続数の上限を超えた場合に使用されるTCP/IPのListenキュー(バックログ)の最大値 |
論理J2EEサーバ(j2ee-server) |
webserver.connector.nio_http.backlog |
リクエスト処理スレッド数の最大数 |
論理J2EEサーバ(j2ee-server) |
webserver.connector.nio_http.max_threads |
なお,J2EEサーバの前段に置くリバースプロキシとしてHTTP Serverを使用している場合のチューニングパラメタについては,マニュアル「HTTP Server 」を参照してください。
(2) Webアプリケーションの同時実行数
URLグループ単位,Webアプリケーション単位,またはWebコンテナ単位に設定します。
(a) URLグループ単位の同時実行数
URLグループ単位の同時実行数のチューニングパラメタの設定方法について説明します。設定項目ごとに設定方法と設定個所が異なります。
次の表に示す項目は,Smart Composer機能で設定します。パラメタは,簡易構築定義ファイルに定義します。
設定項目 |
設定対象 |
設定個所(パラメタ名) |
---|---|---|
Webコンテナ単位での最大同時実行スレッド数 |
論理J2EEサーバ(j2ee-server) |
webserver.connector.nio_http.max_servlet_execute_threads |
デフォルトの実行待ちキューサイズ |
論理J2EEサーバ(j2ee-server) |
webserver.container.thread_control.queue_size |
次の表に示す項目は,サーバ管理コマンド(cjsetappprop)で設定します。パラメタは,WAR属性ファイルに定義します。
設定項目 |
設定個所(パラメタ名) |
---|---|
Webアプリケーション単位での最大同時実行スレッド数 |
<thread-control>タグ下の<thread-control-max-threads> |
Webアプリケーションの占有スレッド数 |
<thread-control>タグ下の<thread-control-exclusive-threads> |
Webアプリケーション単位の実行待ちキューサイズ |
<thread-control>タグ下の<thread-control-queue-size> |
URLグループ単位の同時実行スレッド数制御の定義名 |
<thread-control><urlgroup-thread-control>タグ下の<urlgroup-thread-control-name> |
URLグループ単位での最大同時実行スレッド数 |
<thread-control><urlgroup-thread-control>タグ下の<urlgroup-thread-control-max-threads> |
URLグループ単位の占有スレッド数 |
<thread-control><urlgroup-thread-control>タグ下の<urlgroup-thread-control-exclusive-threads> |
URLグループ単位の実行待ちキューサイズ |
<thread-control><urlgroup-thread-control>タグ下の<urlgroup-thread-control-queue-size> |
URLグループ単位の制御対象となるURLパターン |
<thread-control><urlgroup-thread-control>タグ下の<urlgroup-thread-control-mapping> |
(b) Webアプリケーション単位の同時実行数
Webアプリケーション単位の同時実行数をチューニングするパラメタの設定方法について説明します。設定項目ごとに設定方法と設定個所が異なります。
次の表に示す項目は,Smart Composer機能で設定します。パラメタは,簡易構築定義ファイルに定義します。
設定項目 |
設定対象 |
設定個所(パラメタ名) |
---|---|---|
Webコンテナ単位での最大同時実行スレッド数 |
論理J2EEサーバ(j2ee-server) |
webserver.connector.nio_http.max_servlet_execute_threads |
デフォルトの実行待ちキューサイズ |
論理J2EEサーバ(j2ee-server) |
webserver.container.thread_control.queue_size |
次の表に示す項目は,サーバ管理コマンド(cjsetappprop)で設定します。パラメタは,WAR属性ファイルに定義します。
設定項目 |
設定個所(パラメタ名) |
---|---|
Webアプリケーション単位での最大同時実行スレッド数 |
<thread-control-max-threads> |
Webアプリケーションの占有スレッド数 |
<thread-control-exclusive-threads> |
Webアプリケーション単位の実行待ちキューサイズ |
<thread-control-queue-size> |
(c) Webコンテナ単位の同時実行数
Webコンテナ単位の同時実行数をチューニングするパラメタの設定方法について説明します。
次の表に示す項目をSmart Composer機能で設定します。パラメタは,簡易構築定義ファイルに定義します。
設定項目 |
設定対象 |
設定個所(パラメタ名) |
---|---|---|
Webコンテナ単位での最大同時実行スレッド数 |
論理J2EEサーバ(j2ee-server) |
webserver.connector.nio_http.max_servlet_execute_threads |
(3) Enterprise Beanの同時実行数
Enterprise Beanの同時実行数は,Enterprise Bean単位に設定します。Enterprise Beanの種類ごとに説明します。
(a) Stateless Session Beanの同時実行数
Stateless Session Beanの同時実行数をチューニングするパラメタの設定方法について説明します。
次の表に示す項目を,サーバ管理コマンド(cjsetappprop)で設定します。パラメタは,Session Bean属性ファイルに定義します。
設定項目 |
設定個所(パラメタ名) |
---|---|
プールで管理するインスタンスの最大値 |
<stateless><pooled-instance>タグ下の<maximum>※ |
プールで管理するインスタンスの最小値 |
<stateless><pooled-instance>タグ下の<minimum> |
(b) Stateful Session Beanの同時実行数
Stateful Session Beanの同時実行数をチューニングするパラメタの設定方法について説明します。
次の表に示す項目を,サーバ管理コマンド(cjsetappprop)で設定します。パラメタは,Session Bean属性ファイルに定義します。
設定項目 |
設定個所(パラメタ名) |
---|---|
クライアントから作成可能なセッションの上限 |
<stateful>タグ下の<maximum-active-sessions> |
使われていないインスタンスが削除されるまでの時間(分) |
<stateful>タグ下の<removal-timeout> |
(c) Entity Beanの同時実行数
Entity Beanの同時実行数をチューニングするパラメタの設定方法について説明します。
次の表に示す項目を,サーバ管理コマンド(cjsetappprop)で設定します。パラメタは,Entity Bean属性ファイルに定義します。
設定項目 |
設定個所(パラメタ名) |
---|---|
クライアントから作成可能なEntity Beanの最大値 |
<maximum-instances> |
使われていないEntity BeanのEJBObjectが削除されるまでの時間(分) |
<entity-timeout> |
(d) Message-driven Beanの同時実行数
Message-driven Beanの同時実行数をチューニングするパラメタの設定方法について説明します。
次の表に示す項目を,サーバ管理コマンド(cjsetappprop)で設定します。パラメタは,Message-driven Bean属性ファイルに定義します。
設定項目 |
設定個所(パラメタ名) |
---|---|
プールで管理するインスタンスの数の最大値 |
<pooled-instance><maximum> |
プールで管理するインスタンスの数の最小値 |
<pooled-instance><minimum> |
(4) CTMで制御する同時実行数
CTMで制御する同時実行数をチューニングするパラメタの設定方法について説明します。CTMデーモン,アプリケーション,およびStateless Session Beanに設定する項目があります。
-
CTMデーモンに設定する項目
次の表に示す項目は,Smart Composer機能で設定します。パラメタは,簡易構築定義ファイルに定義します。
表8‒15 CTMで制御する同時実行数のチューニングパラメタ(Smart Composer機能で設定する項目) 設定項目
設定対象
設定個所(パラメタ名)
CTMが制御するスレッドの最大値およびキューごとのリクエストの登録数
論理CTM(component-transaction-monitor)
ctm.DispatchParallelCount
-
アプリケーションまたはStateless Session Beanに設定する項目
次の表に示す項目は,サーバ管理コマンドで設定します。パラメタは,アプリケーション属性ファイルまたはSession Bean属性ファイルに定義します。
表8‒16 CTMで制御する同時実行数のチューニングパラメタ(サーバ管理コマンドで設定する項目) 設定項目
定義ファイル
設定対象
設定個所(パラメタ名)
アプリケーションをCTMによる同時実行数制御の対象にするかどうか
アプリケーション属性ファイル
アプリケーション
<managed-by-ctm>
アプリケーションの同時実行スレッド数
アプリケーション属性ファイル
アプリケーション
<scheduling>タグ下の<parallel-count>
Stateless Session BeanをCTMによる同時実行数制御の対象にするかどうか
Session Bean属性ファイル
Stateless Session Bean
<enable-scheduling>
Bean単位のキューについての設定※
Session Bean属性ファイル
Stateless Session Bean
<scheduling>タグ下の<parallel-count>