在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/cliclinic 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模块跟踪异步调用链,定位事件循环阻塞。参考来源: