zoukankan      html  css  js  c++  java
  • JMeter使用总结

    1.1  JMeter安装

     JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试.
        在ubuntu系统安装:

    (1)打开文件/etc/apt/sources.list,命令:sudo gedit /etc/apt/sources.list

    (2)看看这个文件有没有这句话:deb http://us.archive.ubuntu.com/ubuntu precise main universe,没有就添上去,添上去后执行sudo apt-get update

    (3)安装JMeter: sudo apt-get install jmeter

    在其他系统的安装教程(待补充)

    1.2 JMeter基本使用方法

    http://www.ltesting.net/ceshi/open/kyxncsgj/jmeter/2013/0812/206566.html

    使用过程中出现一个问题,用聚合报告生成的表格只显示error的数目百分比,没有error的详细信息

    解决办法:添加监听器->查看结果树,在里面勾上仅显示日志错误,再次运行就可以在这里看到详细信息了

     

     

    1.3 JMeter报告

    1.3.1 报告形式

    1)聚合报告

    Jmeter使用总结

    #Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

    Average:平均响应时间——默认情况下是单个 Request 的平均响应时间Median:中位数,也就是 50% 用户的响应时间(ms)

    90% Line:90%用户的响应时间(ms)

    Min:最小响应时间

    Max:最大响应时间

    Error%:本次测试中出现错误的请求的数量/请求的总数

    Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second)

    KB/Sec:每秒从服务器端接收到的数据量

    2)观察树结果

    作用是可以看到每一个请求的回应

    Jmeter使用总结

     

    1.3.2 报告分析

    生成的报告里的测试数据未必是有效的,实际测试中,机器性能、网络堵塞等都会污染报告的数据,以下面几个测试为例:

    (1)测试查询绑定信息,查询的账号返回的绑定数据有117K,这里测试的吞吐量约为13/sec;

    (2)测试增加账户接口,这个接口后来的返回数据出了问题,返回的数据有20K,于是测试的吞吐量为70/sec;

    (3)测试百度网址,吞吐量为18/sec

    之前的测试中,一直以百度作为参考,但是实际上对于同一个IP短时间内发送大量的请求,百度做有限制,所以不能以百度作为参考。对于(1)(2)测试,作 猜想,这里测出的吞吐量是和返回数据有关。于是再做测试,同样是查询绑定信息,查询的账号下挂两个三级账户,返回数据是847B,测出的吞吐量约为 560/sec,和预期相符。这里测试吞吐量是受到了本地带宽限制,而在以后作性能测试时,要分析自己测试的环境是否对测试有影响。

    Jmeter使用总结

    总结(从网上摘抄的):

    按如下步骤进行分析结果:

    (1)分析在整个性能测试期间,测试环境是否稳定正常;如CPU占用率是否过高,网络是否延迟,

    (2)检查JMeter参数设置是否合理,运行模式是否合理,测试使用的数据是否不合理(如该次测试的账号信息过长);

    (3)检查测试结果是否暴露了系统瓶颈; 还需要考虑待测系统是否有机制屏蔽掉大部分压力(如百度)

     

    1.4 扩展使用

    1.4.1 断言

    对于有一些接口,我们需要看它是否返回正确的结果,那么可以添加断言进行判断

    方法:添加->断言->选择需要的断言

    JMeter提供了多种断言方式,可以根据自己需要选择,以响应断言为例,例如我们需要判断是否返回OK来确定返回结果正误,那么可以如图这样设置:

    Jmeter使用总结

    运行的时候,对于每一个返回值都会进行判断,在观察结果树的监听器,对于未返回正确结果的,有error提示和信息,在聚合报告里,断言是否正确会记入到error的百分比里

    1.4.2 配置元件

    (1)http请求默认值

    有时候我们测试的几个接口会具有同样的IP 端口,这时候我们可以在这些接口的同一层级里添加http请求默认值,在这里填上公共的信息后,在其他的sample里就无须再填这些信息了

  • 相关阅读:
    Account Inquiry (总账与子账的关联 Cost Management Receiving)
    灵活的数据管理和展示javascript类库 Recline.js
    分享23款使用纯CSS3生成的知名logo设计
    支持响应式布局的超棒颜色选择器 colorjoe
    兄弟割席:HTML5标准制定组织分裂
    30个绝对让你惊叹的幽默创意广告设计
    免费图标素材:47套最新的超棒免费图标集
    使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的web应用
    免费素材下载:一套漂亮的卡通UI界面
    分享10个超赞的画布Canvas,SVG和CSS3相关的jQuery插件
  • 原文地址:https://www.cnblogs.com/tanliyu/p/4207793.html
Copyright © 2011-2022 走看看