如何进行 GC 调优提升 Node 应用性能

  1. 云栖社区>
  2. Node.js 性能平台>
  3. 博客>
  4. 正文

如何进行 GC 调优提升 Node 应用性能

hyj1991 2018-10-19 16:08:50 浏览1953
展开阅读全文

前情

用户项目上线进行压测时,CPU 100% 时单进程 QPS 在 100 上下浮动,想进行一些进一步的优化。经过接入 Node.js 性能平台 后,在压测试做 CPU Profile 观察系统 CPU 耗费在什么地方:
1539930645541-d2a7154b-767e-4be8-aaab-a9
可以看到 _tickDomainCallbackgarbage collector 在 CPU 的占比加起来高达 83%,而经过和用户沟通,发现 _tickDomainCallback内部的耗费 CPU 高的逻辑分别是 typeorm 和自己的 controller 逻辑,typeorm 方面因为 api 变动的原因不太方便升级,controller 逻辑则是已经优化过了暂时没有提升的空间。
因此很自然的,我们会把进一步提升项目性能的目光放到 GC 阶段。这里在 3min 的 CPU 采样期间,GC 阶段的调用

网友评论

登录后评论
0/500
评论
hyj1991
+ 关注
所属云栖号: Node.js 性能平台