分析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]