一、Jmeter简介
Apache JMeter是Apache组织开发的基于Java的压力测试工具,目前常见是用来做软件的接口测试和压力测试(好用程度令人瞠目结舌~)
二、Jmeter下载与配置
1、官网下载
简单粗暴,直接进入官网下载即可:http://jmeter.apache.org
选择zip文件直接下载
2、JDK安装
因Jmeter是java开发的,要想运行java开发的程序,必须先下载jdk,安装与配置方法可以查看此详细说明:【JDK安装教程与配置】我下载的是jmeter5.0版本,对应jdk1.8,Jmeter对jdk版本要求:
JMeter2.x 最低jdk1.6
JMeter3.0/3.1 最低jdk1.7
JMeter3.2/3.3 最低jdk1.8
JMeter4.0 最低jdk1.8
JMeter5.0 最低jdk1.8
注意:JDK不一定非要配置环境变量,不配置Jmeter照样能用,具体也在【JDK安装教程与配置】中说明了,直接打开文件中的exe即可;解压之后压缩包叫apache-jmeter-5.0.zip,不要下载其他格式的;对应的jdk版本不可太低(参见上表),如果JDK版本过低也会导致Jmeter也会报错
三、Jmeter原理
1、线程组
当我们说多少多少并发的时候,也可以说1秒内,多少线程组&循环次数,这里需要注意的,这里的时间,是分配线程用的,比如线程数10,时间是5秒,循环2次,也就是说,1秒会执行2个线程&2次循环,一秒并发4次请求 添加线程组- 名称:用于区分其他线程组,根据实际情况定义就行
-
注释:备注信息
在取样器错误之后要执行的动作: - 继续:某一个请求遇到错误后,其他请求继续执行。我们在大量用户并发的时候,某个请求失败属正常现象
- 启动下一进程循环:如遇到错误后面的请求将不再执行,等下一轮再开始执行。例如线程组中包含登录和发帖2个请求,若登录请求失败,发帖请求将不再执行,等下一次重新迭代,从登录开始执行
- 停止线程:遇到错误就停止线程再也不执行了。例如线程组中有50个线程,其中某一个线程的某个请求遇到错误即停止线程不再执行,剩下49个线程继续执行。若线程错误的比较多,剩余的线程就较少,此时负载数量就不足了,测试结果不满足测试要求,因此一般不会勾选此项
- 停止测试:某个线程某个请求遇到错误,停止所有线程,也就是停止整个测试,但是线程中的余下的请求还是会执行完再停止。例如线程1中包含登录和发帖2个请求,其他线程遇到错误,现在要全部停下来,线程1发帖请求还是会执行,然后再停止测试
-
立即停止测试:遇到错误立即停止所有线程,即停止整个测试
线程组属性 - 循环次数线程数:一个线程相当于一个模拟用户
- Ramp-Up Period(秒):线程运行的时间,单位秒。即所有线程在多长时间内全部启动。例如线程60个,Ramp-Up Period设置为20s,那么每秒启动60/20=3个线程,不填写默认设置为0,即所有线程在开启场景后立即启动
- 循环次数:循环几次,如线程60个,Ramp-Up Period设置为20s,循环次数为10,那么每秒启动60/20=3个线程,循环10次,即每秒执行3*10=30次,20秒执行完20 *30=600次。开勾选forever,将一直执行,除非手动停止或崩溃
- Delay Thread creation until needed : 有的Jmeter还会有准备直至需要的按钮,不勾选则测试开始的时候,所有线程就被创建完。勾选了则线程只在合适的需要用到的时候创建,比如办业务10个人,不勾选,10个人都站在柜台外排队等待叫号,勾选,柜台只有一个人在办理,剩下的人可以坐在位置上等候
- 调度器勾选勾选了才能进行下面的调度器配置
- 持续时间(秒):持续时间,测试计划持续多长时间(只有循环次数设置了永远,才会生效)
- 启动延迟(秒):点击启动按钮后,仅初始化场景,不运行线程,等待延时时间到才运行
网友评论