nodejs接口性能优化
v8-profiler api 分析
需要在接口中添加node profile api
ab压测 产生xxxx.cpuprofile
ab -c 20 -n 2000 "http://xxxxx"
chrome devtool 分析
- 使用chart,可视化查看峰值所在,着重分析js代码
- 使用Tree形式,根据total Time 倒序,查看各自代码耗时self time
火焰图分析
- 安装
npm i flamegraph -g
- 生成svg
flamegraph -t cpuprofile -f xxx.cpuprofile -o cpuprofile.svg
- 查看深色部分,定位js代码
v8-analysis分析
分析v8-profile和heapdump等模块生成的CPU和heap-memeory日志的工具
- 安装
npm i v8-analytics -g
- 分析超过200ms代码
va timeout xxx.cpuprofile 200 --only
v8内置分析工具-tick processor
- 开启
node -prof xxx.js //生成 islate-xxx-v8.log
- v5.2之后自带处理命令