SFOサーバでは,Webアプリケーションのグローバルセッション情報の冗長化を開始する前に,グローバルセッション情報を格納するために必要な領域を確保します。このとき確保したメモリは,Webアプリケーションのグローバルセッション情報の冗長化が終了するまで解放されないで,JavaVMのTenured領域に格納されます。
JavaVMでは,Tenured領域の使用状態や,New領域の最大値に対するTenured領域の空き容量などを基に,フルガーベージコレクションを発生させます。SFOサーバでは,フルガーベージコレクションの発生を防ぐために,Webアプリケーションのグローバルセッション情報の冗長化で使用するTenured領域メモリサイズや,SFOサーバが使用するTenured領域のメモリサイズなど,Tenured領域に格納されるオブジェクトのメモリサイズを基に,JavaVMのTenured領域,New領域のサイズをチューニングする必要があります。
JavaVMのTenured領域,New領域のサイズは,簡易構築定義ファイルの論理SFOサーバ(sfo-server)の<configuration>タグ内に,JavaVM起動パラメタで定義します。JavaVM起動パラメタの指定内容を次に示します。
- <param-name>タグ
- add.jvm.arg
- <param-value>タグ
- -Xmx(設定値)
- -XX:NewRatio=(設定値)
- 注意
- JavaVMの領域をチューニングする場合は,JavaVMのガーベージコレクションログを確認して,SFOサーバの運用でフルガーベージコレクションが発生しないことを確認してください。
Webアプリケーションのグローバルセッション情報の冗長化で使用するTenured領域のメモリサイズ,およびSFOサーバが使用するTenured領域のメモリサイズの見積もり式を次に示します。
- Webアプリケーションのグローバルセッション情報の冗長化で使用するTenured領域のメモリサイズの見積もり式
A={(B+500)×C×1.2÷(1,024×1,024)}+D×5 |
- (凡例)
- A:Webアプリケーションのグローバルセッション情報の冗長化で使用するTenured領域のメモリサイズ(単位:メガバイト)
- B:グローバルセッション情報の最大サイズ(単位:バイト)※1
- C:HTTPセッション数の上限値※2
- D:接続するJ2EEサーバの数
- 注※1
- Webアプリケーションのフィルタ属性ファイルまたはDD(web.xml)のGSInfosLengthMaxパラメタに指定した値です。グローバルセッション情報の最大サイズの詳細については,「7.12.2(2) グローバルセッション情報の最大サイズ(GSInfosLengthMax)」を参照してください。
- 注※2
- WebアプリケーションのWAR属性ファイルの<http-session-max-number>タグに指定する値です。HTTPセッション数の上限値の詳細については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.7.5 HttpSessionオブジェクト数の上限値の設定」を参照してください。
- SFOサーバが使用するTenured領域のメモリサイズの見積もり式
SFOサーバが使用するTenured領域のメモリサイズ=A+50 |
- (凡例)
- A:各Webアプリケーションのグローバルセッション情報の冗長化で使用するTenured領域のメモリサイズの合計(単位:メガバイト)