用途:面向 Node.js 后端应用的性能优化技能,帮助应用变快、可扩展且高效,适用于应用变慢、高流量、数据库查询瓶颈、内存占用高或准备上生产等场景。
主要能力:
- 缓存:Redis 与内存缓存,提供 cacheMiddleware 示例,用 client.setEx 缓存响应;用 lru-cache 限制条目数与 TTL 防内存泄漏。
- 集群:cluster 模块按 os.cpus().length 派生 worker,崩溃自动重启。
- 数据库优化:连接池(PostgreSQL max/min、Mongoose maxPoolSize)、索引、避免 N+1 查询、lean() 只读查询、分页。
- 响应优化:compression 压缩、Cache-Control 缓存头、流式传输大文件替代一次性读入内存。
- 异步优化:用 Promise.all 并行替代串行。
- 性能测量与内存:performance.now() 计时、node --prof 与 node --prof-process 分析、process.memoryUsage() 监控。
- 监控与压测:Winston 日志、APM 工具(New Relic、Datadog、Dynatrace、PM2 Plus)、Artillery 负载测试。
- 生产优化:NODE_ENV=production、trust proxy、关闭 x-powered-by。
使用方式:按检查清单逐项落地,如启用生产模式、集群、Redis 缓存、连接池、索引、gzip、CDN、分页、流式传输和 APM 监控;学习路径分初级、中级、高级三阶段。
限制:资料未提供具体版本要求、性能数值预期、各 APM 或 Redis 的收费与配置细节,需结合实际环境验证。