The Tencent Cloud Enhanced Edition OpenTelemetry Java Probe achieves zero-code intrusion application performance management capabilities through runtime bytecode enhancement. Bytecode enhancement technology will bring certain performance overhead to applications, which is unavoidable for all application performance management solutions that adopt similar technologies. However, the Tencent Cloud Observability Team has introduced a number of important optimization technologies into the probe, keeping the performance overhead of the probe within a very low range and dispelling users' concerns about the probe affecting application performance and stability.
In this stress test report, we simulate the performance overhead generated by the Tencent Cloud Enhanced Edition OpenTelemetry Java Probe under different business traffic based on real scenarios. You can refer to this stress test report to fully evaluate the final shape of the APM product.
Test Case
The scenario and method used in this test are implemented based on the SkyAPMTest open-source community's probe performance test project. You can go to the community to obtain the source code of the project. This project uses the Spring framework to write applications, including Spring Boot, Spring MVC, a simulated Redis client, and HikariCP connection pool (matching the simulated MySQL client). After accessing the Tencent Cloud Enhanced Edition OpenTelemetry Java Probe, for each transaction, the probe captures 5 Spans (1 Tomcat call, 1 Spring MVC framework call, 2 Redis requests, and 1 MySQL request). Application Deployment Environment: Deployed based on TKE, 2-core 4G Pod.
Test Region: Beijing.
Test Duration: 10 minutes.
Agent Version: 2.3-20240720.
Business Traffic: 500, 1000, 2000, 4000.
Baseline Performance Metrics
Without connecting to APM, the performance is as follows:
|
500 | 32.83% | 24.30% | 182 |
1000 | 32.88% | 26.09% | 370 |
2000 | 32.95% | 26.70% | 752 |
4000 | 32.52% | 30.59% | 1522 |
Performance Metrics After Installing a Probe
After the application integrates with APM, the performance is as follows:
|
500 | 39.38% | 33.42% | 201 |
1000 | 39.57% | 32.03% | 418 |
2000 | 39.68% | 33.13% | 859 |
4000 | 39.69% | 35.77% | 1730 |
Probe Performance Overhead
Comparing the performance metrics after installing the probe with the baseline performance metrics, the performance overhead generated by the probe is as follows:
|
500 | +5.96% | +9.12% | +19 |
1000 | +6.69% | +5.94% | +48 |
2000 | +6.73% | +6.43% | +107 |
4000 | +7.16% | +5.18% | +208 |
Summary
The CPU and memory overhead generated by the probe is within 10%.
The probe will have a certain impact on the response time of requests, but all are at the millisecond level.