jmeter入门----安装及简单使用

jmeter作为一个性能测试和接口测试的工具,非常好用,因为免费,所以也成为了许多公司的主流压测工具,但是对于小白来说,使用它是有一定门槛的,首先懂一些编程,因为其中有if控制器,循环控制器等,还有会一些常用的协议如http,ftp等,下面从安装开始,我们来一步一步的编写一个简单的压测脚本吧。

1.安装jdk

  jmeter首先要安装java,jdk下载地址:http://java.sun.com/javase/downloads/index.jsp,安装后配置环境变量,

变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_51 (即jdk安装的位置)
变量名:Path  (这个变量名已在系统变量中存在,现只需在这个值的前面添加以下变量值就可以了)
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
变量名:CLASSPATH
变量值:.;%JAVA_HOME%lib;%JAVA_HOME%lib\tools.jar(记住前面的.)

配置完成之后点击“确定”,jdk就配置完成。
检测jdk安装版本,在cmd命令框中输入“java -version”回车即可查看版本
 
2.安装jmeter
jmeter下载地址: http://jmeter.apache.org/download_jmeter.cgi,同样配置环境变量

变量名:JMETER_HOME

变量值:C:\Program Files\apache-jmeter-2.11

变量名:CLASSPATH

变量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;

%JMETER_HOME%\lib/logkit-2.0.jar;

创建完成之后点击“确定”即可

3.进入你的apache-jmeter-2.11目录,打开bin目录,下面有个jmeter.bat文件,双击即可打开jmeter,

 

当你看到了jmeter的gui界面,并且右上角的黄色惊叹号显示为0时,说明jmeter已经正确安装了,如果没有,肯定是环境变量配错了

2.jmeter使用

  我们来对百度进行一个简单的压测,并且查看它的各项指标(tps,RT等),tps--每秒的事务数,就是每秒能处理多少套流程,比如你的支付事物,肯定有银行,支付宝服务器的参与,这个过程就是一个事务,Rt--响应时间,从发出请求到接受到响应的时间,越短说明性能越好。

打开jmeter后如下 

每个压测脚本都会有一个测试计划根节点,点击测试计划,右键添加threads->线程组,如下:

我们来看看每个需要配置的项的含义:

名称:这个线程组的名字,去个不要重复有意义的吧

注释:类似于代码注释,可以写个简要说明

在取样器错误后要执行的动作:这个要重点解释下了,jmeter是通过多个线程,每个线程有执行这一套流程,来对服务器产生压力,可以想象成跑道上比赛,有多少个跑道就有多少个线程,每个跑道都是一样的,那其中有线程失败了怎么办呢?继续--不管错误,继续执行下面的请求,相当于继续跑下去。start next thread loop:失败后当前的事务不执行下去了,从头开始,如果你设置了下面的循环次数,那就开始下一个循环。停止线程--当前线程的当前循环失败了,那么这个线程就被停止了,这个跑道就没用了。停止测试--如果有一个循环失败了,那么所有的线程都执行完当前循环就停止,只要有一个人摔倒了,所有的人跑完了就结束了  stop test now--如果有一个循环失败了,那么所有的线程立即停止,只要有一个人摔倒了,所有的人马上停止。

线程数:虚拟用户数,几条跑道,这里设置10

Ramp-up Period:在这个时间内所有的线程都启动,比如说线程数为10,Ramp-up Period为5,那就是每秒启动两个,每秒都有2个人开始跑,5s内全部都开始了,这里设置5

循环次数:每个线程的循环次数,当前跑道跑几次,线程数为10,循环次数为5,那就跑了50次,这里设置5

点击线程组,右键添加->sample->http请求,如下:

名称注释和上面一样

服务器名称或IP:就是你要发送http请求的主机,这里填入www.baidu.com

端口号:默认80,如果是https填入443

路径:url的路径部分,这个填入/

方法:常用的是get和post,这个用get

协议:默认http,这里保持就行

 点击http请求,右键添加->断言->响应断言

 断言相当于你预计的结果,这里在要测试的模式中填入<title>百度一下,你就知道</title>,因为这个http会返回这个

 点击http请求,右键添加->监听器->查看结果树

 点击http请求,右键添加->监听器->聚合报告

 所有的设置就这样了,点击运行

点击查看结果树,你可以看到都是绿色的,说明返回的结果和预期的断言一致,不一致会显示红色(可以试试把响应断言改成其他的内容)

点击聚合报告,你会看到一些数据:

 

label:就是你的请求名字

sample:一用发送了多少个请求

average:每个请求都会有响应时间RT,把这些响应时间从小到大排列,90%的,95%,中位数,最大的和最小的时间都可以看到

error:错误率,这里没有错误,显示0

throughput:吞吐量,每秒处理多少个事务,这里显示11,显然不是最大的能力,因为我们的压力比较小

后面两个是每秒发送和接受的字节大小

  以上是一个及其简单的压测脚本,所有的压测脚本都是在这个框架之上添加其他的元件,当然这几个元件还有很多属性没有一一列出,利用这个脚本我们得到百度服务器当前压力值下的tps,RT,这只是性能的第一步,总之就是模拟多个用户对接口进行访问,获取一些指标, ps 不要对服务器压的太狠!!!!

猜你喜欢

转载自www.cnblogs.com/diwangguilai/p/10169502.html
今日推荐