Java Agent 性能影响测试 — 详细介绍
一、测试背景与目的
Java Agent 是一种基于 JVM 的字节码增强技术,通过 -javaagent 参数挂载到 JVM 启动过程中,可在不修改业务代码的前提下实现流量染色、灰度路由、服务治理等能力。
但 Agent 的介入必然会带来额外的处理开销,本测试的核心目的是:
量化 Java Agent 对 HTTP、Dubbo、Kafka 三种协议微服务的性能影响,为上线决策提供数据支撑。
二、测试架构
┌─────────────────────────────────────────────────────┐
│ 管理平台 (port 8080) │
│ Spring Boot Service Manager │
│ 控制 Provider/Consumer 的启动、停止、健康检查 │
└──────────────┬──────────────────────────────────────┘
│ REST API 控制
┌─────────┴──────────┐
▼ ▼
┌─────────┐ ┌──────────┐
│Provider │◄────────│Consumer │
│port 7777│ 调用 │port 6666 │◄──── K6 压测工具
│(HTTP) │ │(HTTP) │
│port 1777│ │port 1666 │
│(Dubbo) │ │(Dubbo) │
└─────────┘ └──────────┘
▲ ▲
└──── xengine-gray.jar (Java Agent) ────┘
(Agent模式时挂载)