1 性能优化痛点
- 对性能优化的流程不是很清晰。
- 对性能优化的工具不了解。
- 对常见的服务优化手段缺乏足够了解。
2 服务性能优化流程
- 定目标。 预先设定的一系列期望达成的量化指标,避免过度优化或优化不足。来自于接口的使用场景、会影响到接口性能的数据以及降本的业务诉求。
- 找瓶颈点。 性能测试,包括: 2.1 单个请求测试。 接口延时是否符合预期。不符合时向下游追踪; 2.2 集群整体压测。 看服务整体的 QPS 是否能达到要求。根据监控定位到是哪个组件没达到目标 QPS,但是已经超时。
- 瓶颈分析。 3.1 自身瓶颈。 怀疑是计算逻辑复杂时,pprof抓取CPU火焰图,检查CPU消耗多的逻辑;怀疑是内存占用高导致单机吞吐低,pprof抓取内存火焰图,检查内存分配高的地方; 3.2 下游瓶颈。 根据组件特性分析。
- 性能优化。 从代码层、框架层和架构层针对性做优化。
- 性能验证。