# Day3 # 性能测试实战篇

Jmeter执行原理

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

监听器:

概念:

用来监听以及显示jmeter取样器的测试结果,能够以树、表及图形形式显示测试结果

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

常用监听器:

1、查看结果树:查看线程组下所有请求的结果(查看发送网络请求后返回的信息)

添加路径:线程组 > 添加 > 监听器 > 察看结果树,如下图所示:
image
2、 响应时间图:发送N次请求过程中响应时间的趋势图
3、聚合报告:记录这次性能测试中的总请求数、吞吐量,最小响应时间,最大响应时间,平均响应时间 ,中位数,90%,95%,99%等,可以用来帮助分析被测系统的性能。添加路径:线程组 > 添加 > 监听器 > 聚合报告
image
4、汇总报告:与聚合报告类似,其中有一个标准偏差。

image

5、后端监听器:后端监听器看见实时数据,然后再用Grafana进行可视化展示。
使用BackendListenerClient
image
image

线程属性

  • 线程数

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

  • Ramp-Up时间(秒)

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

​ 每秒执⾏线程数=线程数/Ramp-Up
​ 具体如:
​ 如设置的线程数为50,Ramp-up的时间为10,那么也就是说开启执⾏后, 每秒会启动5个线程,如果Ramp-Up设置为
​ 0,那么开始执⾏后,50个线程会⽴刻启动。
image
所有的互联网产品都是HTTP的请求
如何添加HTTP请求:
image
专业名词含义:
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:每秒从客户端发送的请求的数量

调度器:

image

持续时间:

指所有的人物执行完毕后,任务再接着执行n秒,目的是验证被测服务的稳定性(任务由于资源有限没能执行完毕,在持续时间内继续执行)

启动延迟:

等待把所有被执行的任务集合中一起来瞬间来执行

性能测试注意事项:

1、客户端本身的资源也是有限的,到具体一定的值,就不能再载扩大每秒并发用户数了 。这个时候使用分布式的技术来实现。测试环境和生产环境必须保持一致。

PerMon插件(jmeter的扩展包都是存放在lib目录的ext目录下):

1、我们在性能测试的过程中,需要收集被测目标服务器的终端的系统资源
A、在目标服务器部署serveragent(功能就是收集数据)
B、在JMeter连接serveragent,把收集的数据展示出来

2、安装permon插件

jmeter-plugins-manager-1.6.jar

②安装目录
image

安装ServerAgent(ServerAgent负责收集数据)

将资源包解压放置与jmeter同一个文件夹里,打开文件夹,双击打开startAgent.bat,如图所示:
image
成功后显示窗口如图所示:
image
添加被测资源:
image
收集数据过程:

如何查看自己的数据:

①修改自己的id名称
image

influxdbUrl:服务器地址

image
②先在jmeter发送请求,再打开服务器查看数据
image
④切换查看个人数据
image

posted @ 2022-05-20 18:14  NANA~  阅读(146)  评论(0)    收藏  举报