第一步:调用链路优化
关注点:
- 去除不合理的调用。
- 日志治理:频繁打印日志会导致 CPU 飙高。
第二步:SQL 优化
- 慢查询治理:加索引。
- 热点治理:不合理的分库分表会造成单库单表热点。
- 查询字段治理:查询大字段会导致堆内存飙升,引发频繁 Full GC。
- 唯一索引治理:Unique Key 对插入性能有较大影响。
第三步:串行转并行
- 将没有依赖关系的任务转成并行处理,利用多核 CPU 优势提升响应速度。
第四步:热点治理
通常指对热点 Key 的缓存、限流或本地缓存处理
第五步:缓存资源
通常指引入 Redis/本地缓存以减少 DB 压力
第六步:线程池调优
- IO 密集型任务:CPU 不是瓶颈,线程数一般可设为
2N(N 为 CPU 核数)。 - CPU 密集型任务:线程数一般设为
N+1。
第七步:JVM 调优
- 调整堆(Heap)的大小。
- 更换或调整垃圾收集器(Garbage Collector)。