【問題/事象】
Dispatcherのキャッシュが想定外のタイミングや頻度で更新されているときに、どのように調査を進めるかをご説明します。
【環境】
AEM as a Cloud Service, AEM 6.5
【解決手順または回避手順】
コンテンツ公開時、AEMはキャッシュ無効化リクエスト(GET /dispatcher/invalidate.cache)をDispatcherに送ります。この後でDispatcherにコンテンツへのリクエストが来ると、Dispatcherはキャッシュを更新します。
これを念頭に、キャッシュ無効化リクエストとコンテンツへのアクセスタイミングをログから抽出し、規則性を探します。
Dispatcherのaccess_log
127.0.0.1 - - [07/Jun/2022:13:44:35 +0900] "GET /dispatcher/invalidate.cache HTTP/1.1" 200 13 "about:blank" "Jakarta Commons-HttpClient/3.1"
Dispatcherのdispatcher.log
[07/Jun/2022:13:44:35 +0900] "GET /dispatcher/invalidate.cache HTTP/1.1" 200 purge [publish/-] 0ms
Publishのerror.log
07.06.2022 13:44:35.750 *INFO* [sling-threadpool-f158f7aa-d59d-4d34-9bfa-be84a03a917f-(apache-sling-job-thread-pool)-1-com_day_cq_replication_job_flush(com/day/cq/replication/job/flush)] com.day.cq.replication.Agent.flush Sending GET request to http://localhost:80/dispatcher/invalidate.cache
...
07.06.2022 13:44:35.758 *INFO* [sling-threadpool-f158f7aa-d59d-4d34-9bfa-be84a03a917f-(apache-sling-job-thread-pool)-1-com_day_cq_replication_job_flush(com/day/cq/replication/job/flush)] com.day.cq.replication.Agent.flush Replication (ACTIVATE) of /content/we-retail/us/en/products successful.
【原因】
典型的な要因をいくつかご紹介します。
・想定外のパスのキャッシュが頻繁に更新される場合
キャッシュ無効化リクエストの対象ではないパスのキャッシュが頻繁に更新されるときは、Dispatcher設定で/statfileslevelの値が小さすぎるかもしれません。
dispatcher.anyで/statfileslevelがコメントアウトされているときは0と見なします。
/statfileslevelが0のとき、コンテンツを公開すると、そのパスに関係なくすべてのキャッシュが無効化されます。
詳細は関連マニュアルをご覧ください。
https://experienceleague.adobe.com/docs/experience-manager-dispatcher/using/configuring/dispatcher-c...
・想定外のところからキャッシュ無効化リクエストを受けている場合
Dispatcher設定でキャッシュ無効化リクエストを受け付けるアクセス元の指定に問題があるかもしれません。
dispatcher.anyで/allowedClientsを確認してください。
・キャッシュ無効化リクエストが全くない場合
Dispatcher設定ファイルで時間によるキャッシュ無効化を設定しているかもしれません。
dispatcher.anyに/enableTTL "1"という記載があれば該当します。
<留意事項>
・上記は以下記事の抄訳/翻訳となります。
KB記事タイトル(英語). Adobe Experience Manager: Dispatcher cache files are updated unexpectedly, June 30, 2022, https://experienceleague.adobe.com/docs/experience-cloud-kcs/kbarticles/KA-19985.html, (参照 2022-07-07).
・本記事にいただいたコメントへの返信はお約束できません。あらかじめご了承ください。