分析Ubuntu Node.js日志中的性能问题,可按以下步骤进行:
winston
、morgan
等库记录请求时间、响应状态、错误信息等,如设置level: 'info'
并输出到文件。process.memoryUsage()
、process.hrtime()
或perf_hooks
模块记录内存、CPU、请求耗时等数据。grep
筛选错误日志(如grep "ERROR" app.log
),用awk
统计请求耗时或内存使用峰值。node --inspect
启动应用,结合Chrome DevTools分析CPU Profiling数据,定位高耗时函数。process.memoryUsage()
监控内存趋势,若持续增长则生成堆快照(heapdump
模块),通过Chrome DevTools分析引用链。perf_hooks.monitorEventLoopDelay()
记录事件循环延迟,判断是否存在同步操作阻塞。工具推荐:
参考来源:[1,2,3,5,6,7,8,9,10,11]