Node.js 在 Debian 的性能优化清单
一 运行时与多核扩展
pm2 start app.js -i max),每个进程绑定一个 CPU 核心,显著提升吞吐。二 网络与反向代理
ulimit -n 65535 并在 /etc/security/limits.conf 持久化),并优化 TCP 参数(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)。三 内存与垃圾回收
--max-old-space-size 设置上限(如 4096 或 8192 MB),防止无界增长导致频繁 GC 或 OOM。process.memoryUsage() 做日常观测,借助 heapdump、node --prof 分析内存与 CPU 瓶颈;仅在明确收益时再考虑调整 V8/GC 相关参数。四 系统层面与容器化
memory,cpu:/nodejs 分组并设置 memory.limit_in_bytes、cpu.shares,将进程 cgclassify 进组),防止单实例失控影响整体稳定性。五 快速落地命令示例
ulimit -n;在 /etc/security/limits.conf 增加:* soft nofile 65535 与 * hard nofile 65535net.core.somaxconn=65535、net.ipv4.tcp_max_syn_backlog=65535、net.ipv4.ip_local_port_range=1024 65535、net.ipv4.tcp_tw_reuse=1、net.ipv4.tcp_fin_timeout=30,执行 sysctl -p 生效npm i -g pm2;pm2 start app.js -i max;pm2 monit 观察内存与 CPUos.cpus().length fork 工作进程,主进程回收异常退出子进程node --max-old-space-size=4096 app.jsprocess.memoryUsage();需要时生成 heapdump 并用分析工具定位泄漏与热点