某银行将核心交易平台从单体Oracle架构迁移到分布式微服务架构(Spring Cloud + TiDB),需验证新架构在TPS 10000下的性能表现和弹性伸缩能力。本案例展示分布式系统性能测试的独特挑战——网络延迟叠加、服务间调用链放大、数据一致性验证。
对8个微服务各自独立测试,记录单服务的TPS和P99基线。发现产品查询服务和客户信息服务的P99达到300ms——远高于单体架构的同逻辑(单体中是一次SQL查询,微服务中是一次RPC调用)。
执行一笔完整交易(如转账),追踪全链路:Gateway→客户验证→账户查询→风控校验→转账执行→通知推送——共6跳RPC调用。端到端P99=2.1s,其中网络传输开销占35%。
模拟峰值流量触发的自动扩容——当CPU>70%时K8s自动增加Pod。验证冷启动时间:新Pod从创建到接受流量需45秒。设置预热机制(HPA提前5分钟触发)后,扩容期间无超时。
1) 高频RPC调用改为异步消息(风控校验、通知推送从同步改异步);2) 引入本地缓存(Caffeine)减少跨服务查询;3) 数据库连接池从每服务独立改为统一连接管理。调优后端到端P99降至1.2s,TPS达到10500。
| 指标 | 原单体 | 新分布式 | 变化 |
|---|---|---|---|
| 峰值TPS | 5000 | 10500 | +110% |
| P99延迟 | 1.2s | 1.2s | 持平 |
| 弹性扩容时间 | 小时级 | 分钟级 | 大幅提升 |
| 单节点故障影响 | 全局 | 局部(该服务降级) | 可用性提升 |