下图旨在提供有关为解决性能问题需要采取的步骤的指导。 它分为5个部分,便于阅读。
图中的每个步骤都链接到文档资源或推荐。
假定在给定页面(AEM控制台或网页)上观察到性能问题,并可以一致地重现。 在开始调查之前,要想测试或监控性能,必须先做好准备。
分析开始步骤0。 目标是确定哪个实体(调度程序、外部主机或AEM)负责性能问题,然后确定应调查哪个区域(服务器或网络)。
步骤 | 标题 | 资源 |
步骤 0 | 分析请求流 | 您可以在浏览器中使用标准HTTP请求分析来分析请求流。 有关如何在Chrome上执行此操作的详细信息,请参阅: https://developers.google.com/web/tools/chrome-devtools/profile/network-performance/resource- |
步骤 2 | 请求是否来自外部主机? | 您可以在浏览器中使用标准HTTP请求分析来分析请求流。 请参阅上述链接,了解如何在Chrome上执行此操作。 |
步骤 3 | 是否可以缓存请求? | 有关可缓存请求和一般调度程序性能优化建议的详细信息,请参阅调度程序性能优化。 |
步骤 4 | 请求是否来自调度程序? | 检查调试程序调试文档以查看请求是否正确缓存。 |
步骤 5 | 调度程序是否正尝试通过AEM验证每个请求? | 在传送缓存资源之前,检查调度程序是否向AEM发送HEAD 请求以进行身份验证。 可以通过在AEM access.log 中查找HEAD 请求来完成此操作。 有关详细信息,请参阅日志记录。 |
步骤 6 | 调度程序的地理位置是否远离用户? | 将调度程序移近用户。 |
步骤 7 | 调度程序的网络层是否正常? | 调查网络层的饱和度和延迟问题。
|
步骤 8 | 本地实例的速度慢是否可以重现? | 使用Tough Day从生产实例复制“真实世界”条件。 如果这种情况不适用于您的开发,请确保在不同的网络上下文中测试生产实例(或相同的分阶段实例)。 |
步骤 9 | 服务器的地理位置是否远离用户? | 将服务器移近用户。 |
步骤10和29 | 调查网络层 | 调查网络层的饱和度和延迟问题。 对于作者层,建议延迟不超过100毫秒。 有关性能优化提示的详细信息,请参阅此页。 |
步骤 11 | 靠近服务器或为每个区域添加一个 | |
步骤 12 | AEM服务器疑难解答 | 有关详细信息,请查看图中的以下子步骤。 |
步骤 13 | 检查硬件要求 | 请查阅硬件大小调整指南的相关文档。 |
步骤 14 | 检查性能问题的常见原因 | |
步骤 15 | 查找慢速请求 | 您可以通过分析 有关使用rlog.jar的详细信息,请参阅此页。
|
步骤 16 | 用户档案服务器 | 有关可与AEM一起使用的分析工具的信息,请参见性能监视和分析工具。 |
步骤 17 | 查找分析中的慢速方法 | |
步骤 18 | 概要分析的常见情况 | 请参阅性能优化部分中的分析特定方案。 |
步骤 19 | 100% CPU | https://helpx.adobe.com/experience-manager/6-3/sites-deploying/monitoring-and-maintaining.html#MonitoringPerformance |
步骤 20 | 内存不足 | |
步骤 21 | 磁盘I/O | 请参阅监视和维护文档中的磁盘I/O部分。 |
步骤22和22.1 | 高速缓存比率 | 请参阅计算调度程序缓存比率。 |
步骤 23 | 慢速查询 | 查询和索引的最佳实践 |
步骤 24 | 存储库优化 | |
步骤 25 | 工作流运行 |
|
步骤 26 | MSM基础架构 | |
步骤 27 | 资产调整 | |
步骤 28 | 未结束的会话 |
|
步骤 30 | 让调度程序更近一些(每“区域”添加一个?) | |
步骤 31 | 在调度程序前使用CDN | 将 Dispatcher 与 CDN 结合使用 |
步骤 32 | 使用调度程序级别的会话管理来卸载AEM服务器 | |
步骤 33 | 使请求可缓存 |
如何提高缓存率;使请求可缓存(调度程序最佳实践) 此外,要优化缓存配置,请考虑以下设置
|
步骤 34 | 升级调度程序版本 | 您可以在以下位置下载最新的Dispatcher版本: |
步骤 35 | 配置调度程序 | 配置调度程序 |
步骤 36 | 检查缓存失效 | |
步骤37和38 | 延迟加载 | 请参阅关于AEM Web性能的Gem会话。 |
步骤 39 | 使用预连接降低连接开销 | 请参见上述Gem会议。 此外,W3c上的其他文档预连接: https://www.w3.org/TR/resource-hints/#dfn-preconnect |
步骤40和41 |
外部主机延迟和响应时间 | 调查外部主机的延迟和响应时间。 |
步骤45 和47 |
使用HTTP/2 | 有关步骤37、38和39,请参见创业板会议。 另外,请查看此论坛帖子,了解HTTP/2支持。 |
步骤 49 | 缩小有效负荷大小 | 启 用Gzip 并缩小图像大小。 |
步骤42和43 | 保持活动 | 不同请求中是否存在 您可以检查代理服务器工具以检查“保持活动”连接。 |
步骤 44 | 提出了多少个请求? | 在浏览器中执行标准HTTP请求分析。 |
步骤 46 | 减少请求数 |
|
步骤 48 | 有效负荷的大小是多少? | 浏览器中的标准HTTP请求分析 |
步骤50和51 | JS代码阻止 | https://docs.adobe.com/ddc/en/gems/aem-web-performance.html |