使用 Dynatrace 对 Node.js 应用的性能数据进行分析
2022/9/3 1:25:46
本文主要是介绍使用 Dynatrace 对 Node.js 应用的性能数据进行分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
JavaScript Storefront 应用程序的性能问题的表现形式有多种,最典型的是响应时间(response time)的恶化,甚至由于资源耗尽导致的网站完全宕机。 由于 JavaScript Storefront 涉及许多组件,因此确定性能问题的根源可能具有挑战性,如下图所示:
一个客户请求发送到 JavaScript Storefront 之后,Storefront 应用对该请求的处理,将涉及以下组件,所有这些都可能是问题的根源:
- 客户端(浏览器或 CDN)
- Apache Web 服务器(通过 JS Storefront vhost),也就是 Commerce Cloud 支持的 redirect endpoint 功能的实现
- Nginx Web 服务器(jsapps pod 的 jsapps 容器)
- Server.js(jsapps pod 的 jsapps-ssr 容器 - 仅在启用 SSR 模式时相关)
- CDN(上面没有说明,但是如果使用 CDN,那么它将位于此级别 - 如果未找到缓存的响应,请求可以在此处结束或继续到源服务器)
- Apache Web 服务器(通过 API vhost)
- 商务网络服务(API pod)
- 数据库
一般情况下,我们可以从 Dynatrace 的 Services 面板开始,这里能看到不同类别的服务的平均响应时间,最慢的响应时间,以及每分钟处理的请求数量。
作为性能分析的切入点,我们可以从应用响应用户请求的最外层服务开始入手,单击右侧的服务列表中的 ...
符号。
下图的含义是,设置过滤器的值为 响应时间 >= 6s
, 这将允许仅可视化最慢请求的响应时间热点。
另外注意,Promise.all 这个 API,如果使用不恰当,也可能带来性能问题,特别是用大量的操作调用它的时候。
例如,我们有一个 ids 数组,需要从数据库中根据 id 读取实体。 如果列表中有 10 个 id,那不是问题,但如果有 1000 个的话,不建议一次性从数据库中完成全部的数据读取操作。一种更优的解决方案是,采用批量操作 + 游标的方式,从数据库中读取数据。
这篇关于使用 Dynatrace 对 Node.js 应用的性能数据进行分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-29如何在 Vue2 的 uni-app 项目中使用 npm ?-icode9专业技术文章分享
- 2024-12-29uni-app vue2微信小程序项目在哪里打开终端并使用npm?-icode9专业技术文章分享
- 2024-12-29怎么在 uni-app Vue2 项目中全局引入 Vant Weapp?-icode9专业技术文章分享
- 2024-12-29uni-app vue2微信小程序项目如何在main.js中全局引入vant?-icode9专业技术文章分享
- 2024-12-28Vue入门教程:从零开始搭建第一个Vue项目
- 2024-12-28Vue CLI入门指南:快速搭建Vue项目
- 2024-12-28Vue3基础知识入门教程
- 2024-12-28Vue3公共组件开发与使用入门教程
- 2024-12-28Vue CLI学习:新手入门教程
- 2024-12-28Vue CLI学习:轻松入门与实践指南