Ubuntu 上 Node.js 性能优化实操清单
一 系统层优化
ulimit -n 65535;永久生效在 /etc/security/limits.conf 增加 * soft nofile 65535、* hard nofile 65535,并确认 PAM 已启用(如 /etc/pam.d/common-session 含 session required pam_limits.so)。/etc/sysctl.conf,设置 net.core.somaxconn = 4096、net.ipv4.tcp_max_syn_backlog = 4096、net.ipv4.ip_local_port_range = 1024 65535、net.ipv4.tcp_tw_reuse = 1、net.ipv4.tcp_fin_timeout = 30,执行 sudo sysctl -p 使配置生效。二 运行时与多进程
pm2 start app.js -i max),或在代码中按核数 fork 工作进程,分摊负载、提升吞吐。pm2 monit、pm2 list)。--max-old-space-size=4096(单位 MB)限制堆上限,必要时启用更激进的内存优化参数(如 --optimize_for_size),并结合业务峰值与容器/系统内存上限设置合理值。三 代码与数据层优化
四 监控 诊断与压测
tick-processor 解读;借助 Chrome DevTools 或 clinic.js 定位瓶颈。五 一键落地示例
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bashsource ~/.bashrcnvm install node && nvm use nodenpm i -g pm2pm2 start app.js -i max --name "api"pm2 monitsudo apt-get install -y nginx/etc/nginx/sites-available/default 中配置 proxy_pass http://127.0.0.1:3000; 并启用 gzip on;,重载 sudo systemctl reload nginx。/etc/sysctl.conf 与 /etc/security/limits.conf 后执行 sudo sysctl -p。