CentOS 上 Node.js 性能调优要点
一 运行时与代码层面
二 进程与并发架构
三 系统层面与网络
四 监控 压测与定位
五 快速检查清单
| 优化项 | 关键动作 | 验证方式 |
|---|---|---|
| 异步与非阻塞 | 移除同步 I/O、拆分 CPU 密集任务 | 压测对比 P95、事件循环延迟 |
| 多核扩展 | Cluster/PM2 启动 N 个 worker(≈CPU 核数) | 系统 CPU 使用率均衡 |
| 反向代理与静态资源 | NGINX 缓存静态文件、反向代理 API | 静态命中率、后端 CPU 下降 |
| 传输与安全 | NGINX 终止 TLS、启用 HTTP/2 | 握手耗时、并发连接数提升 |
| 连接与内核 | 提升 ulimit -n、调优 somaxconn/tcp_tw_reuse | 高并发下无 “accept 队列溢出” |
| 缓存与数据库 | 索引与连接池、Redis 分层缓存 | 数据库 QPS 下降、P95 降低 |
| 内存与 GC | 设置 --max-old-space-size、heapdump 排查 | 稳定 RSS、无持续增长 |
| 监控与压测 | Prometheus/Grafana + wrk/vegeta 基线 | 回归测试不退化 |