JSP Pre-touchの設定方法
WAS for iSeriesでJSP Pre-touchを使用するための前提条件、設定手順は以下の通りです。
前提条件
- WAS for iSeries V3.5.6以降、(WAS V4を含む)
- バイトコード・キャッシングを使用するためにはOS/400 V5R1以降と以下のPTFが必要
- MF27719
- MF27566
JSP Pre-touchを使用するための設定手順
以下はWAS V4環境での使用を前提にした手順です。(開発用ツールとしてWSAD(WebSphere Studio Application Developer) V4やWDSc(WebSphere Development Studio client) V4等を使用)
1.WSAD, WDScでwebアプリケーション・パースペクティブまたはWebFacingパースペクティブを開く。
2.ナビゲーターウィンドウから、webApplication → WEB-INF → ibm-web-ext.xmi
を開き、以下の3つの属
性を追加して保存する。
<jspAttributes xmi:id="JSPAttribute_1" name="prepareJSPs" value="0"/>
<jspAttributes xmi:id="JSPAttribute_2" name="prepareJSPAttribute" value="1"/>
<jspAttributes xmi:id="JSPAttribute_3" name="prepareJSPThreadCount" value="1"/>

同様の設定はAATを使用して設定する事も可能。
手順は下記の通り。
(1)AATを起動
(2)WSAD, WDSc等で作成したwarファイルを開く。
(3)“アセンブリー・プロパティ” → “JSP属性” を選択し、右クリック
(4)“追加”を選択して上記の3つの属性を追加。
3.次にバイトコード・キャッシングの設定を追加する。WAS管理コンソールを開始し、(ノード名) → アプリ
ケーション・サーバー
→ (対象となるアプリケーション・サーバー名) を選択 → JVM設定タブ → シ
ステム・プロパティーに以下の3行を追加する。
| JVM システムプロパティー | 指定単位 | 初期値 |
|---|---|---|
| os400.define.class.cache.file | jar | /QIBM/ProdData/Java400/ QDefineClassCache.jar |
| os400.define.class.cache.hours | Hours(max9000) | 168(1週間) |
| os400.define.class.cache.maxpgms | キャッシュJavaPGM数(max40000) | 5000 |

4.以上を設定したら、WASを再起動する。
以上で設定は完了です。
5.稼動確認
以上の設定を行い、WASを起動すると以下のようなメッセージが標準出力stdoutに出力されます。
上記の例では、WASアプリケーションサーバー起動完了後の、9:42:43からJSPのバッチコンパイルが開始されています。同時にバイトコードキャッシュも行なわれています。そして9:44:52に全てのJSP(例では166個)のバッチコンパイル、バイトコード・キャッシュが完了します。
この間、約2分間、CPUの負荷は非常に高くなります。(JSPを全てコンパイルするために必要な時間はシステム環境、アプリケーションによって異なります。)
6.テスト結果
以下ではWebFacing Toolで生成したWebアプリケーションを使用したJSP自動一括コンパイル&バイト
コード・キャッシングのテスト結果です。
同一テストを複数回実施し、その平均値を求めたものです。
CPU,メモリーなどキャパシティーが非常に低いシステム環境における、負荷の比較的高いアプリケーショ
ンのテスト結果となっています。
(お断り:以下のテスト結果は、様々な条件により、誤差が含まれております。正確な応答時間、処理時間
を計測したものではありません。)
(1)得意先マスター照会アプリケーション

1画面目は得意先コード入力画面、2画面目はサブファイル画面、3画面目は明細画面。
初回起動時の処理時間が通常7.3秒→JSP Pre-touch設定時 5.7秒。同様に、2画面目2.3秒→2.0秒。3画面目 4.5秒→2.7秒。
(2)商品マスター照会

1画面目はサブファイル表示画面、2画面目はGIFファイル付きの明細画面。
初回起動時の処理時間が通常4.5秒→JSP Pre-touch設定時4.0秒。同様に、2画面目5.3秒→3.5秒。
