nodejs cpu分析

有两种方法,一种是通过Node/V8自带的profile能力 , 另一种是通过alinode的 CPU profile功能. 前者只列出了各函数的执行占比, 后者包括更加完整的调用栈,可读性更强,更加容易定位问题,建议采用后者.

方法1: Node 自带 profile

  • 第1步: 以--prof参数启动Node应用
$ node --prof index.js
  • 第2步: 通过压测工具loadtest向服务施压
$ loadtest http://127.0.0.1:6001 --rps 10
  • 第3步: 处理生成的log文件
  • $ node --prof-process isolate-0XXXXXXXXXXX-v8-XXXX.log > profile.txt
  • 第4步: 分析profile.txt文件

profile.txt文件如下图,包括JS和C++代码各消耗多少ticks, 具体分析方法详见node profile文档

nodejs cpu分析_第1张图片

 

首先。这个不能在线上随时拉取。 其次还是很难看懂

$ node --prof-process isolate-0XXXXXXXXXXX-v8-XXXX.log > profile.txt

你可能感兴趣的:(nodejs cpu分析)