性能测试场景设计之普通性能场景设计

常见的六种设计方法之一

 普通性能场景设计

使用jmeter 线程组,模拟用户并发数,线程组Jmeter本身是没有对线程数做限制,但是对于机器本身性能有要求,受电脑cpu的主频限制,一台电脑不可能创建无限量的线程数。实际的情况,http协议的脚本,线程数,大概能 1500左右 2000个可能产生,但是可能会出错,可能能产生1000个左右的并发数,一台设备使用http协议参数最多能使用1000个并发用户数

如果在请求的过程中服务器报错了,默认是让它继续。做性能测试,大量的并发用户向服务器发起请求,请求的过程中,服务器可能偶尔出错。这种出错的频率非常低的情况下,没问题。如果对于产品的准确性,要求是99.9%,那么0.1%的报错是被允许的。

如果对于产品的准确性,要求是99.99%,那么0.01%的报错是被允许的。允许有一定的报错,但是这个报错的频率不能很高。但是出现连续的这种报错,就有性能问题。

ramp-up时间

  启动所有线程数启动的时间 ,上图表示在5s中启动600个并发数 

  •  在ramp-up时间结束点,所有的人会产生
  •  在ramp-up时间内,是否均匀产出并发用户数,是不确定
  • 在启动时间内,产生的并发用户数,一产生,就去发起请求
  • 启动了并发用户,就会去发起请求,不同时间产生的并发用户数,与前面产生的并发用户数,调用的接口可能不一样
  • jmeter做性能测试,更多时候,使用的是,广义并发(同一时间请求同一个接口为狭义并发)
  • ramp-up时间要大于等于1

线程数 和  ramp-up时间的设置区间范围

  • 500 以内的并发用 户数, ramp-up 时间设置为 2~4s
  • 500-1000 ramp-up设置为 5s
  • \>1000 ramp-up设置为 5-8s

一个原则: ramp-up时间在总执行时间中,占比要很低

一般的情况,一个性能测试的总执行时间 几十秒钟 ~ 几十分钟

循环次数

默认必须 大于等于1

循环次数,就是每个并发用户 要去执行的请求数量

复习框 永远 一直循环,直到你点击停止,才会

永远 要与 调度器 一起使用

测试场景:

30个并发用户,持续运行300s

请求接口

 

定义用户变量
定于用户参数提取用户变量的值

聚合报告: avgRT:2.937s   90%RT:3.382s  avgTPS: 10.2 (吞吐量jmeter 常用于表示tps)

吞吐量是指系统在单位时间内处理请求的数量

压测结论:

90%RT:3.382s可以看到,这个响应时间是比较长的,已经超过了我们用户能容忍的范围了,用户满意度指数1.5s(行业指定的标准),说明我们的接口响应比较慢

30个用户并发平均响应tps avgTPS: 10.2 ,tps<并发用户数,每秒钟一个用户都不能正常发起一个请求,已经超过了我们项目这个接口能承受最大并发用户数了。

结论:服务器注册接口最大并发用户数小于30

根据当前网络带宽计算 网络瓶颈:

本机使用1M宽带 1Mb = 1 x 1024kb = 1024kb/8 = 128KB/s  图中传输速率远低于128kb,所以没有网络瓶颈

响应时间图大于4s

 

posted @ 2022-11-12 20:47  成子吃橙子  阅读(69)  评论(0编辑  收藏  举报