一、场景理解
在企业中,做性能测试会经常遇到,通过确定定义的某个预期性能指标值,要你验证实际的性能情况是否能够超过预期期。比如:期望某个接口系统的处理能力不低于 200 次/秒,问你,这样的场景,你如何设计?
比如:
- 某个接口,做性能测试要求TPS满足50
- 某个接口,做性能测试要求支持1000个并发
- 某个接口,想找到最大用户并发数
在系统没有瓶颈时,增加并发用户数,TPS会上升,但是response time也在增大
在达到系统瓶颈时(tps极限值等),再增加并发用户时没有意义
二、工具使用
1、设计接口目标20tps,通过jpgc插件中的bzm - Arrivals Thread Group线程组来自动增加线程使TPS达到目标值
第 1 个,Target Rate 设置为目标20,时间是秒;第二个 RampUpTime 加速时长,随自己设置;第三个 Ramp-Up Steps Count 总共加速次数,随自己设置;第四个 Hold Target Rate Time 达到目标后,持续运行多长时间,随自己设置。
活跃线程数:
TPS数
2、设计接口并发用户23个,通过jpgc插件中的bzm - Concurrency Thread Group线程组来自动增加线程达到目标值,观察响应时间(<1.5s)和tps是否满足需求
活跃线程图:
响应时间图:
注意点:在进行过一轮性能测试后,不要立马开启第二轮,需要等待服务器性能达到理想状态在开始进行下一轮,可以使用top命令进行查看,load average 小于cpu的值就可以了