一,支付性能需求分析
1、确认测试范围,明确测试需求
性能测试需求:QPS、响应时间、容错率、其他
测试范围:仅是订单-支付-回调改订单状态-赠送积分/优惠券?还是一整个完整的业务?
2、要求事务完整性(最终一致性)
分析结果:数据一致性是弱一致,服务间通信应该是异步(MQ?kafka?其他?)
系统架构:分布式系统架构——除了弱一致,服务可用性和分区容错性,取舍问题
3、梳理业务逻辑,网络拓扑图,数据流转逻辑
什么操作对数据库的表字段进行了什么修改或者影响,比如状态变更
4、场景建模
基于业务场景,是整个链路还是上面提到的整个事务的场景
5、测试环境
生产?独立的性能测试环境?SIT环境?
6、根据运维日志监控之类的,得到峰值的流量,确认模拟的并发数,不同接口的占比
7、预埋数据
8、数据隔离,防止污染和对测试结果的影响
隔离方法:压测数据落入影子库、挡板、线程标记。。。
9、基准测试+配置测试
得到数据库+服务器+负载均衡服务器1:1:1配置下的最优结果(服务可用性)
10、根据上面的测试结果,确定服务扩容