CDN缓存命中率分析

在CDN中缓存的内容可减少网站用户遇到的延迟,这些用户无需等待请求返回Apache/Dispatcher或AEM发布。 考虑到这一点,优化CDN缓存命中率以最大限度地增加CDN可缓存的内容量是值得的。

了解如何分析提供的AEMas a Cloud Service CDN日志 并获得以下见解 缓存命中率、和 的热门URL 小姐通过 缓存类型,以进行优化。

CDN日志以JSON格式提供,其中包含各种字段,包括 urlcache. 欲了解更多信息,请参见 CDN日志格式. 此 cache 字段提供有关 缓存的状态 其可能值包括HIT、MISS或PASS。 让我们查看可能值的详细信息。

缓存状态
可能值
描述
点击
请求的数据为 在CDN缓存中找到,无需进行获取 向AEM服务器发出请求。
小姐
请求的数据为 在CDN缓存中找不到,必须请求 从AEM服务器。
通过
请求的数据为 明确设置为不缓存 并始终从AEM服务器中检索。

在本教程中, AEM WKND项目 部署到AEMas a Cloud Service环境,并通过触发小规模性能测试 Apache JMeter.

本教程旨在引导您完成以下过程:

  1. 通过Cloud Manager下载CDN日志
  2. 通过分析这些CDN日志,可通过两种方法执行该操作:本地安装的仪表板或远程访问的Splunk或Jupityer Notebook(适用于许可Adobe Experience Platform的用户)
  3. 优化CDN缓存配置

下载CDN日志

要下载CDN日志,请执行以下步骤:

  1. 登录Cloud Manager,网址为 my.cloudmanager.adobe.com 并选择您的组织和项目。

  2. 对于所需的AEMCS环境,选择 下载日志 从省略号菜单中。

    下载日志 — Cloud Manager {width="500" modal="regular"}

  3. 下载日志 对话框,选择 Publish 服务,然后单击旁边的下载图标 CDN 行。

    CDN日志 — Cloud Manager {width="500" modal="regular"}

如果下载的日志文件来自 今天 文件扩展名为 .log 否则,对于过去的日志文件,扩展名为 .log.gz.

分析下载的CDN日志

要获得诸如缓存命中率以及MISS和PASS缓存类型的顶级URL等见解,请分析下载的CDN日志文件。 这些见解有助于优化 CDN缓存配置 并提升站点性能。

要分析CDN日志,本教程提供了三个选项:

  1. Elasticsearch、Logstash和Kibana (ELK):和 埃尔克仪表板工具 可以在本地安装。
  2. Splunk:和 Splunk仪表板工具 需要访问Splunk和 AEMCS日志转发已启用 摄取CDN日志。
  3. Jupyter Notebook:可作为的一部分远程访问 Adobe Experience Platform 适用于已获得Adobe Experience Platform许可的客户,无需安装其他软件。

选项1:使用ELK仪表板工具

麋鹿栈栈 是一套工具,可提供用于搜索、分析和可视化数据的可扩展解决方案。 它由Elasticsearch、Logstash和Kibana组成。

要确定关键详细信息,请使用 AEMCS-CDN-Log-Analysis-Tooling 项目。 此项目提供了ELK栈栈的Docker容器和预配置的Kibana仪表板来分析CDN日志。

  1. 请按照中的步骤进行操作 如何设置ELK Docker容器 并确保导入 CDN缓存命中率 Kibana仪表板。

  2. 要识别CDN缓存命中率和顶级URL,请执行以下步骤:

    1. 将下载的CDN日志文件复制到特定于环境的日志文件夹中,例如, ELK/logs/stage.

    2. 打开 CDN缓存命中率 单击左上角以仪表板 导航菜单> Analytics >功能板> CDN缓存命中率.

      CDN缓存命中率 — Kibana功能板 {width="500" modal="regular"}

    3. 从右上角选择所需的时间范围。

      时间范围 — Kibana仪表板 {width="500" modal="regular"}

    4. CDN缓存命中率 报告面板的含义一目了然。

    5. 请求分析总数 部分显示以下详细资料:

      • 按高速缓存类型列出的高速缓存比率
      • 按缓存类型列出的缓存计数

      请求分析总数 — Kibana仪表板 {width="500" modal="regular"}

    6. 按请求或Mime类型分析 显示以下详细信息:

      • 按高速缓存类型列出的高速缓存比率
      • 按缓存类型列出的缓存计数
      • 主要缺失和通过URL

      按请求或Mime类型分析 — Kibana仪表板 {width="500" modal="regular"}

按环境名称或项目ID筛选

要按环境名称筛选摄取的日志,请执行以下步骤:

  1. 在“CDN缓存命中率”功能板中,单击 添加筛选器 图标。

    过滤器 — Kibana仪表板 {width="500" modal="regular"}

  2. 添加筛选器 模式中,选择 aem_env_name.keyword 字段,并且 is 运算符和所需的环境名称,最后点击 添加筛选器.

    添加筛选器 — Kibana仪表板 {width="500" modal="regular"}

按主机名筛选

要按主机名过滤摄取的日志,请执行以下步骤:

  1. 在“CDN缓存命中率”功能板中,单击 添加筛选器 图标。

    过滤器 — Kibana仪表板 {width="500" modal="regular"}

  2. 添加筛选器 模式中,选择 host.keyword 字段,并且 is 运算符,并为下一个字段提供所需的主机名,最后点击 添加筛选器.

    主机过滤器 — Kibana功能板 {width="500" modal="regular"}

同样,根据分析要求向功能板添加更多过滤器。

选项2:使用Splunk操控板工具

Splunk 是一个常用的日志分析工具,可帮助汇总、分析日志和创建可视化图表以进行监控和故障排除。

要确定关键详细信息,请使用 AEMCS-CDN-Log-Analysis-Tooling 项目。 此项目提供了一个Splunk功能板来分析CDN日志。

  1. 请按照中的步骤进行操作 适用于AEMCS CDN日志分析的Splunk功能板 并确保导入 CDN缓存命中率 Splunk仪表板。

  2. 如果需要,请更新 索引、源类型及其他 Splunk仪表板中的筛选值。

    Splunk功能板 {width="500" modal="regular"}

NOTE
splunk操控板中的UI和图形与ELK操控板不同,但关键细节是相似的。

选项3:使用Jupyter Notebook

对于那些不愿意在本地安装软件的用户(即上一节中的ELK功能板工具),还有一个选项,但需要拥有Adobe Experience Platform的许可证。

Jupyter Notebook 是一个开源Web应用程序,通过它,可创建包含代码、文本和可视化图表的文档。 它用于数据转换、可视化和统计建模。 可以远程访问 作为Adobe Experience Platform的一部分.

下载交互式Python笔记本文件

首先,下载 AEM-as-a-CloudService - CDN日志分析 — Jupyter Notebook 文件,这将有助于CDN日志分析。 这个“交互式Python笔记本”文件不言自明,但每个部分的关键亮点包括:

  • 安装其他库:安装 termcolortabulate Python库。
  • 加载CDN日志:使用以下方式加载CDN日志文件 log_file 变量值;请确保更新其值。 它还会将此CDN日志转换为 熊猫数据帧.
  • 执行分析:第一个代码块是 显示总计、HTML、JS/CSS和图像请求的分析结果;它提供缓存命中率百分比、条形图和饼图。
    第二个代码块是 HTML、JS/CSS和图像的5大未命中请求和传递请求URL;它以表格式显示URL及其计数。

运行Jupyter Notebook

接下来,在Adobe Experience Platform中运行Jupyter Notebook,请执行以下步骤:

  1. 登录到 Adobe Experience Cloud,在主页中> 快速访问 部分>单击 Experience Platform

    Experience Platform {width="500" modal="regular"}

  2. 在Adobe Experience Platform主页>数据科学部分中,单击 Notebooks 菜单项。 要启动Jupyter Notebooks环境,请单击 JupyterLab 选项卡。

    笔记本日志文件值更新 {width="500" modal="regular"}

  3. 在JupyterLab菜单中,使用 上载文件 图标,上传下载的CDN日志文件并 aemcs_cdn_logs_analysis.ipynb 文件。

    上传文件 — JupyteLab {width="500" modal="regular"}

  4. 打开 aemcs_cdn_logs_analysis.ipynb 通过双击保存文件。

  5. 加载CDN日志文件 笔记本部分,更新 log_file 值。

    笔记本日志文件值更新 {width="500" modal="regular"}

  6. 要运行选定的单元格并前进,请单击 播放 图标。

    笔记本日志文件值更新 {width="500" modal="regular"}

  7. 运行 显示总计、HTML、JS/CSS和图像请求的分析结果 代码单元格中,输出显示缓存命中率百分比、条形图和饼图。

    笔记本日志文件值更新 {width="500" modal="regular"}

  8. 运行 HTML、JS/CSS和图像的5大未命中请求和传递请求URL 代码单元格中,输出显示前5个未命中和通过请求URL。

    笔记本日志文件值更新 {width="500" modal="regular"}

您可以增强Jupyter Notebook以根据您的要求分析CDN日志。

优化CDN缓存配置

在分析CDN日志后,您可以优化CDN缓存配置以提高站点性能。 AEM最佳实践是使缓存命中率达到90%或更高。

有关更多信息,请参阅 优化CDN缓存配置.

AEM WKND项目具有参考CDN配置,有关更多信息,请参阅 CDN配置wknd.vhost 文件。

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69