Jmeter性能测试执行及结果分析

做性能测试,先是根据策略编写脚本,然后才是执行脚本,现在我已经编写好了脚本,一个最简单的脚本
在这里插入图片描述

然后保存,运行,在察看结果树里,可以看到正确的响应结果

在这里插入图片描述

现在,启一个线程让这个脚本一直循环运行,查看运行情况,因为是循环运行,HTTP请求,会执行很多次,而这些结果都在察看结果树里显示出来,就不是很好,所以在察看结果里里勾上,只显示错误的请求信息
在这里插入图片描述

然后线程组配置成永远循环,调度器设置成60秒,我这里只是演示,就不去跑10分钟了

在这里插入图片描述

配置好保存,清除之前的结果,之后就开始运行
在这里插入图片描述

右上角,小框框里面显示的是脚本的运行时间,小三角形前面的数字,代表jmeter运行过程中的异常数,这个异常数和脚本里的错误是两码事。比如连接不上服务器,这里就会有异常。小圈圈前的0/1代表当前正在运行的线程数和脚本运行中的最大线程数,因为现在脚本已经停止运行了,所以没有线程在运行,所以前面就是0。而且我的脚本运行时,只启了一个线程,所以最大线程数就是1。在察看结果树里,没有结果输出,代表没有错误的请求,重点看聚合报告
在这里插入图片描述

Label:是请求的名称

#Samples:在脚本运行过程中,一共发了多少个请求

Average:平均响应时间,服务器处理一个请求需要多少时间的平均值,单位:毫秒

Median:响应时间的中间值,就是所有请求的响应时间从小到大排个序,正中间的那个值是多少

90%Line:响应时间从小到大排序,在第90%位置处的值是多少,比如一共发了10000个请求,那么就是第9000个的值

95%Line、99%Line同上

Min:最小响应时间,就是所有请求中响应时间最短的那一个

Max:最大响应时间,就是所有请求中响应时间最长的那一个

Error %:错误率,错误请求占所有请求的比率是多少

Throughput:这个就是常说的TPS了,也就是中文常说的吞吐量。代表的是服务处理请求的能力,服务器在1秒之内能处理多少个请求。

最后面两个就是每秒接收数据量和发送数据量,不过这两个值,有些情况下会没有

因为跑的时间比较短,再跑长点时间,TPS可以到1000。因为我这个框架,业务比较简单,而且数据库里的数据也非常少,所以响应非常快。通过响应时间,我们可以推算出服务器一个线程,在1秒内可以处理多少个请求。比如这里是1毫秒,那么服务器一个线程,1秒是可以处理1000个请求的。不过呢,这个1毫秒是向下取整得来的,显示是1毫秒,而实际上可能是1.2或是1.3毫秒。再通过TPS,就可以推出服务器大致启了多少个线程在处理请求。比如平均响应时间是20毫秒,那么服务器一个线程一秒可以处理50个请求,如果TPS是400,那么就可以推出服务器大概是启了8个线程在处理请求。当然,这个并不是绝对的,尤其是在服务器没有达到极限的时候。接下来,再看服务器的资源使用情况
在这里插入图片描述

可以看到,在刚开始发请求的时候,服务器的CPU使用率非常地高,最高的时候达到了75%,因为这个时候,服务器要创建很多线程,线程又要处理业务,所以CPU的使用率就变得很高了。然后,到了后期,线程都创建好了,那么就只有处理业务的消耗,所以CPU的使用率就慢慢的降下来了,并趋于平稳。内存就没有什么可看的了,跑得时间短,如果跑的时间比较长,比如10分钟,而在跑的过程中,一直在增高,那么就要考虑有内存泄露的问题了。而磁盘I/O,因为没有打日志,所以就完全没有了。

1个线程的跑完了,服务器的性能就有了一个基准值。那么就要再加线程跑,现在加到2个线程跑。

在这里插入图片描述

清除之前的结果,运行

在这里插入图片描述

在这里插入图片描述

可以看到2个线程的时候,TPS是1677,相较于1个线程的TPS,没有达到2倍,存在着衰减,当然跑的时间太短,对比的数据,参考性不是很准确。然后,再启3个线程跑:

在这里插入图片描述

在这里插入图片描述

2个线程TPS是1677,3个线程是1729,只增加了一点点。那么就可以得出结论,服务器的TPS极限就是1700多一点。后面,再增加线程来压,TPS也增长不动,甚至还会出现下降的情况。

现在只是测试了一种情况,还有带参数的情况,只是脚本改一下,测试的过程是差不多的。再然后就是做参数化,让脚本在运行的过程中,不停地改变参数,来查看服务器的的性能,新建一个记事本,内容如下

在这里插入图片描述

然后,在脚本里引入这个文件,读取里面的内容做参数

在这里插入图片描述
在这里插入图片描述

然后线程组,设置启一个线程,循环4次,察看结果树的只显示错误,不勾选,运行一下,看结果

在这里插入图片描述
在这里插入图片描述

可以看到,4次,每次运行的结果都不一样,然后就是让脚本一直循环,持续运行一段时间,看性能数据
在这里插入图片描述

这是启2个线程跑的,可以看到,比之前全是一样的请求时,性能下降了
————————————————
版权声明:本文为CSDN博主「枝月」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kingzhsh/article/details/88618594

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在使用JMeter执行数据时,有一些常见的问题需要注意。首先,如果你在执行脚本成功后没有看到数据新增,可以尝试在JMeter的HTTP Cookie管理器中逐个选择不同的Cookie策略选项,可能会发现其中一个选项可以使数据新增成功。\[2\]此外,还需要注意线程组根目录下的配置元件和某个取样器的配置元件的执行顺序和方式是不一样的。在线程组的根目录下,前置、定时、后置和断言会在每个取样器执行时都执行一遍,可以用来做测试环境的准备和测试现场的清理。而在取样器的下方,这些元件只会执行一次。所以,根据你的需求,选择合适的位置放置这些元件。\[3\]希望这些信息对你有帮助。 #### 引用[.reference_title] - *1* *2* [**Jmeter 执行上传 excle文档 没有新增数据产生**](https://blog.csdn.net/weixin_42973721/article/details/84583318)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Jmeter执行顺序和执行层级](https://blog.csdn.net/qq_15283475/article/details/126973683)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值