根据运营数据计算系统应该满足的性能指标
计算正常业务操作(稳定性测试)的并发量
计算峰值业务操作(压力测试)的并发量
如何进行并发数计算(稳定性测试和压力测试)
使用阶梯线程组自定义模拟用户数量。
- 测试计划->添加->线程->jp@gc - Stepping Thread Group
使用吞吐量成形定时器发送请求,衡量系统的TPS。
- 吞吐量成形定时器:Throughput Shaping Timer
- 单线程数:start=1 end=1000,持续时间是60。表示在60s内发送请求数均匀的从1提升到1000。
- 添加监听器TPS->负载增加,TPS稳定->最大用户并发量=TPS*RT(选取第一个拐点)。
- 如果一个请求响应时间为2秒,END RPS 为30,那么线程数:2*30=60 (所需线程数=响应时间*RPS),即大约要60个线程。吞吐量成形定时器发出的总请求数参考定时器控制发出的RPS,不用乘线程数。
衡量秒杀系统的最大并发量
关于秒杀系统的压力测试
- 模拟500个用户(500线程数,循环1次)+ 同步定时器,在一定时间内累积一定的请求(聚合报告:samples指标),同时释放后观察Troughtput指标。
- 如果Troughtput>=samples,那么该系统满足500个用户量同时秒杀的性能。
计算稳定和峰值业务并发量
- 根据运营数据计算稳定业务并发量:TPS = 总请求数 80% / (总时间20%)
- 根据运营数据计算稳定业务并发量:TPS = 峰值请求数 / 峰值时间 * 系数
- (系数取决于项目组对于未来业务量的评估,如果业务增长不快可以乘以2,增长快乘以3,或者其他)
衡量系统业务并发量
- 客户端视角:使用并发用户数来衡量系统的性能,并发用户数=TPS*RT
- 服务端视角:使用TPS来衡量系统的性能。
- 衡量指标一般是RPS/TPS/QPS/HPS(每秒能够处理的请求数/事务数/查询数/点击数)
- RPS:通常用于衡量Web应用程序或API的性能,表示每秒钟能够处理的请求数量。
- QPS:通常用于衡量数据库系统的性能,表示每秒钟能够处理的查询数量。
- TPS:表示每秒处理事务数,每个事务可能有多个请求。
- HPS:表示每秒能够处理点击数。
总结
- 服务器的性能主要由TPS来衡量(服务器事务处理速度)。
- 假如一个用户只发送一个事务请求,那么并发用户数,取决于TPS和并发时间。因此并发用户数是一个相对概念。一般0.1s内的并发用户数=0.1TPS。因此计算并发用户数,先计算TPS。不过一般并发时间选取一个事务平均响应时间。
- TPS峰值指标获取:根据运营数据计算:峰值阶段请求数 / 峰值时间 * 系数。
- TPS稳定指标获取:根据运营数据计算:稳定运行期间总请求数80%/稳定运行期间总时间20%
- 模拟用户指标获取:可选取高峰时间段,使用系统的人数(或者在线用户数*10%)。
- 基于模拟用户指标设置线程数(无线循环)+定时器,递增发送请求,并使用TPS监听器查看结果。