Forms サービスは、Designer で作成されたフォームデザインを取得し、様々な形式でレンダリングします。
管理コンソールの Forms ページには、Forms サービスがアイテムをキャッシュする方法を制御する設定が含まれています。これらの設定を調整し、Forms サービスのパフォーマンスを最適化できます。
Forms サービスは次のアイテムをキャッシュします。
Forms では、次の 2 つの場所にキャッシュが格納されます。
Forms では、次の 2 つのモードのキャッシュがサポートされています。
2 つのキャッシュモード間で切り替えを行った場合、変更を有効にするには、Forms サービスを再起動します。このサービスを再起動するには、Workbench を使用するか、「AEM Forms モジュール関連サービスの開始と停止」の説明を参照してください。
キャッシュのチェックポイント時間は、モードを切り替えるときに自動的にリセットされます。
このモードでは、Forms サービスは要求を受け取るときに、必要なリソース(フォームデザインおよびフラグメントや画像などの関連アセット)を検証します。Forms サービスは、リポジトリ内のリソースのタイムスタンプとキャッシュ内のリソースのタイムスタンプを比較し、キャッシュ内のリソースの方が古い場合は、そのリソースを更新します。
このキャッシュモードでは、必ず最新のリソースが使用されますが、Forms サービスはキャッシュされたアイテムを要求ごとにリポジトリと比較して検証するので、パフォーマンスが低下します。このキャッシュモードは、リソースが頻繁に更新され、パフォーマンスを重要視しない開発およびステージング環境に適しています。
無条件キャッシュの指定
このモードでは、Forms サービスは、キャッシュされたリソースのタイムスタンプがキャッシュのチェックポイント時間よりも古い場合にのみ、リポジトリで新しいバージョンのリソースを確認します。最新のキャッシュのチェックポイント時間は、管理コンソールの Forms ページに表示されます。
このキャッシュモードは、パフォーマンスが重視され、リソースに対する変更が頻繁に行われない、高パフォーマンスの実稼働環境で使用します。キャッシュのチェックポイント時間は、リポジトリリソースに対する変更をデプロイするときにリセットできます。
キャッシュのチェックポイント使用の指定
キャッシュのチェックポイントのリセット
キャッシュの内容のリセット
キャッシュの内容はいつでもクリアできます。キャッシュをリセットすると、Forms サービスは完全なレンダリングを実行して新しいキャッシュを作成するので、各フォームでの初回要求時の速度が低下します。
Forms でキャッシュを使用するように設定を指定できます。こうすることにより、お使いの AEM Forms 環境のパフォーマンスを最適化することができます。
これらの設定にアクセスするには、Administration Console で、サービス/Forms をクリックします。
キャッシュのディスク要件は、リポジトリと同じである必要があります。
「グローバルキャッシュ設定」領域の設定は、すべての種類のキャッシュに影響します。これらの設定のいずれかを変更する場合、その変更を有効にするには、Forms サービスを再起動します。このサービスを再起動するには、Workbench を使用するか、「AEM Forms モジュール関連サービスの開始と停止」の説明を参照してください。
最大キャッシュドキュメントサイズ(KB):任意のメモリ内キャッシュに保存できるフォームデザインまたはその他のリソースの最大サイズ(キロバイト単位)です。これはすべてのメモリ内キャッシュに適用されるグローバル設定です。リソースのサイズがこの値よりも大きい場合、そのリソースはメモリにキャッシュされません。デフォルト値は 1024 キロバイトです。この設定は、ディスクキャッシュには影響しません。
フォームレンダリングキャッシュの有効化:デフォルトでは、このオプションが選択されており、レンダリングされたフォームがその後の取得のためにキャッシュされます。この設定により、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 ページを使用して特定のノードのキャッシュ設定を変更すると、そのノードで要求を受け取るときに、他のノードのキャッシュ設定が更新されます。この動作は、「キャッシュをリセット」ボタンにも適用されます。あるノードの「キャッシュをリセット」ボタンをクリックすると、そのノードからは直ちにキャッシュが削除されます。他のノードのキャッシュについては、そのノードで要求を受け取ったときにクリアされます。