记一次接口性能优化

起因

系统收到频繁的接口性能报警,登录监控系统查看,发现TP99波动非常大,部分TP99已经3000ms左右

排查

  • 找到性能波峰时间点对应的服务器,发现在这个时间点,CPU使用率达到了60%左右,初步判断,可能和CPU有关,但是这个方法调用量是比较小的,为什么CPU会到60%呢?

  • 查看该机器的GC、内存使用等情况,发现YGC不正常,如图17:38这个时间点,在1s左右,连续进行了3次ygc。从GC日志(红框部分1,114,797k),可以看到,连续的第二次GC,年轻代的内存在1s左右,就达到了1g左右,基本就已经被全部使用,因此触发GC进行回收。通过以上内容,初步判断,是因为ygc频繁进行,导致cpu使用率高,影响性能,那为什么会在1s左右连续进行多次ygc,内存分配速度为什么这么快呢?

This chapter requires login to view full content. You are viewing a preview.

Login to View Full Content

Course Curriculum

3

框架与 I/O:Spring、Netty 与 Web 容器

理解 Spring Boot 自动装配、AOP 与事务原理,掌握 Netty Reactor 模型及 Tomcat 连接处理机制,构建高内聚、易扩展的应用服务层。
4

高性能中间件:消息、缓存与存储

熟练运用 MySQL 索引/事务、Redis 缓存策略、Kafka/RocketMQ 消息可靠性,以及 ZooKeeper 分布式协调,搭建稳定、解耦的分布式数据底座。
6

云原生:容器化、可观测性与工程效能

通过 Docker/K8s 实现弹性部署,集成 Metrics/Logs/Traces 构建可观测体系,推动 DevOps 与自动化,让架构在云上持续交付与进化。