CDN缓存命中率分析
在CDN中缓存的内容可减少网站用户遇到的延迟,这些用户无需等待请求返回Apache/Dispatcher或AEM发布。 考虑到这一点,优化CDN缓存命中率以最大限度地增加CDN可缓存的内容量是值得的。
了解如何分析提供的AEMas a Cloud Service CDN日志 并获得以下见解 缓存命中率、和 的热门URL 小姐 和 通过 缓存类型,以进行优化。
CDN日志以JSON格式提供,其中包含各种字段,包括 url
, cache
. 欲了解更多信息,请参见 CDN日志格式. 此 cache
字段提供有关 缓存的状态 其可能值包括HIT、MISS或PASS。 让我们查看可能值的详细信息。
可能值
在本教程中, AEM WKND项目 部署到AEMas a Cloud Service环境,并通过触发小规模性能测试 Apache JMeter.
本教程旨在引导您完成以下过程:
- 通过Cloud Manager下载CDN日志
- 通过分析这些CDN日志,可通过两种方法执行该操作:本地安装的仪表板或远程访问的Splunk或Jupityer Notebook(适用于许可Adobe Experience Platform的用户)
- 优化CDN缓存配置
下载CDN日志
要下载CDN日志,请执行以下步骤:
-
登录Cloud Manager,网址为 my.cloudmanager.adobe.com 并选择您的组织和项目。
-
对于所需的AEMCS环境,选择 下载日志 从省略号菜单中。
{width="500" modal="regular"}
-
在 下载日志 对话框,选择 Publish 服务,然后单击旁边的下载图标 CDN 行。
{width="500" modal="regular"}
如果下载的日志文件来自 今天 文件扩展名为 .log
否则,对于过去的日志文件,扩展名为 .log.gz
.
分析下载的CDN日志
要获得诸如缓存命中率以及MISS和PASS缓存类型的顶级URL等见解,请分析下载的CDN日志文件。 这些见解有助于优化 CDN缓存配置 并提升站点性能。
要分析CDN日志,本教程提供了三个选项:
- Elasticsearch、Logstash和Kibana (ELK):和 埃尔克仪表板工具 可以在本地安装。
- Splunk:和 Splunk仪表板工具 需要访问Splunk和 AEMCS日志转发已启用 摄取CDN日志。
- Jupyter Notebook:可作为的一部分远程访问 Adobe Experience Platform 适用于已获得Adobe Experience Platform许可的客户,无需安装其他软件。
选项1:使用ELK仪表板工具
此 麋鹿栈栈 是一套工具,可提供用于搜索、分析和可视化数据的可扩展解决方案。 它由Elasticsearch、Logstash和Kibana组成。
要确定关键详细信息,请使用 AEMCS-CDN-Log-Analysis-Tooling 项目。 此项目提供了ELK栈栈的Docker容器和预配置的Kibana仪表板来分析CDN日志。
-
请按照中的步骤进行操作 如何设置ELK Docker容器 并确保导入 CDN缓存命中率 Kibana仪表板。
-
要识别CDN缓存命中率和顶级URL,请执行以下步骤:
-
将下载的CDN日志文件复制到特定于环境的日志文件夹中,例如,
ELK/logs/stage
. -
打开 CDN缓存命中率 单击左上角以仪表板 导航菜单> Analytics >功能板> CDN缓存命中率.
{width="500" modal="regular"}
-
从右上角选择所需的时间范围。
{width="500" modal="regular"}
-
此 CDN缓存命中率 报告面板的含义一目了然。
-
此 请求分析总数 部分显示以下详细资料:
- 按高速缓存类型列出的高速缓存比率
- 按缓存类型列出的缓存计数
{width="500" modal="regular"}
-
此 按请求或Mime类型分析 显示以下详细信息:
- 按高速缓存类型列出的高速缓存比率
- 按缓存类型列出的缓存计数
- 主要缺失和通过URL
{width="500" modal="regular"}
-
按环境名称或项目ID筛选
要按环境名称筛选摄取的日志,请执行以下步骤:
-
在“CDN缓存命中率”功能板中,单击 添加筛选器 图标。
{width="500" modal="regular"}
-
在 添加筛选器 模式中,选择
aem_env_name.keyword
字段,并且is
运算符和所需的环境名称,最后点击 添加筛选器.{width="500" modal="regular"}
按主机名筛选
要按主机名过滤摄取的日志,请执行以下步骤:
-
在“CDN缓存命中率”功能板中,单击 添加筛选器 图标。
{width="500" modal="regular"}
-
在 添加筛选器 模式中,选择
host.keyword
字段,并且is
运算符,并为下一个字段提供所需的主机名,最后点击 添加筛选器.{width="500" modal="regular"}
同样,根据分析要求向功能板添加更多过滤器。
选项2:使用Splunk操控板工具
此 Splunk 是一个常用的日志分析工具,可帮助汇总、分析日志和创建可视化图表以进行监控和故障排除。
要确定关键详细信息,请使用 AEMCS-CDN-Log-Analysis-Tooling 项目。 此项目提供了一个Splunk功能板来分析CDN日志。
-
请按照中的步骤进行操作 适用于AEMCS CDN日志分析的Splunk功能板 并确保导入 CDN缓存命中率 Splunk仪表板。
-
如果需要,请更新 索引、源类型及其他 Splunk仪表板中的筛选值。
{width="500" modal="regular"}
选项3:使用Jupyter Notebook
对于那些不愿意在本地安装软件的用户(即上一节中的ELK功能板工具),还有一个选项,但需要拥有Adobe Experience Platform的许可证。
此 Jupyter Notebook 是一个开源Web应用程序,通过它,可创建包含代码、文本和可视化图表的文档。 它用于数据转换、可视化和统计建模。 可以远程访问 作为Adobe Experience Platform的一部分.
下载交互式Python笔记本文件
首先,下载 AEM-as-a-CloudService - CDN日志分析 — Jupyter Notebook 文件,这将有助于CDN日志分析。 这个“交互式Python笔记本”文件不言自明,但每个部分的关键亮点包括:
- 安装其他库:安装
termcolor
和tabulate
Python库。 - 加载CDN日志:使用以下方式加载CDN日志文件
log_file
变量值;请确保更新其值。 它还会将此CDN日志转换为 熊猫数据帧. - 执行分析:第一个代码块是 显示总计、HTML、JS/CSS和图像请求的分析结果;它提供缓存命中率百分比、条形图和饼图。
第二个代码块是 HTML、JS/CSS和图像的5大未命中请求和传递请求URL;它以表格式显示URL及其计数。
运行Jupyter Notebook
接下来,在Adobe Experience Platform中运行Jupyter Notebook,请执行以下步骤:
-
登录到 Adobe Experience Cloud,在主页中> 快速访问 部分>单击 Experience Platform
{width="500" modal="regular"}
-
在Adobe Experience Platform主页>数据科学部分中,单击 Notebooks 菜单项。 要启动Jupyter Notebooks环境,请单击 JupyterLab 选项卡。
{width="500" modal="regular"}
-
在JupyterLab菜单中,使用 上载文件 图标,上传下载的CDN日志文件并
aemcs_cdn_logs_analysis.ipynb
文件。{width="500" modal="regular"}
-
打开
aemcs_cdn_logs_analysis.ipynb
通过双击保存文件。 -
在 加载CDN日志文件 笔记本部分,更新
log_file
值。{width="500" modal="regular"}
-
要运行选定的单元格并前进,请单击 播放 图标。
{width="500" modal="regular"}
-
运行 显示总计、HTML、JS/CSS和图像请求的分析结果 代码单元格中,输出显示缓存命中率百分比、条形图和饼图。
{width="500" modal="regular"}
-
运行 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
文件。