(1)普通的计算方式:
TPS = 总的请求数 / 总的时间
问题:对于同一天的时间内,不同的时间段,请求速率会有波动,这样计算会被平均掉,无法测试负载高的情况
(2)二八原则:
核心:80%的请求数会集中在20%的时间内完成
TPS = 总的请求数 *80% / 总的时间 * 20
注意:二八原则的计算方法会比平均的计算方式更准确
(3)按照每天的具体业务数据进行计算(稳定性测试TPS)
当获取每天的具体业务统计数据时,就可以统计出业务请求集中的时间段作为有效业务时间;并统计有 效业务时间内的总请求数
TPS = 有效业务时间的总请求数 * 80% / 有效业务时间 * 20%
(4)模拟用户峰值业务操作的并发量:(压力测试TPS)
获取每天的交易峰值的时间段,及这个时间段内的所有请求的数量
TPS = 峰值时间内的请求数/峰值时间段 * 系数
系数可以是:2、3、6、10,由项目组自己觉得要达成的性能指标
业务场景练习:
某宝某东购物商城,经过运营统计,正常一天成交额为100亿,客单价平均为300元,交易时间主要为10.00-14.00,17.00-24.00,其中19.00-20.00的成交量最大,大约成交20亿。
现升级系统,需要进行性能测试,保证软件在上线后能稳定运行。
请计算出系统稳定性测试时的并发(负载)量,及保证系统峰值业务时的并发(负载量)
基于需求:
稳定性分析
- 有效的交易时间为10:00-14:00,17:00-24:00,一共为7个小时
- 有效的请求数:100e/300
- 稳定性TPS = 100e/300 * 80% / (11*3600*20%)
压力分析
- 峰值的交易时间为19:00-20:00,一共为1个小时
- 有效的请求数:20e/300
- 峰值TPS = 20e/300/3600 * 系数