概要: 動的キャッシュ
サーブレット、コマンド、Web サービス、および JavaServer Pages (JSP) ファイルの出力を キャッシュに入れてパフォーマンスを向上させる、動的キャッシュ・サービスに関連した主要な概念について説明します。
動的キャッシュ・エンジンは、動的キャッシュ API およびフレームワークのデフォルトのキャッシュ・プロバイダーです。 しかし、バージョン 6.1.0.27 以降、動的キャッシュでは、WebSphere 製品のキャッシングの戦略的方向に位置する WebSphere eXtreme Scale が その中核のキャッシング・エンジンとして役割を果たしています。
WebSphere eXtreme Scale を使用するよう動的キャッシュを構成すると、 既存の動的キャッシュのキャッシング・コードを変更せずに、トランザクションのサポート、スケーラビリティーの改善、 高可用性、およびその他の WebSphere eXtreme Scale フィーチャーを活用することができます。現在デフォルトのキャッシュ・プロバイダーを使用している 場合、管理コンソールまたは wsadmin コマンドを使用して、デフォルトの動的キャッシュ・プロバイダー を WebSphere eXtreme Scale 動的キャッシュ・プロバイダーに置き換えることができます。使用している動的キャッシュ・プログラミング・モデルを変更する必要はありません。 WebSphere eXtreme Scale 製品資料の WebSphere eXtreme Scale 動的キャッシュ・プロバイダーについての概要を参照してください。
WebSphere eXtreme Scale は、メモリー内のデータベース処理スペースとして 作動できます。この処理スペースを使用して、 データベース・バックエンド用のインライン・キャッシングを提供できます。あるいは、サイド・キャッシュとしてこれを使用することもできます。 インライン・キャッシングでは、データをやり取りする主な手段として WebSphere eXtreme Scale が使用されます。 WebSphere eXtreme Scale がサイド・キャッシュとして使用される場合は、バックエンドが WebSphere eXtreme Scale と併用されます。
WebSphere eXtreme Scale 動的キャッシュ・プロバイダー使用の機能的な利点
- セッションのメモリー間の複製をサポートします。
- 汎用データおよびセッション・キャッシングに対するアプリケーションのすべてのニーズに対応できます。
- 動的キャッシュのディスク・キャッシュをホスティングするための SAN またはストレージのソリューションを使用しなくても、 アプリケーションがシステム・メモリーを活用することができます。
- 複製の数を構成できるスケーラブルな複製キャッシュを提供します。 それによって、デフォルトのキャッシュ・プロバイダーが使用するデータ複製サービス (DRS) を使用する必要性がなくなります。 DRS の使用は、パフォーマンス上の問題を引き起こすことがあります。
- ランタイムに追加の WebSphere eXtreme Scale コンテナーを使用するよう構成できます。 これによって、キャッシュ容量が増加し、DRS を使用する際に発生することのあるパフォーマンスの問題を防止できます。 WebSphere eXtreme Scale は、新しいコンテナーがグリッドに追加されると、区画を自動的に再配分します。
- デフォルトのキャッシュ・プロバイダーよりも優れた、キャッシングのサービス品質および制御品質を提供します。
- 従来からある動的キャッシュと同じランタイム・モニターおよび管理ツールを使用します。 これらのツール (キャッシュ・モニターや動的キャッシュ・ランタイム MBean) は、動的キャッシュが WebSphere eXtreme Scale 上で実行されている場合でも、従来からある動的キャッシュで使用された場合と同じように動作します。
デフォルトのキャッシュ・プロバイダーと WebSphere eXtreme Scale 動的キャッシュ・プロバイダーとの機能的な相違点
- WebSphere eXtreme Scale 動的キャッシュ・プロバイダーでは、 すべてのキャッシュ・データがメモリー内に保持されるため、ディスク・キャッシュのサポートは含まれていません。 したがって、ディスク・キャッシングに関するカスタム・プロパティーはサポートされていません。
- WebSphere eXtreme Scale 動的キャッシュ・プロバイダーは、以下のフィーチャーをサポートしていません。
- DistributedNioMap - skipMemoryAndWriteToDisk
- DistributedMap および DistributedNioMap 別名
- 依存 ID またはテンプレートの使用不可化
- WebSphere eXtreme Scale 動的キャッシュ・プロバイダーは、DRS スタイルの複製をサポートしません。
したがって、DRS のカスタム・プロパティーはサポートされていません。
WebSphere eXtreme Scale 動的キャッシュ・プロバイダーを使用する場合、複製構成は WebSphere eXtreme Scale のデプロイメントおよび定義ファイルによって制御されます。 複製について詳しくは、WebSphere eXtreme Scale バージョン 7 インフォメーション・センターで、 WebSphere eXtreme Scale の動的キャッシュ・プロバイダーの構成のトピックを参照してください。
- NIO バッファー管理のために byteBuffer を解放するための DistributedNioMapObject.release() は呼び出されません。
- WebSphere eXtreme Scale 動的キャッシュ・プロバイダーの PMI サポートは限定的です。 一部の PMI カウンターおよび MBean カウンターはもう有効ではありません。詳しくは、 WebSphere eXtreme Scale バージョン 7 インフォメーション・センターで、 WebSphere eXtreme Scale の動的キャッシュ・プロバイダーの構成のトピックを参照してください。
- 何らかのイベントが発生するたびに、ObjectGrid は常に sourceOfInvalidation を REMOTE に設定します。
- 使用しているキャッシュ・プロバイダーに関係なく、DynaCache API を使用してイベント・リスナーを登録できます。 ただし、WebSphere eXtreme Scale 動的キャッシュ・プロバイダーが使用されている場合のイベント・リスナーの動作は、 ローカルのメモリー内キャッシュに対して予期されるような動作になります。 同一場所にある複数のコンテナーが使用されている場合、イベントがスローされるのは、イベントの原因となった要求が処理されるマシンであり、 要求の発生元のマシンではありません。 例えば、無効化要求がサーバー A で発行され、 無効化されるキャッシュ・エントリーが実際はサーバー B に保管される場合、イベントはサーバー B で発生します。デフォルトの動的キャッシュ・プロバイダーでは、このイベントはサーバー A で発生します。スタンドアロンのコンテナーが使用されているときは、DynaCache イベント・リスナー API を通して発生するイベントはありません。
動的キャッシュ・サービスに関する主要な概念
サーブレット、コマンド、Web サービス、および JavaServer Pages (JSP) ファイルの出力を キャッシュに入れてパフォーマンスを向上させる、動的キャッシュ・サービスに関連した主要な概念について説明します。
- キャッシュ・インスタンス
- アプリケーションは、キャッシュ・インスタンスを使用して、動的キャッシュ内でデータ・オブジェクトを保管、取得および共有します。
- 動的キャッシュ・サービスを使用したパフォーマンスの改善
- サーブレット、コマンドおよび JavaServer Pages (JSP) の出力のキャッシングであり、 アプリケーションのパフォーマンスを改善します。 WebSphere® Application Server は、サーブレット、Web サービス、WebSphere コマンドなどの 複数のキャッシング・アクティビティーを、動的キャッシュという 1 つのサービスにまとめています。これらのキャッシング・アクティビティーをまとめることでアプリケーションのパフォーマンスは向上し、アプリケーション・サーバーの動的キャッシュ・サービスで設定する、多くの構成パラメーターを共有することができます。
- WebSphere eXtreme Scale 動的キャッシュ・プロバイダーを使用するための動的キャッシュ構成
- WebSphere eXtreme Scale を使用するよう動的キャッシュ・サービスを構成すると、既存の動的キャッシュのキャッシング・コードを変更せずに、 トランザクションのサポート、スケーラビリティーの改善、高可用性、およびその他の WebSphere eXtreme Scale フィーチャーを活用することができます。
- サーブレット・キャッシングの構成
- サーブレットが呼び出されて、キャッシュされる出力が生成されると、出力およびサーブレットの副次作用を含むキャッシュ・エントリーが作成されます。 これらの副次作用には、他のサーブレットへの呼び出し、JavaServer Pages (JSP) ファイル、またはタイムアウトおよび項目優先順位情報を含む項目についてのメタデータが含まれる場合があります。
- ポートレット・フラグメントのキャッシュの構成
- ポートレットが呼び出されて、キャッシュへの出力を生成すると、出力およびポートレットの副次作用を含む キャッシュ・エントリーが作成されます。これらの副次作用には、他のポートレットへの呼び出し、またはタイムアウトおよび項目優先順位情報を含む項目についてのメタデータが含まれる場合があります。
- ディスク・キャッシュ・ガーベッジ・コレクターを使用する除去ポリシー
- ディスク・キャッシュ・ガーベッジ・コレクターは、 指定された除去ポリシーに基づいてディスク・キャッシュからオブジェクトを除去します。
- JAX-RPC Web サービス・クライアント・キャッシュを構成します。
- Web サービス・クライアント・キャッシュは、動的キャッシュ・サービスの一部であり、リモート Web サービスからの応答をキャッシュに入れて、 Web サービス・クライアントのパフォーマンスを高めるために使用されます。
- キャッシュ・モニター
- キャッシュ・モニターは、 動的キャッシュの現行状態をリアルタイムで表示する、 インストール可能な Web アプリケーションです。 これを使用して、 動的キャッシュが期待どおりに動作しているかどうかを確認できます。 キャッシュ内のデータは、このキャッシュ・モニターを使用することによってのみ操作可能です。キャッシュ・モニターには、データを手動で変更するための GUI インターフェースが用意されています。
- 無効化リスナー
- 無効化リスナーのメカニズムでは、キャッシュから内容が除去されたときにアプリケーションに通知するために、Java イベントが使用されます。