使用Dynatrace分析Node.js应用的性能数据完全下来。由于JavaScriptStorefront涉及的组件很多,因此确定性能问题的根本原因可能具有挑战性,如下图所示:客户端请求发送到JavaScriptStorefront后,Storefront应用程序对请求的处理涉及以下组件,所有这些都可能是问题的根源:客户端(浏览器或CDN)ApacheWeb服务器(通过JSStorefrontvhost),它是CommerceCloudNginxWeb服务器(jsapps)支持的重定向端点功能的实现pod的jsapps容器)Server.js(jsappspod的jsapps-ssr容器-仅在启用SSR模式时相关)CDN(上面没有说明,但如果使用CDN那么它将在这个级别-请求可以在这里结束或继续原始serverifnocachedresponsefound)Apachewebserver(viaAPIvhost)businessnetworkservice(APIpod)database一般来说,我们可以从Dynatrace的Services面板开始,在这里我们可以看到不同类别服务的平均响应时间,最慢的响应时间,以及每分钟处理的请求数。作为性能分析的切入点,我们可以从应用响应用户请求的最外层服务开始,点击右侧服务列表中的...符号。下图的含义是将过滤器值设置为ResponseTime>=6s,这将只允许最慢请求的响应时间热点被可视化。另请注意,Promise.allAPI如果使用不当,也可能会导致性能问题,尤其是在调用它并进行大量操作时。例如,我们有一个id数组,需要通过id从数据库中读取实体。如果列表中有10个id,那不是问题,但如果有1000个,则不建议一次从数据库中读取所有数据。更好的解决方案是使用批操作+游标从数据库中读取数据。
