定義項目
カテゴリ | プロパティ | プロパティ名 | get | set | list |
---|---|---|---|---|---|
× | × | ○ | |||
Enterprise Beanインスタンスのキャッシング(Stateful Session Beanの定義項目) | |||||
cache-resize-quantity | ○ | ○ | × | ||
max-cache-size | ○ | ○ | × | ||
cache-idle-timeout-in-seconds | ○ | ○ | × | ||
removal-timeout-in-seconds | ○ | ○ | × | ||
victim-selection-policy | ○ | ○ | × | ||
session-store | ○ | ○ | × | ||
Enterprise Beanインスタンスのプーリング(Stateless Session Beanの定義項目) | |||||
steady-pool-size | ○ | ○ | × | ||
pool-resize-quantity | ○ | ○ | × | ||
max-pool-size | ○ | ○ | × | ||
pool-idle-timeout-in-seconds | ○ | ○ | × | ||
× | × | ○ | |||
minimum-delivery-interval-in-millis | ○ | ○ | × | ||
max-redeliveries | ○ | ○ | × | ||
timer-datasource | ○ | ○ | × | ||
redelivery-interval-internal-in-millis | ○ | ○ | × | ||
property.${PropertyName} | ○ | ○ | × | ||
追加プロパティ | |||||
property.thread-core-pool-size | ○ | ○ | × |
■EJBコンテナ
${clusterName_instanceName_configName}.ejb-container
キャッシュのサイズ変更量
${clusterName_instanceName_configName}.ejb-container.cache-resize-quantity
Beanインスタンスをpassivateする場合、この数のインスタンスをpassivateしてキャッシュから破棄します(注2)。
最大キャッシュサイズ以下の値を設定してください。
1~2147483647
32
最大キャッシュサイズ
${clusterName_instanceName_configName}.ejb-container.max-cache-size
キャッシュされたBeanインスタンスをpassivate対象とするか判断する数です(注1)(注2)。
「0」を設定した場合はキャッシュサイズが無制限になります。
設定した値の数だけ、アプリケーションの起動時にインスタンスを格納する領域を確保します。このため、値を大きく変更する場合には、指定した値までキャッシュされるかどうかに関わらず、ヒープサイズをチューニングしてください。
キャッシュのサイズ変更量以上の値を設定してください。
0~2147483647
512
キャッシュアイドルタイムアウト
${clusterName_instanceName_configName}.ejb-container.cache-idle-timeout-in-seconds
キャッシュされたBeanインスタンスをpassivate対象とするかを判定する監視時間です。指定した時間間隔でキャッシュを監視し、指定した時間以上アイドル状態が続いているBeanインスタンスをpassivate対象とします(注2)。
「0」を設定した場合はキャッシュアイドルタイムアウトが動作しません。
0~2147483647(秒)
600
削除タイムアウト
${clusterName_instanceName_configName}.ejb-container.removal-timeout-in-seconds
使用されなくなったBeanインスタンスが存在できる最大時間です。
Beanインスタンスに対して、この時間を超過してもビジネスメソッドが実行されなかった場合、EJBコンテナが該当のインスタンスの対話状態をファイルシステムから削除します。キャッシュアイドルタイムアウト以下の値を指定すると、Beanインスタンスをpassivateした後に削除します(注3)。
「0」を設定した場合は削除タイムアウトが動作しません。
0~2147483647(秒)
5400
選択内容の削除ポリシー
${clusterName_instanceName_configName}.ejb-container.victim-selection-policy
削除対象のインスタンスを選択するポリシーです。
過度のインスタンスをpassivateしキャッシュから廃棄する場合、このアルゴリズムで削除するBeanインスタンスを決定します。以下からポリシーを選択します。
nru: 最近使用されていない
fifo: ファーストインファーストアウト
lru: 最近の使用頻度がもっとも低い
NRUポリシー(Not Recently Used)は、キャッシュ内で古い、かつ最近アクセスされていないBeanインスタンスを優先的に削除します。FIFOポリシー(First In, First Out)は、キャッシュ内で最も古いBeanを削除します。LRUポリシー(Least Recently Used)は、最近最もアクセスされていないBeanを削除します。
nru
fifo
lru
nru
セッション格納位置
${clusterName_instanceName_configName}.ejb-container.session-store
passivateしたBeanインスタンスの対話状態を格納するディレクトリを指定します。
相対パスで指定した場合はIJServerクラスタのカレントディレクトリからの相対パスとなります。
任意の文字列
${com.sun.aas.instanceRoot}/session-store
初期および最小プールサイズ
${clusterName_instanceName_configName}.ejb-container.steady-pool-size
プールに確保するインスタンスの数です。
EJBアプリケーションへのアクセス時、またはアイドルタイムアウト監視処理時に、プールサイズが指定された数より少ない場合、EJBコンテナは処理スレッドとは別のスレッドでBeanインスタンスを生成してプールに追加します。生成数はプールサイズ変更量が適用されます。
また、処理要求によりプールに存在するインスタンス数が指定した値より小さくなると、EJBコンテナはプールされたBeanインスタンスが指定された値になるまでBeanインスタンスを生成してプールに追加します。
最大プールサイズ以下の値を設定してください。
0~2147483647
0
プールサイズ変更量
${clusterName_instanceName_configName}.ejb-container.pool-resize-quantity
一度に縮小または拡張するプールサイズです。最大プールサイズを超えたり、最小プールサイズを下回ることがないように、調整されます。
「0」を設定した場合、または最小プールサイズに「0」を指定した場合は適用されません。適用されない場合は1インスタンスずつ生成します。
最大プールサイズ以下の値を設定してください。
0~2147483647
8
最大プールサイズ
${clusterName_instanceName_configName}.ejb-container.max-pool-size
プールされるBeanインスタンスの最大数です。
Beanインスタンスでの処理完了時にプールに存在するインスタンス数が指定された数の場合には、使用したBeanインスタンスをプールに戻さずに破棄します。
「0」を設定した場合はプールサイズが無制限になります。
初期および最小プールサイズ以上、かつプールサイズ変更量以上の値を設定してください。
0~2147483647
32
プールアイドルタイムアウト
${clusterName_instanceName_configName}.ejb-container.pool-idle-timeout-in-seconds
プール内インスタンスの最大許容アイドル時間です。
EJBコンテナは設定値の間隔でプールを監視し、プールサイズを調整します(注4)。
プール内インスタンス数が最小プールサイズ以上の場合、設定値よりも長くアクセスがなかったインスタンスを破棄します。
プール内インスタンス数が最小プールサイズ未満の場合、プールサイズ変更量に従いインスタンスを追加します。
「0」を設定した場合は監視しません。
0~2147483647(秒)
600
■EJBタイマーサービス
${clusterName_instanceName_configName}.ejb-container.ejb-timer-service
最小配信間隔
${clusterName_instanceName_configName}.ejb-container.ejb-timer-service.minimum-delivery-interval-in-millis
EJBタイマーの最小配信間隔です。EJBタイマーの生成時に指定された配信間隔が本設定値より小さい場合、本設定値が使用されます。
1~2147483647(ミリ秒)
1000
最大再配信回数
${clusterName_instanceName_configName}.ejb-container.ejb-timer-service.max-redeliveries
EJBタイマーの再配信回数の最大値です。本設定値の回数分の再配信を実行してもコールバック処理が成功しなかった場合、EJBタイマーサービスは該当のEJBタイマーを削除します。
1~2147483647(回)
1
タイマーデータソース
${clusterName_instanceName_configName}.ejb-container.ejb-timer-service.timer-datasource
EJBタイマーサービスが使用するデータソースです。
任意の文字列
asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)して実行すると、jdbc/__TimerPoolが設定されているものとして動作します。
なし
再配信間隔
${clusterName_instanceName_configName}.ejb-container.ejb-timer-service.redelivery-interval-internal-in-millis
EJBタイマーの再配信間隔です。
1~2147483647(ミリ秒)
5000
EJBタイマーサービスの追加プロパティ
${clusterName_instanceName_configName}.ejb-container.ejb-timer-service.property.${PropertyName}
本バージョンでは使用できません。
非同期処理スレッドの最大プールサイズ
${clusterName_instanceName_configName}.ejb-container.property.thread-core-pool-size
Session Beanの非同期処理スレッドをプールする最大数です。
処理中のスレッド数が最大プールサイズに達した場合に処理要求があると、スレッドは作成されず、スレッドが空くまでキューで待機します。
1~2147483647
asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)すると、16が設定されているものとして動作します。
なし
メソッド実行完了時にBeanインスタンスをキャッシュに戻した時に、キャッシュに存在するBeanインスタンスが最大キャッシュサイズとキャッシュのサイズ変更量から算出された閾値を超過した場合、超過したインスタンスはpassivate対象のインスタンスとなります。
閾値は以下の式で算出されています。
キャッシュのサイズ変更量が最大キャッシュサイズを超えている場合
閾値 = 最大キャッシュサイズ × 0.75 + 1
キャッシュのサイズ変更量が最大キャッシュサイズを超えていない場合
閾値 = 最大キャッシュサイズ - キャッシュのサイズ変更量 + 1
passivate対象のインスタンスはキャッシュのサイズ変更量の指定値分passivateしますが、passivate対象のインスタンス数が8に満たない場合はpassivateしません。
削除タイムアウトとキャッシュアイドルタイムアウトの指定値の大小関係とその場合の動作を説明します。
削除タイムアウト>キャッシュアイドルタイムアウトの場合
アイドル状態のBeanはキャッシュアイドルタイムアウトの指定時間超過後passivate対象となります。passivateされたBeanは、削除タイムアウトの指定時間超過後に削除されます。
削除タイムアウト≦キャッシュアイドルタイムアウトの場合
アイドル状態のBeanはキャッシュアイドルタイムアウトの指定時間超過後passivate対象となり、passivate後に直ちに削除されます。
プールの監視は指定値の間隔で実施しますが、起動後に1回行った後はEJBアプリケーションの使用状況を確認し、使用されていないBeanインスタンスはプールサイズを調整しません。
関連情報
詳細な説明や関連記事については、以下を参照してください。
内容 | 参照先 |
---|---|
機能説明 | |
チューニング方法 | |
コマンド | asadminコマンドの以下のサブコマンド |