李凯 5.20日

JMeter性能测试实战

JMeter执⾏原理 JMerer通过线程组来驱动多个(也可以理解为LR⼯具⾥⾯的虚拟⽤户)运⾏测试脚本对⽬标服务器发起⼤量的⽹络请求,在每个客户端上可以运⾏多个线程组,也就是说⼀个测试计划⾥⾯可以包含N个线程组。

线程属性

线程数 ⼀个线程可以理解为对应模拟⼀个⽤户,所以线程数越多,那么也就认为可以模拟的⽤户数越多。

Ramp-Up时间(秒) 该属性指的是所有线程从启动到开始运⾏的时间间隔,单位是秒,也就是说所有线程在多⻓时间内开始执⾏,如线 程数设置50,设置的时间为5秒,那么计算的公式为:

每秒执⾏线程数=线程数/Ramp-Up 具体如: 如设置的线程数为50,Ramp-up的时间为10,那么也就是说开启执⾏后,每秒会启动5个线程,如果Ramp-Up设置为 0,那么开始执⾏后,50个线程会⽴刻启动。

 

添加HTTP请求(所有的互联网产品HTTP的请求):

 

 

 

再分别在监听器中添加察看结果树、响应时间图、聚合报告以观察各项数据

查看结果是在监听器中,它的组件具体如下:

  1、察看结果树:查看发送网络请求后返回的信息;

  2、响应时间图:发送N次请求过程中响应时间的趋势图;

  3、聚合报告里面可以看到吞吐量,最小响应时间,最大响应时间,平均响应时间 ,中位数,90,95,99。

 

 添加合适数据运行结果如图:

 

 

 

 

 

 

汇总报告

与聚合报告基本一致,汇总报告多出了标准偏差

 

 

Label:取样器名称

Samples:取样器运⾏次数

Average:单个请求的平均响应时间

Median:50%请求的响应时间

90%Line:90%请求响应时间 95%Line:95%请求响应时间

99%Line:99%请求的响应时间

Min:请求的最⼩响应时间

Max:请求的最⼤响应时间 Std.Dev:响应时间的标准⽅差

Error%:事务错误率 Throughput:吞吐率,也就是TPS

KB/sec:每秒数据包流量

Avg.Bytes:平均数据流量

Received KB/sec:每秒从服务器端接收到的数据量

SentKB/sec:每秒从客户端发送的请求的数量

 

 

调度器: 持续时间:指的是所有的任务执行完成后,任务再接着执行N秒,目的是验证被测服务的稳定性(如图:理想状态下3S可完成,若3S未完成,则延长30S)

 

 

启动延迟:等待把所有被执行的任务集合中一起来瞬间来执行

(类比:1.准备工作 2.开始工作 启动延迟则是开始前准备的时间为5S)

 

 性能测试注意事项:

  1、客户端本身的资源也是有限的,到具体一定的值,就不能再扩大每秒并发用户数了 。这个时候使用分布式的技术来实现。

 

PerMon插件:

1、我们在性能测试的过程中,需要收集被测目标服务器的终端的系统资源

      A、在目标服务器部署serveragent(功能就是收集数据)

      B、在JMeter连接serveragent,把收集的数据展示出来

(1)运行前打开serveragent并运行:

 

 

 

 (2)随后创建运行PerMon可查看目标服务器的终端的系统资源

 

 

 

添加后端监听器:

 

 后端监听器运行原理:

Grafana:http://47.95.142.233:3000/d/Z6Jz03i7k/apache-jmeter-dashboard?orgId=1&refresh=5s

 运行过程:

 

 更改名字则可查看自己的运行数据:

 

 

 

 

 

 

 

 

posted @   重逢Fate  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示