在Ubuntu上进行Node.js性能测试,可从工具使用、测试步骤及优化建议三方面入手,具体如下:
wrk -t12 -c400 -d30s http://localhost:3000
(12线程、400并发、持续30秒)。perf_hooks
用于测量代码执行时间,console.time()
/console.timeEnd()
快速定位耗时代码块。heapdump
生成内存快照,v8-profiler
分析内存泄漏。top
/htop
查看CPU/内存占用,vmstat
监控磁盘I/O。perf_hooks
测量函数执行时间,例如:const { performance } = require('perf_hooks');
const start = performance.now();
// 待测试代码(如循环、HTTP请求)
const end = performance.now();
console.log(`耗时:${end - start}ms`);
ab -n 1000 -c 100 http://localhost:3000
(1000请求、100并发)。worker_threads
处理CPU密集型任务,通过stream
处理大文件以节省内存。vm.swappiness
)优化内存使用,启用Nginx反向代理分担压力。winston
或morgan
记录请求日志,结合ELK栈分析异常。以上工具和方法可组合使用,覆盖从代码级到系统级的性能测试需求,确保Node.js应用在高负载下稳定运行。