高吞吐量AJAX请求导致性能不佳

由于某些高吞吐量请求导致大量服务器负载和流量,因此本文为云基础架构站点上的Adobe Commerce内部部署或Adobe Commerce提供了性能问题解决方案。

受影响的产品和版本

  • 云基础架构上的Adobe Commerce 2.2.x、2.3.x
  • Adobe Commerce内部部署2.2.x、2.3.x
NOTE
已在云基础架构上的Adobe Commerce和内部部署的Adobe Commerce的2.3.4版本中修复了此问题。

问题

由于高吞吐量请求(如关键AJAX请求),站点性能缓慢。

原因

高吞吐量AJAX请求包括与客户的私有内容相关的请求。

解决方案

有三种解决方案:

  • 升级到版本2.3.4
  • 确保减少请求(缓存请求或迁移到客户的私有内容)。
  • 减少请求数。

确保请求较少(缓存请求或移至客户的私有内容)

如果在每个页面上触发了第三方AJAX请求,则尝试缓存这些请求或将其移至客户的专用内容。 商家可以通过确保使用GETHTTP方法调用自定义AJAX请求来实现这一点。 它将使这些请求能够被Fastly缓存。 如果有不应缓存的自定义AJAX请求,则应根据私有内容功能对其进行重构。 有关步骤,请参阅我们的开发人员文档中的私有内容

减少请求数

  • 禁用永久购物车,因为它可能会增加customer/section/load请求数。 按照开发人员文档中的永久购物车路径中的步骤查看是否启用了永久购物车。
  • 如果您需要在sections.xml中重新加载内容或使内容无效,请按照开发人员文档中的私有内容:使私有内容无效中的步骤操作。 请确保未在自定义设置中直接使用customerData.reload()方法。
  • 查看同一页面上的其他POSTAJAX请求。 在Google Chrome Chrome浏览器中打开Google开发人员工具。 单击​ 网络 ​选项卡,然后单击​ XHR ​选项卡,将出现来自特定页面的所有AJAX请求的列表。 然后,单击每个请求,在字段中,请求方法应为GET请求。 注意:以Google Chrome为例,也可以在其他浏览器中执行此操作。
  • 检查特定AJAX请求的Google标签管理器(GTM)功能。 用户可以删除此AJAX并使用私有功能重构其自定义设置,以减少向服务器发出的请求总数。
  • 检查是否已启用但未使用Adobe Commerce横幅。 您可能需要禁用Adobe Commerce横幅输出以提高网站性能

相关阅读

有关私有客户内容的详细信息,请查看我们的开发人员文档中的私有内容

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a