zoukankan      html  css  js  c++  java
  • jmeter入门----安装及简单使用

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

    1.安装jdk

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

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

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

    变量名:JMETER_HOME

    变量值:C:Program Filesapache-jmeter-2.11

    变量名:CLASSPATH

    变量值:%JMETER_HOME%libextApacheJMeter_core.jar;%JMETER_HOME%libjorphan.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 不要对服务器压的太狠!!!!

  • 相关阅读:
    PAT 甲级 1027 Colors in Mars
    PAT 甲级 1026 Table Tennis(模拟)
    PAT 甲级 1025 PAT Ranking
    PAT 甲级 1024 Palindromic Number
    PAT 甲级 1023 Have Fun with Numbers
    PAT 甲级 1021 Deepest Root (并查集,树的遍历)
    Java实现 蓝桥杯VIP 算法训练 无权最长链
    Java实现 蓝桥杯VIP 算法训练 无权最长链
    Java实现 蓝桥杯 算法提高 抽卡游戏
    Java实现 蓝桥杯 算法提高 抽卡游戏
  • 原文地址:https://www.cnblogs.com/diwangguilai/p/10169502.html
Copyright © 2011-2022 走看看