Linux 下提升 Node.js 运行效率的实用方案
一 运行时与多核利用
pm2 start app.js -i max),分摊连接与计算负载。二 代码与数据通路优化
三 Linux 系统层面调优
ulimit -n 65535;永久写入 /etc/security/limits.conf(如 nofile 65535),以支持高并发连接。net.core.somaxconn、net.ipv4.tcp_max_syn_backlog、net.ipv4.ip_local_port_range、net.ipv4.tcp_tw_reuse、net.ipv4.tcp_fin_timeout,执行 sysctl -p 生效。四 监控 诊断 与进程管理
pm2 monit、pm2 logs)。node --max-old-space-size=4096 app.js),并配合堆快照/分析工具排查泄漏。五 快速检查清单
| 优化项 | 关键动作 | 验证方式 |
|---|---|---|
| 版本与多核 | 升级至最新 LTS;用 cluster/PM2 启动与 CPU 核数一致的工作进程 | node -v;pm2 list/pm2 monit;htop 观察多进程 |
| 异步与流 | 替换同步 API;大文件/数据用 Streams | 压测对比 RT/吞吐 与 内存 RSS |
| 缓存与数据库 | 引入 Redis/Memcached;查询加 索引、用 连接池 | 慢查询日志下降;缓存命中率提升 |
| 传输层 | 启用 Gzip 与 HTTP/2(经 Nginx);静态资源上 CDN | 首包与总耗时下降;带宽占用降低 |
| 系统资源 | 提升 ulimit;优化 sysctl 网络参数;使用 SSD | ulimit -n;sysctl -p;iostat/vmstat 观察 |
| 监控与诊断 | DevTools/–prof 定位热点;接入 Prometheus/Grafana;PM2 守护 | 指标大盘稳定;P95/P99 延迟下降;异常自动恢复 |