性能测试--面向目标场景设计

一、场景理解

在企业中,做性能测试会经常遇到,通过确定定义的某个预期性能指标值,要你验证实际的性能情况是否能够超过预期期。比如:期望某个接口系统的处理能力不低于 200 次/秒,问你,这样的场景,你如何设计?

比如:

  • 某个接口,做性能测试要求TPS满足50
  • 某个接口,做性能测试要求支持1000个并发
  • 某个接口,想找到最大用户并发数

在系统没有瓶颈时,增加并发用户数,TPS会上升,但是response time也在增大

在达到系统瓶颈时(tps极限值等),再增加并发用户时没有意义

 

二、工具使用

 

1、设计接口目标50tps,通过jpgc插件中的bzm - Arrivals Thread Group线程组来自动增加线程使TPS达到目标值

性能测试--面向目标场景设计

 

 

 

 

第 1 个,Target Rate 设置为目标 12000,因为时间是分钟;第二个 RampUpTime 加速时长,随自己设置;第三个 Ramp-Up Steps Count 总共加速次数,随自己设置;第四个 Hold Target Rate Time 达到目标后,持续运行多长时间,随自己设置。

活跃线程数:

性能测试--面向目标场景设计

 

 

 

TPS数

性能测试--面向目标场景设计

 

 

 




2、设计接口并发用户23个,通过jpgc插件中的bzm - Concurrency Thread Group线程组来自动增加线程达到目标值,观察响应时间(<1.5s)和tps是否满足需求

 

性能测试--面向目标场景设计

活跃线程图:

性能测试--面向目标场景设计

 

响应时间图:

性能测试--面向目标场景设计

 

 

 

注意点:在进行过一轮性能测试后,不要立马开启第二轮,需要等待服务器性能达到理想状态在开始进行下一轮,可以使用top命令进行查看,load average 小于cpu的值就可以了

性能测试--面向目标场景设计

 

上一篇:TPS和QPS的区别和理解


下一篇:支持百万级TPS,Kafka是怎么做到的?答案藏在这10张图里