在AEM as a Cloud Service中使用专用出口IP排除外部API调用速度缓慢的问题

本文介绍了在使用具有专用出口IP的高级联网时,如何诊断和解决从Adobe Experience Manager as a Cloud Service (AEMaaCS)发出的外部API调用延迟较高的问题。 其中涵盖了提高性能的常见原因以及建议的最佳化措施。

描述 description

环境

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)启用了高级联网和专用出口IP。
  • Adobe Experience Manager Cloud Manager

症状

通过专用出口IP路由时,从AEMaaCS发出的外部API调用显示较高的延迟。 虽然对同一API端点的直接调用(AEM外部)会快速返回,但使用专用出口IP从AEM进行的调用可能会慢几倍。 在进行多个此类API调用的页面上尤为明显,这会增加滞后,从而导致页面加载时间变慢。 用于测量API响应时间的自定义代码或servlet确认此行为。

原因

延迟增加的主要原因是为每个API调用建立新连接时TLS握手的开销。 如果未实现连接池,则每个请求都将产生完整的握手开销。 专用出口IP和高级网络配置也可能引入额外的网络路径延迟。

解决方法 resolution

请按照以下步骤解决问题:

  1. 验证您的应用程序代码是否将连接池用于对外部API的传出HTTP请求。 这减少了为每个请求建立新连接和TLS握手的开销。
  2. 查看您的自定义代码或servlet,以确认已根据Adobe针对AEMaaCS的HTTP客户端准则实施连接池。
  3. 在AEM创作或发布环境中,对外部API端点执行直接curl请求以测量基线网络延迟。
  4. 比较启用和未启用专用出口IP的响应时间,以确定额外的延迟是否特定于高级联网配置。
  5. 使用逐相划分工具(例如输出较详细的curl)来确定TLS握手是否是延迟的主要原因。
  6. 在Cloud Manager中,确认已为您的环境启用高级联网和专用出口IP。
  7. 确保出站HTTP/HTTPS连接使用为AEMaaCS配置的平台系统代理,并且自定义代码不会绕过这些设置。
  8. 实施连接池并确认网络配置后,监控API响应时间以进行改进。
  9. 如果仍存在严重延迟,请考虑升级到Adobe支持,以进一步在网络或基础架构级别进行调查。
  10. 进行更改后,重新测试来自AEM的出站API调用,以确认改进的响应时间和专用出口IP的一致使用。
recommendation-more-help
experience-cloud-kcs-help-kbarticles