压测软件Jmeter使用实例(WIN7环境)Jmeter安装配置Sampler监听器(Listener)点击启动按钮,开启测试Jmeter自定义变量Redis的压测

心已赠人 2024-03-16 16:41 17阅读 0赞

目录

引言

为什么使用Jmeter

Jmeter安装配置

线程组( Threads (Users))

配置元件(Config Element)

HTTP请求默认值

Sampler

HTTP请求

监听器(Listener)

聚合报告

参数含义:

图形结果

参数含义:

点击启动按钮,开启测试

Jmeter自定义变量

Redis的压测


引言

对于初学者来说,学习jmeter可能需要一些时间来适应和了解它的使用方法。在我的测试工作中,我也曾经遇到过这个问题,但是通过耐心地学习和实践,我现在已经可以轻松运用Jmeter进行性能测试了。

接下来,我将分享我的经验,帮助你在WIN7环境下正确安装配置Jmeter,并且使用Sampler监听器(Listener)开启测试,最后还将介绍如何使用自定义变量Redis进行压力测试。

话不多说,开始我们今天的jmeter学习之路吧!

为什么使用Jmeter

  • 开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件
  • 支持接口测试,压力测试等多种功能,支持录制回放,入门简单
  • 相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试
  • 多平台支持,可在Linux,Windows,Mac上运行

Jmeter安装配置

登录 http://jmeter.apache.org/download_jmeter.cgi ,根据自己平台,下载对应文件

500405c8f8f41fec463ef0988ff944c2.png

将下载Jmeter文件解压,打开/bin/jmeter.bat

6b6bf652efc009ef0a76ca3d616a6432.png

打开后如图效果显示

51a3c33ad5a16f5d9458472e7d0653b1.png

4180b64931210a0f941190918409c799.png

新建线程组

060b06b47efac4c775fcb7876035427e.png

线程组( Threads (Users))

  • 理解:一个虚拟用户组,线程组内线程数量在运行过程中不会发生改变。
  • 注意事项:线程间变量相互独立。一个测试计划内可以包含多个线程组。
  • 可定义内容: 取样器错误后执行的操作:继续,启动下一个线程,停止线程,停止测试,立刻停止 线程属性:线程数,启动间隔时间(s)(n s内启动所有线程),单线程循环次数,线程执行顺序,是否使用调度器。 调度器配置:持续时间,启动延迟,启动时间,结束时间 本实例基本设置如下

0e9ee596eb23a1aae0c3d0081d6f7718.png

为该线程组添加HTTP请求默认值

c4d3e7624c44645bec318ea7e1ed3933.png

其中

配置元件(Config Element)

理解:为测试提供数据支持的控件

HTTP请求默认值

把测试计划中所有的HTTP请求的默认配置放到HTTP请求默认值中。 把重复的内容提取出来,只需要定义一次就可以了 协议,服务器或IP地址,端口号

81b3b12b9870c8f8b7cb639c5e27818a.png

HTTP请求默认值

  • 出现在测试计划下面,那么该配置会影响测试计划下的所有HTTP请求取样器
  • 出现在线程组中,那么其影响范围是线程组。

Sampler

理解:请求,设置不同的request

HTTP请求

理解:就是一次HTTP请求

ceb330dd342ae13b84f14e7d91e2f2c3.png

本实例该配置如下

8b8b161db066eb19c48604c39651fc10.png

监听器(Listener)

理解:查看请求执行结果的控件

聚合报告

4d0124f0b1f36057e10bf8564012a814.png

180e2ec0df1ffeae04288ae5320d3c79.png

参数含义:

Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值 Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100 Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间 Median:中位数,也就是 50% 用户的响应时间 90% Line:90% 用户的响应时间 Min:最小响应时间 Max:最大响应时间 Error%:本次测试中出现错误的请求的数量/请求的总数 Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数 KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

图形结果

b6963a2cac95e59b334828681c15b251.png

参数含义:

样本数目:总共发送到服务器的请求数。 最新样本:代表时间的数字,是服务器响应最后一个请求的时间。 吞吐量:服务器每分钟处理的请求数。 平均值:总运行时间除以发送到服务器的请求数。 中间值:代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。 偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。 注意事项:图形结果本身会影响Jmeter的性能

点击启动按钮,开启测试

968941be3727598a8f095ca828d43021.png

可见TPS还是很低的

cbf104c6953134cdde6d2601f6f274a9.png

Jmeter自定义变量

配置文件

ba0a5857d353fc9d4cfab047782db869.png

642094752788777d782aabf022368ea0.png

39c79bd8ed1922259d246449e83541cf.png

Redis的压测

22dc938889d77a71b5d617028432bc3f.png

自带的压测工具

991cdd255b09a8033b80b8ec50a921e8.png

检验服务启动状态

执行redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000命令后

5226a913248918bd2349bf639c1e293f.png

可以看出redis的QPS之高

7f5729c4281cdc8ad621b174c182fe47.png

redis-benchmark -h 127.0.0.1 -p 6379 -q -d 100

a8e387906df69196d3525bda009eec88.png

只测试set,lpush命令


最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

4413577630a24bf9a5bd3795c27c47ea.png

些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)

发表评论

表情:
评论列表 (有 0 条评论,17人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Jmeter分布式

    一、为什么要使用分布式测试 按照一般的压力机配置,jmeter的GUI模式下(Windows),最多支持300左右的模拟请求线程,再大的话,容易造成卡顿、无响应等情况,这是限

    相关 Jmeter

    Jmeter工具使用入门教程 添加线程组 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text