Java探针性能压测报告
更新时间 2026-02-11 11:09:13
最近更新时间: 2026-02-11 11:09:13
应用性能监控APM探针在应用运行时进行字节码增强,实现应用性能管理能力。与其他通过字节码增强技术实现的性能管理方案一样,APM探针会带来一定的应用性能开销,您可以参考本篇分析报告,在接入应用性能监控APM前,基于性能影响进行充分的评估。
测试用例
机器类型: CTyunOS V4.0 25.07 64 位,2C4G
测试时长:10分钟
jvm参数:-Xms3500m -Xmx3500m -XX:MetaspaceSize=500m
测试场景:整体架构如下图所示
Java应用基于Spring MVC框架编写,包含 Spring Boot、Spring MVC,Jedis,HikariCP 连接池,每次请求产生5个span(1个 Tomcat 调用、1个 Spring MVC 框架调用、2个 Redis 请求和1个 MySQL 请求),每次请求会随机sleep 20-40ms。
基线性能
在不接入 APM 的情况下,性能表现如下:
| 业务流量(TPS) | CPU 利用率 | 内存利用率 | 平均响应时间(ms) |
| 500 | 9.5% | 79% | 30 |
| 1000 | 15.5% | 79% | 30 |
| 2000 | 26.5% | 80.15% | 30 |
安装探针后的性能指标
应用接入 APM 后,性能表现如下:
| 业务流量(TPS) | CPU 利用率 | 内存利用率 | 平均响应时间(ms) |
| 500 | 25.3% | 82% | 31 |
| 1000 | 40.1% | 82.2% | 31.1 |
| 2000 | 66.5% | 83.4% | 31.2 |
探针性能开销
对比安装探针后的性能指标以及基线性能指标,探针产生的性能开销如下:
| 业务流量(TPS) | CPU 利用率 | 内存利用率 | 平均响应时间(ms) |
| 500 | +15.8% | +3% | +1 |
| 1000 | +24.6% | +3.2% | +1.1 |
| 2000 | +40.0% | +3.25% | +1.2 |
总结
探针产生的 CPU 开销跟业务请求量相关,qps达到2000后探针会额外占用大概0.8c。内存的开销相对较小都在3%左右。rt仅增加1ms左右。