Webコンテナでは,静的コンテンツをメモリに保持(キャッシュ)できます。一度アクセスした静的コンテンツの内容をメモリに保持しておくことによって,2回目以降のアクセス時のファイルシステムへのアクセス回数を減らし,応答速度の向上を図れます。
ここでは,静的コンテンツをキャッシュする場合に必要なチューニングの方法について説明します。
チューニングできるのは,次の項目です。
それぞれについて説明します。なお,これらの項目は,Webコンテナ単位およびWebアプリケーション単位で設定できます。Webアプリケーション単位の設定は,Webコンテナ単位の設定よりも優先されます。このため,J2EEサーバ全体としてデフォルトの値を指定したい場合はWebコンテナ単位の値に設定して,細かな設定をしたい場合は適宜Webアプリケーション単位に設定してください。
静的コンテンツのキャッシュは,デフォルトの設定では使用されない機能です。このため,使用する場合はパラメタを変更する必要があります。
なお,静的コンテンツのキャッシュの使用は,Webコンテナ単位およびWebアプリケーション単位で設定でき,Webアプリケーション単位の設定は,Webコンテナ単位の設定よりも優先されます。ただし,Webコンテナ単位の設定で強制的な無効を選択している場合は,Webアプリケーション単位の設定も無効になります。強制的な無効は,次のような場合に使用できます。
静的コンテンツをキャッシュするために,Webアプリケーション単位で使用するメモリサイズを設定できます。なお,それぞれのWebアプリケーションで設定した値よりもキャッシュの合計サイズが大きくなる場合は,アクセスされていない時間が最も長いキャッシュから削除されます。削除は,キャッシュの合計サイズが設定値以下になるまで繰り返されます。
メモリサイズの設定の指針を次に示します。
静的コンテンツのキャッシュの対象とするコンテンツのファイルサイズの上限を設定できます。上限を設定した場合,上限を超えるファイルサイズのコンテンツについてはキャッシュされないで,使用するたびに毎回ファイルシステムから取得されます。
ファイルサイズの設定の指針を次に示します。
静的コンテンツの稼働状況は,Webアプリケーションを停止したときに出力されるメッセージKDJE39234-Iの出力内容で確認できます。キャッシュされている静的コンテンツの合計サイズやコンテンツの個数などが出力されるので,必要に応じて各パラメタをチューニングしてください。