zoukankan      html  css  js  c++  java
  • JMeter做压力测试教程及结果分析

    一、测试工具:
           JMeter

    二、JMeter介绍:
    Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。

    三、Java环境的安装与配置:
    (1)因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境,

       oracle官网下载JDk https://www.oracle.com/technetwork/java/javase/downloads/index.html


     

    配置变量

    系统变量→新建 JAVA_HOME 变量 。  变量值填写jdk的安装目录(本人是 E:Javajdk1.7.0)

    系统变量→寻找 Path 变量→编辑

    在变量值最后输入 %JAVA_HOME%in;%JAVA_HOME%jrein;

    (注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

    系统变量→新建 CLASSPATH 变量

    变量值填写   .;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar(注意最前面有一点)

    系统变量配置完毕

    测试jdk是否安装成功,可在【开始】中搜索cmd,输入【java -version】


     

    四、JMeter下载与使用:
       1.JMeter下载地址:在官网 http://jmeter.apache.org/ 

    2.解压下载的二进制包,使用cmd命令进入bin目录,使用jmeter.bat启动程序。(注意直接双击jmeter.bat无法启动时需要使用Window+R,输入cmd,然后进入bin目录如下)

     

     3.启动之后会有两个窗口,一个cmd窗口,一个JMeter的 GUI

     

    上面的意思就是:不要使用GUI运行压力测试,GUI仅用于压力测试的创建和调试;执行压力测试请不要使用GUI。使用下面的命令来执行测试:

    jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

     

    五、创建测试
    1.创建线程组

    在“测试计划”上右键 【添加】-->【Threads(Users)】-->【线程组】

     

    2.设置线程数和循环次数。我这里设置线程数为500,循环一次。

     

    3..创建Http请求

    在“线程组”右键 【添加-】->【samlper】-->【HTTP 请求】

     

    4.添加察看结果树和聚合报告

    在我们刚刚创建的线程组上右键 【添加】-->【监听器】-->【察看结果树】。添加聚合报告,右键 【添加】-->【监听器】-->【聚合报告】。

    直接添加,然后点击运行按钮就可以看到结果了。

    结果树分析:

     

    通过察看结果树,我们可以看到每个请求的结果,其中红色的是出错的请求,绿色的为通过。

    Thread Name(线程组名称): 线程组 1-24

    Sample Start( 启动开始时间): 2019-02-15 15:00:14 CST

    Load time(加载时长): 290

    Connect Time:(连接时长) 86

    Latency(等待时长): 174

    Size in bytes(发送的数据总大小): 2212

    Sent bytes:821

    Headers size in bytes(发送数据的其余部分大小): 1162

    Body size in bytes: 1050

    Sample Count(发送统计): 1

    Error Count(错误统计): 0

    Data type ("text"|"bin"|""): text

    Response code(返回状态码): 200

    Response message(返回信息): OK

    这里绿色的就说明请求是通过的,返回值是200,如果出现红色的×就说明请求失败,这时候可以通过右边的取样器结果和响应数据来查看结果。

    聚合报告分析:

     

    Sample:本次测试场景共运行多少线程;

     Average:平均响应时间; 

     Median:统计意义上的响应时间中值;

      90% line:所有线程中90%的线程响应时间都小于xx的值;

      Min:响应最小时间;

     Max:响应最大时间;

     Error:出错率;

    Throughput - 吞吐量以“requests/second、requests /minute、 requests /hour”来衡量。 时间单位已经被选取为second,所以,显示速率至少是1.0,即每秒1个请求。 当吞吐量被保存到CVS文件时,采用的是requests/second,所以30.0 requests/second 在CVS中被保存为0.5

    Kb/sec - 以Kilobytes/seond来衡量的吞吐量

    六、测试结果:
    (1)50个用户同时访问企业用户会议室预定页面,平均响应时间是0.146秒,最大的响应时间0.387秒,最小的响应时间是0.096秒,错误率为0。

     

    (2)100个用户同时访问企业用户会议室预定页面,平均响应时间是2.295秒,最大的响应时间8.132秒,最小的响应时间是0.425秒,错误率为0。

  • 相关阅读:
    20145109 《Java实验报告1》
    20145109 《Java程序设计》第五周学习总结
    20145109 《Java程序设计》第四周学习总结
    20145109 《Java程序设计》第三周学习总结
    20145109《Java程序设计》第二周学习总结
    20165322 第十周课下补做
    20165322 实验三 敏捷开发与XP实践
    20165322 第九周学习总结
    20165322 第二周结队编程-四则运算
    20165322 第八周学习总结
  • 原文地址:https://www.cnblogs.com/6J2B2/p/12980399.html
Copyright © 2011-2022 走看看