jmeter性能测试实战

一、JMeter执⾏原理

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

 

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

 Ramp-Up时间(秒) 该属性指的是所有线程从启动到开始运⾏的时间间隔,单位是秒,也就是说所有线程在多⻓时间内开始执⾏,如线 程数设置50,设置的时间为5秒,那么计算的公式为:
 
每秒执⾏线程数=线程数/Ramp-Up 具体如: 如设置的线程数为50,Ramp-up的时间为10,那么也就是说开启执⾏后,每秒会启动5个线程,如果Ramp-Up设置为 0,那么开始执⾏后,50个线程会⽴刻启动。
 

二、jmeter性能测试实战

我们以百度实战为例

1、在线程里面创建一个新的【线程组】,在【线程组】添加里面找到【取样器】,创建一新的【HTTP请求

 

 

 

2、在【HTTP请求】中,我们找到路径把百度的请求地址放到里面

 

 

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

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

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

 

 

 

 

 

 

4、添加【聚合报告】【汇总报告】,使我们能更加直观的看到【样本数】【平均值】【中位数最大最小值等等测试数据

 

 

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:每秒从客户端发送的请求的数量

5、添加调度器

调度器 持续时间:指的是所有的任务执行完成后,任务再接着执行N秒,目的是验证被测服务的稳定性

 

 

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

 

 

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

 
六、循环次数

 

 

 汇总报告跟聚合报告的区别:

 

 

三、下载使用PerfMon插件:

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

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

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

 

 

 启动插件

 

 启动成功

 

 下载PerfMon

 

 

 

 

 

 

 

后端监听器:

 

 

 

 

 

四、 Grafana可视化展示

1、我们打开【Grafana】http://47.95.142.233:3000/d/Z6Jz03i7k/apache-jmeter-dashboard?orgId=1&refresh=5s 

2、在里面我们可以详细的看到我们测试的数据

 

 

 3、我们使用jmeter做性能测试的时候一共可以通过六种方式来查看他的测试数据

 

posted @   朝阳群众老马  阅读(628)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示