在Debian上使用JS日志进行性能分析可按以下步骤操作:
收集日志
// 使用winston记录日志 const winston = require('winston'); const logger = winston.createLogger({ transports: [new winston.transports.File({ filename: 'app.log' })] }); logger.info('CPU Load:', process.cpuUsage());
/var/log/
或应用目录下的logs/
文件夹。基础日志分析
grep
、awk
等工具提取关键信息:# 查找CPU相关日志 grep "CPU" /var/log/app.log # 统计错误日志数量 grep "ERROR" app.log | wc -l
可视化分析工具
--inspect
参数启动应用,在DevTools的“Performance”面板生成火焰图,直观查看函数耗时。npm install -g @clinic/cli
clinic flame -- node app.js
,分析CPU瓶颈。clinic doctor
检测内存泄漏。实时监控与优化
npm install pm2 -g pm2 start app.js --watch pm2 monit
logrotate
防止日志过大,配置示例:# /etc/logrotate.d/app /var/log/app/*.log { daily rotate 7 compress }
高级分析
--prof
生成CPU分析文件,--prof-process
解析热点函数。async_hooks
模块跟踪异步调用链,定位事件循环阻塞。参考来源: