nodejs性能分析

痞子三分冷 提交于 2020-07-28 07:18:51

方案1 v8-profiler

1. v8-profiler 添加node性能收集埋点

2. Apachebench压力测试

ab -t 300-c 10-p post.txt -T "application/json" http://localhost:8008/xxx

3. v8-profiler 收集得到 cpuProfile

4. 用chrome的开发者工具 More-tools -> JavaScript Profiler -> Load,读取cpuProfile,查看火焰图

5. 或者使用speedscope根据cupProfile生成火焰图,支持leftHeavy模式,直接将CPU占用率最高的排在最左边,一目了然,快速的可以定位到问题。

方案2 chrome inspect

1. inspect模式启动node程序

node --inspect ./app.js

2. inspect模式启动chrome

chrome://inspect

3. Apachebench压力测试

ab -n 1000 -c 20 http://localhost:3000/

4. 生成profile文件

完成压测之后停止服务,选择save保存文件

5. 使用speedscope根据cupProfile生成火焰图

npm install -g speedscope

speedscope CPU-xxxx.cpuprofile

参考:  speedscope + node inspect 分析node应用调用
         Node使用火焰图优化CPU爆涨

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!