本文介绍MSE 服务治理性能测试指导信息。
前提条件
本文以创建ACK托管集群为例,您也可以使用 ECS 进行测试。
背景信息
由于 MSE 微服务治理 Agent 的性能表现与应用流量、应用接口数量、治理功能使用情况等相关。因此需要满足以下条件,以保障测试结果接近实际使用。
对单机 QPS 250和500两种场景分别进行压测以反映不同负载下的性能表现。
应用包含 50个 Web 服务接口,30个 RPC 服务接口。
需开启全链路灰度和流量防护功能。
性能测试关注的指标包括:CPU 开销、内存开销以及响应时间(RT) 开销。
其中内存开销由于 AliyunJavaAgent 增加的内存多为可 GC 内存,可以通过调整 GC 配置来降低,因此CPU 开销更具有参考价值。。
测试环境
压测源可以使用阿里云性能测试PTS/JMeter 等压测工具。
Java 应用的 Pod 规格为2 Core 4 GiB,双副本。
测试应用
测试应用架构如下所示,详情可参见Demo代码库。
测试压力
以2 Core 4 GiB 的 Pod 规格为例,单Pod 250/500 QPS,集群500/1000 QPS。
测试流程
在不挂载 MSE Java 探针的情况下,使用500/1000 QPS,各发起3次压测,每次的持续时长为20分钟,每次压测前都先基于100 QPS 压测流量对Java应用进行3分钟预热,将三次的压测结果取平均值作为基线性能指标。
挂载 MSE Java 探针,并设置应用的微服务治理规则,对比 Java 应用稳定运行时在 CPU 开销、内存开销、平均 RT(响应时间)上的差异。
设置全链路灰度泳道,条件为按比例灰度50%。
对于每个接口,设置接口限流,限流阈值为10000 QPS(不需要触发限流,不影响性能测试)。
该文章对您有帮助吗?
- 本页导读
- 前提条件
- 背景信息
- 测试环境
- 测试应用
- 测试压力
- 测试流程