Jmeter中的几种协议

FTP

ftp的默认端口号是21,22是ssh,23是Telnet,3306是MySQL数据库,1543是seqserver,80是http,443是https,8080是Tomcat

FTP即File Transfer Protocol,文件传输协议,就是用来传输文件的
在jmeter中使用
如果要上传非文本文件,要勾选使用二进制模式
在这里插入图片描述
也可以直接把本地文件内容上传到文件里
在这里插入图片描述

webService

jmeter默认不支持webService了,需要下载插件
在这里插入图片描述
但是插件中是不支持中文的,遇见中文就乱码
所以借用大神修改的插件-CustomSoapSampler-1.3.4,已上传到资源,把插件放到jmeter安装目录\lib\ext,然后重启jmeter。
这时取样器中就有了
在这里插入图片描述
如果是练习时,网上有免费的webservice的服务,所有人可访问。但是用来练习调试脚本可以,不能用来压测。它是有限制的,短时间内访问次数过多会被封ip。

在这里插入图片描述
进去后有很多的webservice,我用手机号码归属地测试
在这里插入图片描述
在这里插入图片描述
URL是http://+host+post
下面的是请求内容,两个string的位置是请求参数,userid没有就不填
在这里插入图片描述
在这里插入图片描述
然后执行一下看看,可以看到请求是成功的,而且中文内容也是可以正常显示的
在这里插入图片描述

jdbc

想要测试一个数据库,得先有数据库(开启数据库)
还要一个驱动文件(需要下载)驱动的版本要和mysql的版本对应上,前面大的版本号能对应上就可以
在这里插入图片描述
两种方式添加驱动

1.测试计划下的浏览,找到存放驱动的目录,添加进去
在这里插入图片描述
2.直接把驱动放到jmeter安装目录下的lib中,然后重启jmeter
在这里插入图片描述
jmeter中配置jdbc请求
添加配置元件,添加请求,添加察看结果树
在这里插入图片描述
在这里插入图片描述
Validation Query:要么为空,要么select 1就可以,select 1基本上可以通用
Database URL:jdbc:mysql://ip:端口号/库名(端口号如果是3306就不用写,我的是有冲突,改成3307,所以要写)
jdbc driver class:jdbc驱动类(第一个就可以)
在这里插入图片描述
请求中的Variable Name of Pool declared in JDBC Connection Configuration与配置元件JDBC Connection Configuration中的Variable Name for created pool要一致。代表执行请求的时候要用到那个连接
在这里插入图片描述
怎么用jmeter执行SQL
我lebo这个库中有user这个表
在这里插入图片描述
jmeter中写SQL语句和在dategrip中执行SQL是一样的
在这里插入图片描述
在这里插入图片描述
对于数据库来说,只有查询和更新。无论是增删改,都需要更新。
我增加一条数据(update和delete也是一样的,都要用update statement)
在这里插入图片描述
就是有一条更新
在这里插入图片描述
参数化
1、直接用${__Random(001,999,)}这种形式
我用30个线程循环3次,name设置为3位的随机数
在这里插入图片描述

执行可以看到是成功的
在这里插入图片描述
在数据库中看一下结果,是增加成功的
在这里插入图片描述
2、预定义的形式
用问号占位,代表问号的位置将会有一个变量传进来,下方Parameter values就是要传的变量
如果有多个问号,下面变量位置就写多个,前后位置要一一对应。
Parameter types:传的变量的类型
在这里插入图片描述
对于数据库来说,预定义的形式性能更好,尤其是在大量重复使用一条语句的时候,性能更好。因为这种方式mysql数据库会把SQL提前编译好存在mysql里边,然后再次调用的时候直接传参数就可以了,不会有检查编译的过程。
提取库中的数据
用SQL语句可以查出来数据库中的数据了,然后该怎么用呢?
我查询的是表中name的值,把取出的值存放到变量中,取名为names
Variable names就是变量的值
在这里插入图片描述
debug看结果,这就取出来并存好了
在这里插入图片描述
然后再用foreach迭代,打出来看看。查出来几条数据里面就可以打出几条
在这里插入图片描述

自定义线程组

安装插件
在这里插入图片描述
插件安装完再打开就可以看到,多了这5个线程组
在这里插入图片描述
一个个看
bzm - Arrivals Thread Group
Target Rate:目标多少个(10个)
在这里插入图片描述
Ramp Up Time:多长时间内起来(现在是按分钟算的,下面可以切换分钟和秒钟,1分钟)
在这里插入图片描述
Ramp-Up Steps Count:几步起来(2步)
在这里插入图片描述
Hold Target Rate Time:达到目标个数后,再运行多长时间(10分钟)
在这里插入图片描述
bzm - Concurrency Thread Group
和上面的基本没有区别
bzm - Free-Form Arrivals Thread Group
多用于综合场景,完成第一段再启动第二段
添加一行(从第1个开始,到第10个结束,期间经过了60秒。Start Value,End Value,Duration这些值都是可以改的)
在这里插入图片描述
添加多行,然后需要刷新一下(比如再添加一条然后删除),图表才会发生变化
第二行需要第一行的试岗用户都跑完才开始跑的
在这里插入图片描述

jp@gc - Ultimate Thread Group
和bzm - Free-Form Arrivals Thread Group很像,但是这个是累加的,不像那个是一段一段分开的
这是两个不同的组织
这个也是用于较复杂的场景,在这里脚本不用变,只修改线程组就行
Add Row添加一行数据
Start Threads Count:开始线程数
Initial Delay,sec:初始化延迟
Startup Time,sec:启动时间,多长时间启动完所有的用户
Hold Load For,sec:用户需要跑多长时间
Shutdown Time:退出时间
一共100个线程,30秒进场完毕,执行60秒,然后10秒内全退出
在这里插入图片描述
我再添加一个
一共200个线程数,前100个需要30秒启动,后100个需要10秒内启动,而这里还是30秒就启动完了,所以这个是取大的,30秒内这200个全都启动了,而不是一个执行完再执行另一个
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

是佳佳呀~

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值