ヘッダーをスキップ
Oracle® Fusion Middleware WebCenter Sites管理者ガイド
11gリリース1 (11.1.1.8.0)
E49682-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

27 inCacheフレームワーク

Oracle WebCenter SitesとSatellite Serverには、inCacheフレームワーク(または単純にinCache)と呼ばれるキャッシング・システムが付属しています。このシステムは、Terracotta社によるオープン・ソースで標準ベースの製品であるEhcacheの上に構築されています。従来の方法によるデータベースへのキャッシングと比べて、inCacheでは、Webサイト・パフォーマンスが向上しています。この章では、inCacheフレームワークの概要を説明します。

この章は、次の項で構成されています。

27.1 inCacheとは

inCacheは高パフォーマンス、メモリーベースのページおよびアセット・キャッシング・システムで、これを使用すると、Oracle WebCenter Sitesのデータを中央の共有リポジトリや共有ファイル・システムにキャッシュする必要がなくなります。inCacheは、Terracotta社によるオープン・ソースのJavaキャッシング・フレームワークであるEhcacheに基づいており、任意のキャッシング・システム上に実装できます。(Ehcacheの詳細は、 http://ehcache.org/を参照してください。)

inCacheフレームワークは、レガシーのページ・キャッシング・フレームワークに置き換わるものです。inCacheでは、デフォルトでアセットのキャッシングもサポートしています。inCacheフレームワークでは、次のような利点が得られます。

この章では、主にページ・キャッシングについて説明します。全体を通して、ページは、ページ・アセットではなくレンダリングされるページを意味する用語として使用されています。アセットのキャッシングについでの説明を理解するには、まずこの章の残りの部分を読むことをお薦めします。特に、第27.2項「inCacheの仕組み」をよく読んで、キャッシュ・コンテナに関する基本知識と、これらが相互機能する仕組みについて理解してください。

27.2 inCacheの仕組み

クラスタ化された環境では、inCacheはクラスタのデータベースの外側の分散化されたアーキテクチャに実装されます。図27-1「ローカル・キャッシュ」に示すように、各ノードにはそれぞれ独自のローカル・キャッシュがあります。各Oracle WebCenter Sitesノードは、他のOracle WebCenter Sitesノードからのブロードキャストをリスニングすることで、ローカル・キャッシュを最新に保ち、HTTPを介してリモートのSatellite Serverに更新を伝達します。

図27-1 ローカル・キャッシュ

図27-1の説明が続きます
「図27-1 ローカル・キャッシュ」の説明

ノードのローカル・キャッシュはパーティションで区切られています。

WebCenter SitesとSatellite Serverは同じキャッシング・フレームワークを使用していますが、1つだけ大きく異なる点があります。これは、Satellite Serverノードは、HTTPを介してWebCenter Sitesノードと通信しているという点です。


注意:

pageByQueryキャッシュがページ・キャッシングのみに使用される場合は、このキャッシュがキャッシュ・コンテナの動作方法を示します。アセット・キャッシングの場合、inCacheフレームワークではAssetCacheと呼ばれるよく似たコンテナが導入されています。これはpageByQueryと同じような方法で機能し、前述のように、dependencyRepositoryおよびnotifierキャッシュと相互作用します。アセット・キャッシングの詳細は、第29章「inCacheによるアセットのキャッシング」を参照してください。


27.3 ノードの再起動

WebCenter SitesノードまたはSatellite Serverノードがシャットダウンした場合、そのキャッシュ内のデータは保持されますが、アクティブなノードは引き続きアセットを無効化しているので、すぐにデータが古いものになってしまう可能性があります。このため、ノードを再起動するにはキャッシュの更新が必要になります。再起動時の更新は共通の無効化メモリーによって確実に実行されます。これはWebCenter Sitesクラスタのデータベースに表として格納され、クラスタ内のすべてのノードが再起動時に使用できるように保持されています。この表の名前は、FW_InvalidationMemoryです。

無効化メモリーにはアセットの無効化のレコードが格納されます。具体的に言えば、コンテンツ管理やパブリッシュ・プロセスの実行中に変更または削除されたアセットの識別子です。表の拡大は、タイマーベースのクリーンアップ・メカニズムによってチェックされます。これは15分間隔で実行され、最も古い期間の無効化レコードを消去します。

ノードは再起動時に、非アクティブであった期間に欠落した情報をリカバリしようとして、無効化メモリーを参照します。

リモートのSatellite Serverは、WebCenter Sitesに更新を求めるリクエストを送信することによって失った情報を、再起動時に取得します。

27.4 リアルタイム・パブリッシュ時のページの再生成

inCacheを有効にすると、リアルタイム・パブリッシュ・プロセス用のdonotregenerateフラグが無効になります。このフラグが認識されなくなるので、リアルタイム・パブリッシュ・セッション時のページの再生成には、クロールが使用されます。クロールは計算コストの高くつくオプションです。これを実装していなければ、ページはリクエスト時のみ再生成されます。

クロール・オプションでは、WebCenter Sitesのページ・リジェネレータによって分析される一連のURLを指定する必要があります。通常、これらはホームページやその他のトラフィックの多いページのURLです。さらに、これらのページのクロール深度を指定することもできます。たとえば、深度1では指定したページとそれらのページのリンク先のページがクロールされ、深度0では指定したページのみがクロールされます。クロールされるページは、そのコンポーネント・アセットがパブリッシュ・セッション時に無効化された場合か、それらのページがキャッシュされていない場合のみ再生成されます。指定したページ上のすべてのページレットがプロセス内で再生成されます。

クロールするURLのリストとクロールの深度は、FW_RegenCriteria表で指定する必要があります。この表は、inCacheの構成後の最初のパブリッシュ・セッション時に配信システム上に作成されます。ft_ssパラメータをURLに含むことで、リクエストをWebCenter Sitesで直接処理するのか、リモートのSatellite Serverによって処理するのかを指定できます。inCacheの構成方法とページの再生成については、第28章「inCacheによるページのキャッシング」を参照してください。

27.5 ダブルバッファ・キャッシング

WebCenter Sitesのダブルバッファによるページ・キャッシング方法では、ライブWebサイト上でWebCenter SitesとSatellite Serverのキャッシュを連結させて使用します。ダブル・バッファリングでは、ページが常にWebCenter SitesかSatellite Serverのいずれかのキャッシュ内に保持され、ページ・リクエストの過負荷からWebCenter Sitesを保護し、ライブWebサイトで空白ページやリンク切れが表示されないようにします。

inCacheフレームワークで従来のシステムのダブルバッファ・キャッシングを維持するために、HTTPリクエストを介してリモートのSatellite ServerはWebCenter Sitesと通信を続けるようになっています。Satellite Serverはこれまでどおりの方法で、HTTPリクエストを介してページ・データを読み取ってキャッシュします。ただし、ページ・データには、アセット識別子のカンマ区切りのリスト形式で依存性情報が含まれるようになり、この情報はリモートのSatellite Serverにもストリームされます。

27.6 リモートのSatellite ServerのinCache機能

リモートのSatellite Serverは、ページ・キャッシングのみで使用されます。これは、ページ伝播やバックグラウンドでのページ再生成など、高度な機能をサポートするように構成できます。

この項は、次のトピックで構成されています。

27.6.1 ページ伝播

ページ伝播オプションによって、すべてのWebCenter SitesノードとSatellite Serverノードが同じページをホストできるようになり、それぞれのノードがページを再生成する必要がなくなります。データベースを参照してページを再生成するかわりに、ノードは新しく生成および再生成されたページを、ページが(再)生成およびキャッシュされたノードからローカル・キャッシュに受信します。ページのキャッシングによって伝播が引き起こされます。ページ伝播の構成方法については、第28章「inCacheによるページのキャッシング」を参照してください。

27.6.2 バックグラウンドでのページの再生成

リモートのSatellite Serverは、無効化されたページレットを提供する一方で、これがバックグラウンド・プロセスで再生成されるように構成できます。詳細は、第28.3.4項「バックグラウンドでページレットを再生成するための構成」を参照してください。

27.7 要約

inCacheフレームワークでは、パフォーマンスが大幅に向上しています。ノードはキャッシュをディスク上に保持し、障害からリカバリできます。分散化アーキテクチャによってボトルネックが防止されます(ただし、キャッシュ・アイテムの中央リポジトリが存在しないので、すべてのキャッシュの全体状況の確認が難しくなる可能性はあります)。ページ伝播によって、ページを再生成する必要がなくなり、バックグラウンドでのページの再生成によって、リモートのSatellite Serverは置き換えページの生成中でもページを引き続き提供できます。

この新しいフレームワークでは、リアルタイム・パブリッシュ用のdonotregenerateフラグが無効になります。パブリッシュ・セッション中に再生成する必要があるページは、FW_RegenCriteria表で指定する必要があります。それ以外の場合、ページはリクエスト時に再生成されます。

27.8 次の手順

ページ・キャッシングと構成方法の詳細は、第28章「inCacheによるページのキャッシング」を参照してください。この章には、ディスクのストライプ化、リアルタイム・パブリッシュ時にページ再生成を実行可能にする方法、ページ伝播の設定、バックグラウンドでのページ再生成の構成、従来のシステムのページ・キャッシングに戻す方法といったオプションに関する情報が含まれています。

アセットのキャッシングについては、第29章「inCacheによるアセットのキャッシング」を参照してください。