Show Menu
トピック×

Forms のキャッシュの構成

Forms サービスは、Designer で作成されたフォームデザインを取得し、様々な形式でレンダリングします。
管理コンソールの Forms ページには、Forms サービスがアイテムをキャッシュする方法を制御する設定が含まれています。これらの設定を調整し、Forms サービスのパフォーマンスを最適化できます。
Forms サービスは次のアイテムをキャッシュします。
  • フォームデザイン: Forms サービスは、リポジトリまたは HTTP ソースから取得したフォームデザインをキャッシュします。このキャッシュにより、以降のレンダリング要求では、Forms サービスはリポジトリではなくキャッシュからフォームデザインを取得するようになるため、パフォーマンスが向上します。
  • フラグメントと画像: Forms サービスは、フォームデザインで使用されるフラグメントと画像をキャッシュできます。Forms サービスがこれらのオブジェクトをキャッシュすると、フラグメントと画像がリポジトリから読み取られるのは初回要求時のみになるので、パフォーマンスが向上します。
  • フォーム: Forms サービスは、レンダリング対象のフォームをキャッシュします。このタイプのキャッシュにより、Forms サービスが以降の要求で同じフォームを解決およびレンダリングする必要がなくなるのでパフォーマンスが向上します。
Forms では、次の 2 つの場所にキャッシュが格納されます。
  • メモリ内: ​すばやくアクセスできるようにメモリ内にアイテムが格納されます。メモリ内キャッシュはサイズに制限があり、サーバーを再起動すると削除されます。
  • ディスク上: ​サーバーのファイルシステムにアイテムが格納されます。ディスクキャッシュはメモリ内キャッシュよりも容量が大きく、サーバーを再起動しても保持されます。ディスクキャッシュの場所はアプリケーションサーバーによって異なります。ディスクキャッシュの場所の変更については、「 Forms の場所の設定 」を参照してください。

キャッシュモードの指定

Forms では、次の 2 つのモードのキャッシュがサポートされています。
  • 無条件
  • キャッシュのチェックポイントの使用
2 つのキャッシュモード間で切り替えを行った場合、変更を有効にするには、Forms サービスを再起動します。このサービスを再起動するには、Workbench を使用するか、「 AEM Forms モジュール関連サービスの開始と停止 」の説明を参照してください。
キャッシュのチェックポイント時間は、モードを切り替えるときに自動的にリセットされます。

無条件キャッシュの使用

このモードでは、Forms サービスは要求を受け取るときに、必要なリソース(フォームデザインおよびフラグメントや画像などの関連アセット)を検証します。Forms サービスは、リポジトリ内のリソースのタイムスタンプとキャッシュ内のリソースのタイムスタンプを比較し、キャッシュ内のリソースの方が古い場合は、そのリソースを更新します。
このキャッシュモードでは、必ず最新のリソースが使用されますが、Forms サービスはキャッシュされたアイテムを要求ごとにリポジトリと比較して検証するので、パフォーマンスが低下します。このキャッシュモードは、リソースが頻繁に更新され、パフォーマンスを重要視しない開発およびステージング環境に適しています。
無条件キャッシュの指定
  1. 管理コンソールで、サービス/Forms をクリックします。
  2. 「フォームキャッシュコントロールの設定」で「無条件」を選択し、「保存」をクリックします。

キャッシュのチェックポイントの使用

このモードでは、Forms サービスは、キャッシュされたリソースのタイムスタンプがキャッシュのチェックポイント時間よりも古い場合にのみ、リポジトリで新しいバージョンのリソースを確認します。最新のキャッシュのチェックポイント時間は、管理コンソールの Forms ページに表示されます。
このキャッシュモードは、パフォーマンスが重視され、リソースに対する変更が頻繁に行われない、高パフォーマンスの実稼働環境で使用します。キャッシュのチェックポイント時間は、リポジトリリソースに対する変更をデプロイするときにリセットできます。
キャッシュのチェックポイント使用の指定
  1. 管理コンソールで、サービス/Forms をクリックします。
  2. 「フォームキャッシュコントロールの設定」で「最後の検証がキャッシュのチェックポイント時間よりも前に行われた場合」を選択し、「保存」をクリックします。
キャッシュのチェックポイントのリセット
  1. 管理コンソールで、サービス/Forms をクリックします。
  2. 「フォームキャッシュコントロールの設定」で、「キャッシュチェックポイント」をクリックします。
キャッシュの内容のリセット
キャッシュの内容はいつでもクリアできます。キャッシュをリセットすると、Forms サービスは完全なレンダリングを実行して新しいキャッシュを作成するので、各フォームでの初回要求時の速度が低下します。
  1. 管理コンソールで、サービス/Forms をクリックします。
  2. 「フォームキャッシュコントロールの設定」で、「キャッシュをリセット」を選択します。

キャッシュ設定の指定

Forms でキャッシュを使用するように設定を指定できます。こうすることにより、お使いの AEM Forms 環境のパフォーマンスを最適化することができます。
これらの設定にアクセスするには、Administration Console で、サービス/Forms をクリックします。
キャッシュのディスク要件は、リポジトリと同じである必要があります。

グローバルキャッシュ設定の指定

グローバルキャッシュ設定 」領域の設定は、すべての種類のキャッシュに影響します。これらの設定のいずれかを変更する場合、その変更を有効にするには、Forms サービスを再起動します。このサービスを再起動するには、Workbench を使用するか、「 AEM Forms モジュール関連サービスの開始と停止 」の説明を参照してください。
キャッシュドキュメントの最大サイズ(KB):任意のメモリ内キャッシュに格納できるフォームデザインまたはその他のリソースの最大サイズ(KB単位)です。 これはすべてのメモリ内キャッシュに適用されるグローバル設定です。リソースのサイズがこの値よりも大きい場合、そのリソースはメモリにキャッシュされません。デフォルト値は 1024 キロバイトです。この設定は、ディスクキャッシュには影響しません。
Form Rendering Cache Enabled:デフォルトでは、このオプションは選択されており、レンダリングされたフォームは以降の取得のためにキャッシュされます。 この設定により、Forms サービスは特定のフォームを一度しかレンダリングする必要がなく、以降はキャッシュされたバージョンを使用するのでパフォーマンスが向上します。このオプションは、フォームデザインの Caching プロパティと連動します。フォームデザインでのこの値の設定について詳しくは、Designer ヘルプを参照してください。

フォームデザインのキャッシュ

Forms サービスはレンダリング要求を受け取ると、リポジトリからフォームデザインを取得してキャッシュします。このキャッシュにより、以降のレンダリング要求では、Forms サービスはリポジトリではなくキャッシュからフォームデザインを取得するようになるため、パフォーマンスが向上します。
Forms サービスは、常にディスク上のフォームデザインをキャッシュします。フォームデザインがサーバー上に格納されている場合、これらのファイルはディスクキャッシュと見なされます。また、Forms サービスは、「 メモリ内テンプレートキャッシュ 」領域の設定に従って、メモリ内のフォームデザインもキャッシュします。これらの設定のいずれかを変更する場合、その変更を有効にするには、Forms サービスを再起動します。このサービスを再起動するには、Workbench を使用するか、「 AEM Forms モジュール関連サービスの開始と停止 」の説明を参照してください。
テンプレート設定キャッシュサイズ:メモリ内に保持するテンプレート設定オブジェクトの最大数です。 デフォルト値は 100 です。この値は、「テンプレートキャッシュサイズ」の値と同じかそれ以上の値に設定することをお勧めします。この設定は、ディスクキャッシュには影響しません。
テンプレートキャッシュサイズ:メモリ内に保持するテンプレートコンテンツオブジェクトの最大数です。 デフォルト値は 100 です。この設定は、ディスクキャッシュには影響しません。
有効:デフォルトでは、このチェックボックスは選択されており、フォームテンプレートはメモリ内にキャッシュされます。 このオプションが選択されていない場合、フォームテンプレートはディスク上にのみキャッシュされます。

レンダリングされたフォームのキャッシュ

Forms サービスは、レンダリングされたフォームをキャッシュします。これにより、以降の要求で同じフォームを解決およびレンダリングする必要がなくなります。レンダリングされたフォームは、ディスク上およびメモリ内の両方にキャッシュされます。
次の設定は、「 メモリ内フォームレンダリングキャッシュ 」領域にあります。これらの設定のいずれかを変更する場合、その変更を有効にするには、Forms サービスを再起動します。このサービスを再起動するには、Workbench を使用するか、「 AEM Forms モジュール関連サービスの開始と停止 」の説明を参照してください。
キャッシュサイズ:メモリ内キャッシュに格納できるレンダリングされたフォームの最大数を指定します。 デフォルト値は 100 です。この設定は、ディスクキャッシュには影響しません。
有効:デフォルトでは、このオプションは選択されており、レンダリングされたフォームはメモリ内にキャッシュされます。 このオプションが選択されていない場合、レンダリングされたフォームはディスク上にのみキャッシュされます。

フラグメントと画像のキャッシュ

Forms サービスは、フォームデザインで使用されるフラグメントと画像をディスク上にキャッシュします。これにより、フラグメントと画像がリポジトリから読み取られるのは初回要求時のみになるのでパフォーマンスが向上します。以降の要求では、Forms サービスは、ディスクキャッシュからフラグメントおよび画像を読み取ります。フラグメントと画像はディスク上にのみキャッシュされます。メモリ内にはキャッシュされません。
ディスク上でのフラグメントおよび画像のキャッシュを制御するには、次の設定を使用します。これらの設定は、「 テンプレートリソースキャッシュ設定 」領域にあります。
リソースキャッシュ :リストから次のいずれかのオプションを選択します。
フラグメントと画像に対して有効にする:Formsサービスはフラグメントと画像をキャッシュします。 これはデフォルトのオプションです。
フラグメントに対して有効にする:Formsサービスはフラグメントをキャッシュしますが、画像はキャッシュしません。
無効:Formsサービスは、フラグメントや画像をキャッシュしません。
クリーンアップ間隔(秒):Formsサービスが無効な古いキャッシュファイルを削除する頻度を指定します。 Forms サービスでは、有効なキャッシュファイルは削除されません。クリーンアップの間隔を変更する場合、その変更を有効にするには、Forms サービスを再起動します。このサービスを再起動するには、Workbench を使用するか、AEM Forms モジュール関連サービスの開始と停止の説明を参照してください。デフォルト値は 600 秒です。

クラスター環境のキャッシュに関する考慮事項

クラスター環境では、ノードごとに独自のメモリ内キャッシュとディスクキャッシュが保持されます。各ノードのキャッシュの内容は、そのノードでレンダリングされているフォームによって異なります。
キャッシュの場所は、クラスターの各ノードで同一(同じディスクおよびパス)である必要があります。共有ストレージにはキャッシュを置かないでください。
管理コンソールの Forms ページを使用して特定のノードのキャッシュ設定を変更すると、そのノードで要求を受け取るときに、他のノードのキャッシュ設定が更新されます。この動作は、「キャッシュをリセット」ボタンにも適用されます。あるノードの「キャッシュをリセット」ボタンをクリックすると、そのノードからは直ちにキャッシュが削除されます。他のノードのキャッシュについては、そのノードで要求を受け取ったときにクリアされます。