Node.js 性能优化 & 内存管理
📚 30 章 · 从入门到实战
v2.4
01
Node.js 运行时架构与事件循环机制
libuv、V8 与事件循环阶段 (timers, poll, check) 对性能的影响
开始学习 →
02
V8 引擎的垃圾回收机制
新生代/老生代、Scavenge、Mark-Sweep-Compact,--trace-gc 观察 GC
开始学习 →
03
内存泄漏的常见模式与检测
全局变量、闭包、定时器、事件监听器;heapdump & Chrome DevTools 堆快照
开始学习 →
04
CPU 性能分析与火焰图
clinic.js, 0x, perf 生成火焰图,定位热点函数与同步阻塞
开始学习 →
05
异步 I/O 与并发控制
回调/Promise/async/await 微任务与宏任务;p-limit, async-pool 控制并发
开始学习 →
06
Buffer 与 Stream 的高效使用
避免大内存分配,Transform Stream,backpressure 机制与应对
开始学习 →
07
集群模式与进程管理
cluster 多核,PM2 优雅重启、负载均衡、无停机部署
开始学习 →
08
事件循环阻塞的排查与优化
blocking 检测工具,拆分 CPU 密集型任务到 Worker Threads
开始学习 →
09
内存优化:对象池、字符串、Map/Set
对象池模式,字符串拼接优化,Map/Set 替代 Object,WeakMap/WeakSet
开始学习 →
10
HTTP 服务的性能调优
Keep-Alive、连接池、gzip、ETag/Cache-Control、fast-json-stringify
开始学习 →
11
数据库查询优化
连接池配置、慢查询日志、N+1 问题、Redis 缓存热点数据
开始学习 →
12
日志与监控最佳实践
pino 替代 console.log,结构化日志,Prometheus + Grafana
开始学习 →
13
安全性能权衡
防止 ReDoS 内存溢出,限制请求体,helmet 加固 HTTP 头
开始学习 →
14
性能测试与基准分析
autocannon, wrk 压力测试,perf_hooks 微基准测试
开始学习 →
15
容器化与资源限制
Docker 中 --max-old-space-size,cgroup 感知,避免 OOMKilled
开始学习 →
16
冷启动优化
v8-compile-cache,懒加载模块,避免顶层耗时操作
开始学习 →
17
大型对象的处理
JSON.parse reviver,流式解析 JSONStream,避免大文件读入内存
开始学习 →
18
定时器与时间精度
setTimeout 延迟,hrtime 高精度计时,避免 setInterval 累积
开始学习 →
19
模块加载性能
require 缓存,避免循环依赖,esbuild/swc 加速编译
开始学习 →
20
原生模块与 N-API
C++ 插件场景,高性能 N-API 模块,node-gyp 常见问题
开始学习 →
21
WebSocket 性能优化
uWebSockets.js 替代 ws,消息压缩,心跳防泄漏
开始学习 →
22
GraphQL 性能陷阱
DataLoader 解决 N+1,查询深度限制,persisted queries
开始学习 →
23
微服务间的通信优化
gRPC & HTTP/2,protobuf 序列化,RabbitMQ 解耦
开始学习 →
24
内存快照的自动化分析
memlab 自动检测内存泄漏,集成 CI/CD 流水线
开始学习 →
25
异步上下文追踪
AsyncLocalStorage 传递请求上下文,避免全局变量污染
开始学习 →
26
性能预算与持续优化
CI 性能阈值 (响应时间/内存),Lighthouse CI 回归检测
开始学习 →
27
边缘计算与 Serverless 优化
冷启动优化,无状态设计,AWS Lambda SnapStart
开始学习 →
28
大规模应用代码分割
动态 import() 按需加载,Module Federation 实践
开始学习 →
29
Node.js 20/22 新特性与性能
V8 升级、内置 WebSocket 客户端、Permission Model 安全收益
开始学习 →
30
综合案例:高并发 API 优化
从 0 到 1 诊断、瓶颈定位、优化实施与效果验证全流程
开始学习 →