Interstage Application Server チューニングガイド |
目次
索引
![]() ![]() |
第1章 必要資源 | > 1.2 メモリ容量 |
本ソフトウェアを以下の運用で動作させるときに使用するメモリ容量を示します。
項番 |
メモリ所要量 |
運用内容 |
---|---|---|
1 |
2.4+(2.6×n) |
Webサーバ(Interstage HTTP Server) |
2 |
25.2 (注1) |
Webサーバ(InfoProvider Pro) |
3 |
58.4 (注2) |
Webサーバ(InfoProvider Pro) |
4 |
2.4 |
COBOL Webサブルーチン使用時 |
5 |
8.0 以上 |
CORBAサービス運用時 |
6 |
8.0 以上 |
CORBAサービスのネーミングサービス運用時 |
7 |
45.6 以上 (注4) |
CORBAサービスのインタフェースリポジトリ運用時 |
8 |
8.0 以上 (注5) |
イベントサービス |
9 |
ユニット数 ×100 + イベントサービスのユニット定義ファイルのshmmaxの合計 (注5) |
ノーティフィケーションサービスの不揮発チャネル運用時 |
10 |
1.5 以上 |
Portable-ORB |
11 |
50.0 以上 (注6) |
コンポーネントトランザクションサービスの起動 |
12 |
4.0 以上 (注7) |
コンポーネントトランザクションサービス |
13 |
8.0 以上 (注8) |
データべース連携サービスの起動(OTSシステムとリソース管理プログラムを起動するマシン上) |
14 |
4.0 以上 (注8) |
データベース連携サービスの起動(リソース管理プログラムだけの起動するマシン上) |
15 |
2.0 |
ロードバランス使用時 |
16 |
282.7以上 (注9) |
IJServerワークユニットで“WebアプリケーションとEJBアプリケーションを運用”で運用時、サンプルのショッピングカートで40クライアント同時アクセス時 |
17 |
261.7以上 (注9) |
IJServerワークユニットで“Webアプリケーションのみ運用”で運用時、サンプルの数当てゲームで40クライアント同時アクセス時 |
18 |
114.7 以上 (注10) |
InfoProvider Pro、JDK1.3の富士通製VMを使用して旧バージョンServletサービスの運用時、サンプルHelloServletを40クライアント同時アクセス時。 |
19 |
70.0 以上 (注11) |
旧バージョンServletサービスでセションリカバリ機能の運用時、各セションを100生成し、セションに100KBのデータを保持した場合。 |
20 |
|
IJServerワークユニットで“EJBアプリケーションのみ運用”で運用時 (注13) |
21 |
24以上 |
Interstage運用操作ツール使用時。 |
22 |
7.0以上 |
セション情報管理機能を使用する場合 |
23 |
2.0×n |
負荷計測エージェント機能のInterstage連携を行う場合。 |
24 |
64以上 (注14) |
SOAPサービス運用時 |
25 |
16以上 |
CORBA/SOAPクライアントゲートウェイ運用時 |
26 |
16以上 |
CORBA/SOAPサーバゲートウェイ運用時 |
27 |
64以上 |
J2EE Deploymentツール運用時 |
28 |
150以上 (注15) |
ebXML Message Serviceの運用時 |
29 |
150以上 (注16) |
UDDIレジストリサービス運用時 |
30 |
23.3以上(注17) |
InfoDirectoryサーバのデフォルトプロセスを使用する場合 |
31 |
1.6 以上 |
InfoDirectoryサーバにWebプロセスを追加して運用する場合 |
32 |
8.7 以上 |
InfoDirectoryサーバに同期プロセスを追加して運用する場合 |
33 |
2.0 以上 |
LDAPコマンドを使用する場合 |
34 |
26.3 以上(注18) |
InfoDirectory管理ツールエージェントのみで全機能を使用する場合 |
35 |
121.9 以上(注18) |
InfoDirectory管理ツールクライアントのみで全機能を使用する場合 |
36 |
1以上(注19) |
Interstage シングル・サインオンの業務サーバ機能 |
37 |
1以上 |
Interstage シングル・サインオンの認証サーバ機能 |
38 |
1以上(注20) |
Interstage シングル・サインオンのリポジトリサーバ機能 |
39 |
150.0以上 (注21) |
Smart Repositoryをスタンドアロンで運用、またはスレーブで運用する場合 |
40 |
50.0以上 |
Smart Repositoryをマスタで運用する場合 |
41 |
2.0以上 |
Smart Repositoryのエントリ管理コマンドを使用する場合 |
42 |
60.0以上 |
Smart Repositoryのエントリ管理ツールを使用する場合 |
43 |
50.0以上 |
Interstage JMXサービスを使用する場合 |
項番 |
IDL定義 |
計算式(単位:バイト) |
---|---|---|
1 |
モジュール宣言 |
3902+a×(2×b+2) |
2 |
インタフェース宣言 |
3902+a×(2×b+2)+a×b×c |
3 |
オペレーション宣言 |
3934+a×(3×b+2+f)+a×b×g+h×(12+a+a×b) |
4 |
属性宣言 |
3910+a×(3×b+2) |
5 |
定数宣言 |
7704+a×(3×b+3)+d |
6 |
例外宣言 |
3836+a×(2×b+e+1)+e×(78+a+a×b) |
7 |
文字列型宣言 |
3882+a×(b+1) |
8 |
列挙型宣言 |
3918+a×(2×b+k+2) |
9 |
シーケンス型宣言 |
3882+a×(2×b+1) |
10 |
構造体宣言 |
3766+a×(2×b+i+1)+×(78+a+a×b) |
11 |
共用体宣言 |
3840+a×(3×b+j+1)+j*(3880+2×a+a×b) |
12 |
固定小数点型宣言 |
3882+a×(b+1) |
13 |
配列宣言 |
3886+a×(2×b+1) |
記号 |
項目 |
意味 |
---|---|---|
a |
識別子長 |
対象オブジェクトの識別子の長さ |
b |
階層数 |
対象オブジェクトの存在する階層 |
c |
継承数 |
インタフェース宣言が継承するインタフェース数 |
d |
定数値長 |
定数宣言の値の長さ |
e |
例外構造体メンバ数 |
例外宣言の構造体のメンバ数 |
f |
コンテキスト数 |
オペレーション宣言でのコンテキスト数 |
g |
例外数 |
オペレーション宣言での例外数 |
h |
パラメタ数 |
オペレーション宣言でのパラメタ数 |
i |
構造体メンバ数 |
構造体宣言でのメンバ数 |
j |
共用体メンバ数 |
共用体宣言でのメンバ数 |
k |
列挙型メンバ数 |
列挙型宣言でのメンバ数 |
1.9*k(Mバイト、Interstage HTTP Server使用の場合)
(k:Servletサービスへの同時アクセス数。)
IJServerワークユニット:(プロセス多重度1当り)
“WebアプリケーションとEJBアプリケーションを運用”の場合
121+(2.1*k)+(0.7*w)+(P1+P2+P3+..+Pn) (Mバイト)
“Webアプリケーションのみ運用”の場合
84+(2.5*k)+(0.7*w)+(P1+P2+P3+..+Pn) (Mバイト)
(k:サーブレット・コンテナへの同時アクセス数)
(w:Webアプリケーションの数)
(Pn:各サーブレットまたはJSPの実行サイズ。上記表では1Mバイトとして計算)
ServletはJavaVM上で動作するため、実際のメモリ使用量(ヒープ領域を含む)は、以下に示す要因により異なります。
そのため正確なメモリ使用量(ヒープ領域、Perm領域)は次のようにして実測することにより見積もることを推奨します。
サーブレット・コンテナ:(0.5×k)+80.0+(0.5×w)+(P1+P2+P3+..+Pn) (Mバイト)
(サンプルの環境定義ファイルでJDK1.3 富士通製VMを使用した場合の例)
(k:サーブレット・コンテナへの同時アクセス数)
(Pn:各サーブレットまたはJSPの実行サイズ。サンプルHelloServletの場合、0.2Mバイト程使用)
(w:Webアプリケーションの数)
サーブレット・コンテナはJavaVM上で動作するため、実際のメモリ使用量(ヒープ領域を含む)は、以下に示す要因により異なります。
・newするクラス型
・newするインスタンスの個数
・インスタンスのライフサイクル
・GCの動作状況
・Servletサービスの各種定義
・使用するJavaVM
そのため正確なメモリ使用量(ヒープ領域)は次のようにして実測することにより見積もることを推奨します。
(1) JavaVMが使用するヒープ領域の最大値(JServlet環境定義ファイルの[containername].bin.parametersに"-Xmx"で指定する値)
旧バージョンServletサービスを、本番運用のピーク時と同一条件で動作させます。JavaVMが使用するヒープ領域が不足すると、ログにOutOfMemoryErrorが出力されますので、ヒープ領域の最大値を増やし最適な値としてください。
求めたヒープ領域の最大値をそのまま本番運用時の値として利用します。
(2) JavaVMのメモリ使用量
(1)でヒープ領域の最大値を求める際、同時にJavaVMが使用するメモリ使用量も実測し見積もってください。
Beanの種類 |
起動時 |
クライアント実行時 |
---|---|---|
sample1 - BMP, Session |
35.3 |
37.6 |
sample1 - CMP, Session |
35.5 |
38.2 |
sample4 - MDB, Entity, Session |
38.2 |
39.2 |
sample4 - CMP2.0, Session |
36.9 |
38.9 |
いずれのメモリ量も簡単には算出できないので、次のようにして実測することにより見積もってください。
(1) JavaVMが使用するメモリ量の初期値(javaコマンドの-Xmsオプションで指定する値)
EJBアプリケーションを、本番運用の通常時(ピーク時ではない)と同一条件で動作させます。JavaVMが使用するメモリ量(最大値)が不足すると、IJServer21033またはEJB1033メッセージが出力されますので、試行錯誤によりメモリ量(最大値)を最適な値としてください。このようにして求めたメモリ量(最大値)を本番運用時のメモリ量(初期値)として利用します。メモリ量(初期値)の省略値は以下に示すとおりです。
JDK/JRE1.3およびJDK/JRE1.4 : 2Mバイト
(2) JavaVMが使用するメモリ量の最大値(javaコマンドの-Xmxオプションで指定する値)
EJBアプリケーションを、本番運用のピーク時と同一条件で動作させます。JavaVMが使用するメモリ量(最大値)が不足すると、IJServer21033またはEJB1033メッセージが出力されますので、試行錯誤によりメモリ量(最大値)を最適な値としてください。このようにして求めたメモリ量(最大値)をそのまま本番運用時のメモリ量(最大値)として利用します。メモリ量(最大値)の省略値は以下に示すとおりです。
JDK/JRE1.3およびJDK/JRE1.4 : 64Mバイト
(3) 1プロセスで必要な全メモリ量
(1)と(2)でJavaVMが使用するメモリ量を見積り時、同時に1プロセスで必要な全メモリ量も実測して見積もってください。
エントリ数(エントリ) |
メモリ容量 (MB) |
1000 |
26.4以上 |
1万 |
29.9以上 |
10万 |
45.4以上 |
InfoDirectory管理ツールの最小ヒープメモリサイズを指定します。この数値はInfoDirectory管理ツールの初期起動時に確保するメモリを設定するものです。
この値が小さいと、JavaVMでのGC(ガーベッジ・コレクション)が頻繁に発生し、InfoDirectory管理ツールのパフォーマンスが低下します。逆にこの値が大きすぎると、1回のGCで時間がかかりすぎるため、これもパフォーマンスが低下します。実メモリとの観点でPKI_MSの値は、約1/4程度を上限値としてください。
なお、この環境変数はインストーラで自動設定されません(※)が、デフォルトで2MBが適用されています。
「 MS < 1/4×(実メモリ) 」
MS : PKI_MS推奨値(MB)
InfoDirectory管理ツールの最大ヒープメモリサイズを指定します。この数値は管理ツールでエントリの表示数に比例して消費されるメモリの上限値を拡張するものです。
このメモリサイズを拡大することで、メモリ不足関連のエラーの回避やパフォーマンスの低下をある程度防ぐことはできますが、その他の回避策としてディレクトリのトップエントリを変更することでメモリ消費を抑えることができます。
この数値が大きすぎると1回のGC実行時間が長期化したり、また、利用可能な実メモリを超えるとページングが発生し、パフォーマンスが低下します。実メモリとの観点でPKI_MXの値は約1/2程度を上限値としてください。ただし、この範囲でも他のアプリケーションの動作に影響を与える場合がありますので、メモリサイズの拡大は最小限にしてください。
なお、この環境変数はインストーラで自動設定されません(※)が、デフォルトで64MBが適用されています。
「 MX = (0.00240 + B) × E + 36 < 1/2×実メモリ) 」
MX : PKI_MX推奨値(MB)
0.00240: inetOrgPersonによる1エントリのメモリ消費量(MB)
B : エントリに付加される証明書や顔写真などバイナリデータ(MB)
E : 同時に展開するエントリ数
36 : InfoDirectory管理ツール初期起動時に必要な固定値(MB)
※ 環境変数
ユーザ環境変数に、上記環境変数を設定してください。また、アンインストールする場合は削除してください。
ロール数 : SSOリポジトリに定義したロールの総数
ロールセット数 : SSOリポジトリに定義したロールセットの総数
目次
索引
![]() ![]() |