温馨提示×

centos如何测nodejs性能

小樊
31
2026-09-14 23:27:50
栏目: 编程语言

在 CentOS 上测试 Node.js 性能,可以从基准测试、压力测试、系统资源监控、火焰图分析几个层面来做。下面按常见场景给你一个实用清单。


一、基础环境准备(CentOS)

1. 确认 Node.js 版本

node -v
npm -v

建议使用 LTS 版本(如 18.x / 20.x)

2. 安装常用工具

sudo yum install -y epel-release
sudo yum install -y htop sysstat

二、Node.js 自带性能测试

1. 使用 console.time(简单基准)

console.time('test');
for (let i = 0; i < 1e6; i++) {}
console.timeEnd('test');

2. 使用 perf_hooks

const { performance } = require('perf_hooks');

const start = performance.now();
// 业务代码
const end = performance.now();
console.log(`耗时: ${end - start} ms`);

三、Node.js 官方基准测试工具

1. benchmark 模块

npm install benchmark
const Benchmark = require('benchmark');
const suite = new Benchmark.Suite;

suite
  .add('循环', () => {
    for (let i = 0; i < 1e6; i++) {}
  })
  .on('cycle', e => console.log(String(e.target)))
  .run();

四、HTTP 接口压力测试(最常用)

方案 1:Node.js 自带 autocannon

npm install -g autocannon
autocannon -c 100 -d 10 http://localhost:3000/api

参数说明:

  • -c 并发数
  • -d 持续时间(秒)

方案 2:Apache ab(CentOS 原生)

sudo yum install -y httpd-tools
ab -n 10000 -c 100 http://localhost:3000/

方案 3:wrk(高性能)

sudo yum install -y wrk
wrk -t4 -c100 -d10s http://localhost:3000/

五、系统级性能监控(CentOS)

1. CPU / 内存

htop

2. Node 进程监控

top -p $(pgrep node)

3. 磁盘 / IO

iostat -x 1

六、Node.js 深度性能分析

1. CPU Profiling(火焰图)

node --cpu-prof app.js

会生成 .cpuprofile 文件,用 Chrome DevTools 打开分析。

2. 堆内存分析

node --heap-prof app.js

3. 使用 clinic.js(强烈推荐)

npm install -g clinic
clinic doctor -- node app.js

可自动生成:

  • Doctor 报告
  • Flamegraph
  • Bubbleprof

七、生产环境常见指标参考

指标 说明
QPS / RPS 每秒请求数
Latency P50 / P95 / P99
CPU 使用率 是否单核跑满
内存增长 是否内存泄漏
Event Loop Lag 延迟是否过高

八、典型示例(Express 服务压测)

node app.js &
autocannon -c 200 -d 30 http://localhost:3000/

如果你愿意,可以告诉我:

  • HTTP 服务 / 计算任务 / 脚本
  • CentOS 版本(7 / 8 / Stream)
  • 是否在生产环境

我可以给你一套定制化测试方案

0