01
性能优化概述
什么是性能优化、目标、核心原则(二八定律、木桶效应)
概念原则
02
性能指标与监控
响应时间、吞吐量、QPS、TPS、并发数、资源利用率,Prometheus/Grafana
监控指标
03
性能测试基础
负载/压力/稳定性测试,流程,JMeter、wrk
测试工具
04
代码层面优化
算法复杂度、减少循环嵌套、高效数据结构、避免重复计算
编码算法
05
数据库优化
SQL慢查询分析、索引优化、读写分离、分库分表
数据库索引
06
缓存策略
本地缓存(Guava)、分布式缓存(Redis)、穿透/击穿/雪崩
缓存Redis
07
并发编程优化
线程池调优、锁优化(乐观/悲观)、减少锁竞争、无锁数据结构
并发锁
08
JVM性能调优
内存模型、GC算法、JVM参数、内存泄漏排查
JVMGC
09
网络优化
HTTP/2 & HTTP/3、连接池、CDN加速、DNS预解析
网络CDN
10
前端性能优化
资源压缩合并、懒加载、图片优化、虚拟列表
前端体验
11
静态资源优化
CSS/JS压缩、Tree Shaking、代码分割、WebP
构建资源
12
服务端架构优化
无状态设计、水平扩展、负载均衡、降级熔断
架构高可用
13
消息队列优化
Kafka/RabbitMQ选择、批量发送、消息压缩、消费并发
MQ异步
14
IO优化
同步/异步IO、零拷贝、内存映射文件、Netty
IONetty
15
操作系统层面优化
文件句柄、内核参数、CPU亲和性、大页内存
OS内核
16
容器化 & Kubernetes优化
资源限制、HPA、Pod亲和性调度
K8s容器
17
全链路压测
压测环境、数据隔离、流量染色、结果分析
压测全链路
18
性能瓶颈定位
火焰图、Arthas、Perf、BPF热点分析
诊断工具
19
数据库连接池优化
连接池大小、泄漏排查、HikariCP最佳实践
连接池HikariCP
20
日志优化
异步日志、动态级别、日志采样、避免大对象
日志异步
21
序列化与反序列化优化
Protobuf vs JSON、减少序列化次数
序列化Protobuf
22
内存优化
对象池、减少临时对象、基本类型代替包装类
内存对象池
23
冷热数据分离
数据分层、热数据缓存、冷数据归档
存储分层
24
预计算与延迟计算
提前计算结果、懒加载、异步预加载
计算策略
25
批量处理优化
批量写入DB、批量发送消息、批量调用远程接口
批量吞吐
26
限流与降级
令牌桶、漏桶、Sentinel、优雅降级
限流降级
27
分布式追踪
OpenTelemetry、Jaeger、SkyWalking,跨服务定位
追踪可观测
28
性能优化案例分析
电商秒杀、社交Feed流、日志采集系统优化
实战案例
29
性能优化最佳实践
优化checklist、持续评估、回归测试
规范流程
30
性能优化总结与展望
未来趋势:eBPF、WASM、Serverless冷启动优化
趋势展望