我们工作中经常会遇到:给定某个预期的性能测试指标,需要你验证预期的性能测试指标是否能够满足或者超过预期。
如:1、期望某个接口的处理能力不低于200秒---也就是要达到200tsp
2、系统能否支持200个并发用户数。
就分别代表了两种面向目标的场景:直接面向tps值、面向并发用户数。
一、直接面向tps值场景设计。
期望某个接口的处理能力不低于200秒,只要设计一个目标场景TPS能超过200,而不报错,响应时间也在可接受的范围内就可以了。
1、添加bzm - Arrivals Thread Group线程组设计目标
第1个,Target Rate 设置为目标12,因为时间是秒;第二个 RampUpTime 加速时长,随自己设置;第三个 Ramp-Up Steps Count 总共加速次数,随自己设置;第四个 Hold Target Rate Time 达到目标后,持续运行多长时间,随自己设置。
2、结合监听器
添加 Active Threads Over Time 监听器,查看运行过程中,实时的并发用户数;
再添加 Transactions per Second 监听器, 查看运行过程中,实时TPS值;
通过这两个监听器,实时对比可以看到,在某个时间点tps达到或者超过xx值,此时的并发用户数的值,就知道系统在多少并发用户数时,能够满足预期目标xxtps值。
如果发现运行过程汇总,已经报错,或者响应时间超长,tps确始终无法达到预期的xxtps,那就说明,该接口无法达到预期目标。
二、面向并发用户数场景设计
面向并发用户数的bzm - Concurrency Thread Group并发线程组
接口能否接收x并发用户数:只要能承受多少人,不关注tps
看错误率,可能没有响应时间1.5秒的标准