Output のキャッシュの構成 configuring-caching-for-output

Output サービスは、XML フォームデータを、Designer で作成されたフォームデザインとマージして、様々な形式のドキュメント出力ストリームを作成します。

管理コンソールの Output ページには、Output サービスがアイテムをキャッシュする方法を制御する設定が含まれています。 これらの設定を調整して、Output サービスのパフォーマンスを最適化できます。

Output サービスは、次のアイテムをキャッシュします。

  • フォームデザイン: Output サービスは、リポジトリまたは HTTP ソースから取得したフォームデザインをキャッシュします。このキャッシュにより、以降のレンダリング要求では、Output サービスはリポジトリではなくキャッシュからフォームデザインを取得するようになり、パフォーマンスが向上します。
  • フラグメントおよび画像: Output サービスは、フォームデザインで使用されるフラグメントと画像をキャッシュできます。Output サービスがこれらのオブジェクトをキャッシュすると、フラグメントと画像は最初の要求時にリポジトリから読み取られるだけになるので、パフォーマンスが向上します。

Output では、次の 2 つの場所にキャッシュが保存されます。

  • メモリ内: アイテムは、すばやくアクセスできるようにメモリに保存されます。 メモリ内キャッシュのサイズは制限されており、サーバーを再起動すると削除されます。
  • ディスク上: アイテムは、サーバーのファイルシステムに保存されます。 ディスクキャッシュは、メモリ内キャッシュよりも大きな容量を持ち、サーバーを再起動しても保持されます。 ディスクキャッシュの場所は、アプリケーションサーバーによって異なります。 ディスクキャッシュの場所の変更については、 Output のファイルの場所を指定.

キャッシュモードの指定 specifying-the-cache-mode

Output では、次の 2 つのキャッシュモードがサポートされています。

  • 無条件の
  • キャッシュチェックポイントの使用

キャッシュモードを切り替えた場合、変更を有効にするには、Output サービスを再起動します。 このサービスを再起動するには、Workbench を使用するか、 AEM forms モジュールに関連付けられたサービスを開始または停止します 」を参照してください。

モードを切り替えると、キャッシュのチェックポイント時間が自動的にリセットされます。

無条件キャッシュの使用 using-unconditional-caching

このモードでは、Output サービスは要求を受け取ると、必要なリソース(フォームデザインおよびフラグメントや画像などの関連アセット)を検証します。 Output サービスは、リポジトリ内のリソースのタイムスタンプと、キャッシュ内のリソースのタイムスタンプを比較します。 キャッシュ内のリソースが古い場合は、Output サービスによって更新されます。

このキャッシュモードでは、最新のリソースが確実に使用されます。 ただし、Output サービスはキャッシュされた項目をリクエストごとにリポジトリに対して検証するので、パフォーマンスが影響を受けます。 このキャッシュモードは、リソースが頻繁に更新され、パフォーマンスが主な問題とならない開発環境やステージング環境に適しています。

無条件キャッシュの指定

  1. 管理コンソールで、サービス/Output をクリックします。
  2. 「出力キャッシュコントロールの設定」で、「無条件」を選択し、「保存」をクリックします。

キャッシュのチェックポイントを使用 use-the-cache-check-point

このモードでは、Output サービスは、キャッシュされたリソースのタイムスタンプがキャッシュのチェックポイント時間よりも古い場合にのみ、リポジトリーで新しいバージョンのリソースを確認します。 前回のキャッシュのチェックポイント時間は、管理コンソールの Output ページに表示されます。

パフォーマンスが問題となり、リソースの変更が頻繁でない、高パフォーマンスの実稼動環境で、このキャッシュモードを使用します。 リポジトリリソースに加えた変更をデプロイする場合は、キャッシュのチェックポイント時間をリセットできます。

キャッシュチェックポイントの使用を指定する

  1. 管理コンソールで、サービス/Output をクリックします。
  2. 「出力キャッシュ制御設定」で、最後の検証がキャッシュのチェックポイント時間より前に行われた場合にのみ選択し、「保存」をクリックします。

キャッシュのチェックポイントをリセット

  1. 管理コンソールで、サービス/Output をクリックします。
  2. [ 出力キャッシュ制御の設定 ] で、[ キャッシュチェックポイント ] をクリックします。

キャッシュの内容をリセット reset-the-cache-contents

キャッシュの内容は、いつでもクリアできます。 キャッシュがリセットされると、Output サービスは完全なレンダリングを実行して新しいキャッシュコンテンツを作成するので、各フォームの最初のリクエストは遅くなります。

  1. 管理コンソールで、サービス/Output をクリックします。
  2. [ 出力キャッシュ制御の設定 ] で、[ キャッシュのリセット ] をクリックします。

キャッシュ設定の指定 configuring-cache-settings

Output でキャッシュに使用する設定を指定できます。この設定により、AEM forms 環境のパフォーマンスを最適化できます。

これらの設定にアクセスするには、管理コンソールで、サービス/Output をクリックします。

NOTE
キャッシュのディスク要件は、リポジトリと同じである必要があります。

グローバルキャッシュ設定の指定 specifying-global-cache-settings

設定 ( グローバルキャッシュ設定 領域は、すべてのタイプのキャッシュに影響を与えます。 これらの設定のいずれかを変更した場合、変更を有効にするには、Output サービスを再起動します。 このサービスを再起動するには、Workbench を使用するか、 AEM forms モジュールに関連付けられたサービスを開始または停止します 」を参照してください。

最大キャッシュドキュメントサイズ(KB): ​任意のメモリ内キャッシュに保存できるフォームデザインまたはその他のリソースの最大サイズ(キロバイト単位)です。これは、すべてのインメモリキャッシュに適用されるグローバル設定です。 リソースがこの値より大きい場合、そのリソースはメモリにキャッシュされません。 デフォルト値は 1024 キロバイトです。この設定は、ディスクキャッシュには影響しません。

フォームレンダリングキャッシュが有効です: ​デフォルトでは、このオプションが選択されており、レンダリングされたフォームが以降の取得のためにキャッシュされます。この設定は、非インタラクティブドキュメントをキャッシュしないので、Output サービスのパフォーマンスにはほとんど影響しません。 このオプションは、クライアントでレンダリングされる非インタラクティブドキュメントに対して Output サービスを使用する場合に有効です。

フォームデザインのキャッシュ caching-form-designs

Output サービスは、レンダリング要求を受け取ると、リポジトリまたは HTTP ソースからフォームデザインを取得してキャッシュします。 このキャッシュにより、以降のレンダリング要求では、Output サービスはリポジトリではなくキャッシュからフォームデザインを取得するようになり、パフォーマンスが向上します。

Output サービスは、常にフォームデザインをディスク上にキャッシュします。 フォームデザインがサーバー上に保存されている場合、これらのファイルはディスクキャッシュと見なされます。 また、Output サービスは、 メモリ内テンプレートキャッシュ 領域。 これらの設定のいずれかを変更した場合、変更を有効にするには、Output サービスを再起動します。 このサービスを再起動するには、Workbench を使用するか、 AEM forms モジュールに関連付けられたサービスを開始または停止します 」を参照してください。

テンプレート設定キャッシュサイズ: ​メモリに保持するテンプレート設定オブジェクトの最大数です。デフォルト値は 100 です。この値は、「テンプレートキャッシュサイズ」の値以上に設定することをお勧めします。 この設定は、ディスクキャッシュには影響しません。

テンプレートキャッシュサイズ: ​メモリ内に保持するテンプレートコンテンツオブジェクトの最大数です。デフォルト値は 100 です。この設定は、ディスクキャッシュには影響しません。

有効: ​デフォルトでは、このチェックボックスが選択されており、フォームテンプレートがメモリ内にキャッシュされます。このオプションを選択しない場合、フォームテンプレートはディスク上にのみキャッシュされます。

フラグメントと画像のキャッシュ caching-fragments-and-images

Output サービスは、フォームデザインで使用されるフラグメントと画像をディスクにキャッシュします。 これにより、フラグメントと画像は最初の要求時にリポジトリから読み取られるだけになるので、パフォーマンスが向上します。 その後のリクエストでは、Output サービスは、ディスクキャッシュからフラグメントと画像を読み取ります。 フラグメントと画像はディスク上にのみキャッシュされ、メモリ内にはキャッシュされません。

次の設定を使用して、フラグメントと画像のディスク上のキャッシュを制御できます。 これらの設定は、 テンプレートリソースキャッシュ設定 領域:

リソースのキャッシュ ​リストから次のいずれかのオプションを選択します。

フラグメントと画像に対して有効にする: Output サービスはフラグメントと画像をキャッシュします。これはデフォルトのオプションです。

フラグメントに対して有効にする: Output サービスはフラグメントをキャッシュしますが、画像はキャッシュしません。

無効: Output サービスは、フラグメントも画像もキャッシュしません。

クリーンアップの間隔(秒単位): Output サービスで無効な古いキャッシュファイルを削除する頻度を指定します。Output サービスは、有効なキャッシュファイルを削除しません。 クリーンアップ間隔を変更した場合、変更を有効にするには、Output サービスを再起動します。 このサービスを再起動するには、Workbench を使用するか、AEM Forms モジュール関連サービスの開始と停止の説明を参照してください。

キャッシュのクラスタリングに関する考慮事項 clustering-considerations-for-caches

クラスタ環境では、各ノードは独自のメモリ内キャッシュとディスクキャッシュを維持します。 各ノードのキャッシュの内容は、そのノードでレンダリングされたフォームに応じて異なります。

キャッシュの場所は、クラスターの各ノードで同じ(同じディスクとパス)である必要があります。 共有ストレージにキャッシュを配置しないでください。

管理コンソールの出力ページを使用して特定のノードのキャッシュ設定を変更すると、リクエストがそのノードに送信されると、他のノードのキャッシュ設定が更新されます。 この動作は、「キャッシュをリセット」ボタンにも当てはまります。 あるノードの [ キャッシュをリセット ] ボタンをクリックすると、そのノードからキャッシュが直ちに削除されます。 リクエストがそのノードに送信されると、他のノードのキャッシュはクリアされます。

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2