-
前言
- 为什么性能优化永远是后端的灵魂话题
- 从「能跑」到「高性能」的质变
-
性能指标体系
- 吞吐量(TPS / QPS)
- 响应时间(RT)
- 并发连接数
- CPU / 内存 / IO 关键指标
-
应用层优化
- 减少无效对象创建(对象池 / ThreadLocal)
- 异步化与线程池调优
- 幂等接口缓存结果
- 控制日志输出频率
-
数据库层优化
- 批量插入 / 分页查询优化
- 连接池参数调优(maxActive、minIdle)
- 慢查询分析与索引重构
- 表分区与冷热数据分离
-
缓存层优化
- 本地缓存(Caffeine) + 分布式缓存(Redis)
- 双写一致性与缓存穿透防护
- 热点 Key 限流 + 预加载机制
-
网络与 I/O 优化
- Netty 异步通信
- HTTP 长连接与连接复用
- 压缩与序列化(JSON → Protobuf)
-
性能压测与监控
- 使用 JMeter / k6 进行压测
- 指标采集:Prometheus + Grafana
- 分析 GC、内存分配、线程堆栈
-
实战案例:优化一个报表导出接口
-
问题:导出慢、内存溢出、线程阻塞
-
优化方案:
- 异步任务 + MQ
- 分页写入 + EasyExcel
- 压缩后上传 OSS
-
效果:单次导出耗时 60s → 7s
-
-
总结
- 性能优化的三条准则:测量 → 分析 → 调整
- 优化要有数据支撑,不盲调
- 最佳实践:监控先行 + 自动报警