过去长期用loadrunner做性能測试。可是渐渐认为有些麻烦了:

1.仅仅能执行在windows环境下,而生产环境差点儿清一色的linux。为了在同一网段做性能或压力測试,还须要单独部署一套windowsserver,比較浪费。

2.loadrunner和浏览器版本号绑定太严格了,比方loadrunner 11。最高就支持到ie9,有时候系统打补丁自己主动把浏览器版本号升上去了。就无法录制脚本了。

3.版权问题也不容忽视,crack带来的各种风险也是存在的。

于是尝试了一下JMeter,发现还是相当好用的。在多数web性能測试中。功能也足够了。

总结一下最经常使用的操作,帮助刚開始学习的人高速上手。

安装:

Jmeter的安装实在是太省心了,就是解压缩就可以。Windows版本号一般是zip包,linux版本号一般是tar包,仅仅要系统上有JDK,直接解开就能够启动了。

(\bin\jmeter.bat、\bin\jmeter.sh),启动后是这个界面:

录制脚本:

和loadrunner的主动启动被录制应用不同,Jmeter是启动一个代理server,由浏览器设置去使用这个代理server。以完毕web请求的监控和录制。

所以须要在工作台右键、加入——非測试元件——http代理server。

重点是为代理server设置一个和现有应用不冲突的port。然后在浏览器里设置使用代理server,port就是上述设定好的port。

点击启动button,代理server就開始工作了。

此时通过浏览器訪问web网站,所发出的请求就会被记录下来。

可是假设如今就開始录制的话,会在上面的列表中列出一大堆。显得非常杂乱。所以先在測试计划中加入一个线程组。

加入线程组不仅仅为了看着方便,还有几个作用:

线程组相当于loadrunner中的一个独立脚本。多个脚本能够组成一个測试场景。

模拟多用户时。也是以线程组为单位进行数量设定和调度设定的。

如上图中,对这个线程组採用模拟10个并发用户循环5次运行性能測试。

运行结果要能看到反馈才行。所以在測试计划中加入监听器。经常使用的监听器有SummaryReport、聚合报告(这两个很接近。用一个就可以)、察看结果树等。

也有一些图形化的监听器用于各自须要的场合。

这样,一个主要的測试流程(录制、測试、报告)就完毕了。再介绍一下參数化。这也是在性能測试中最经常使用的,比方各种查询。所谓參数化就是希望模拟用户操作的时候採用不同的參数数值。如模拟用户检索就希望每一个虚拟用户发出不同的检索请求。这样才更能模拟实际情况。

此时须要先准备一个检索词列表到一个csv文件里。然后加入一个配置元件——CSVData Set Config,然后指定这个文件路径,并给每列数据指定一个名称。

命名之后,就能够在须要的地方。用变量名替换原有的固定字符串了。

当模拟多用户时。系统会用csv文件中的内容替换这个变量。

有些时候系统须要session信息来验证某些状态,假设没有发出的话会导致一些错误。这个时候加入——配置元件——HTTPCookie管理器就能够了。

常见步骤就是这些,通过调节參数设置。能够更精细地完毕多种測试任务。这就须要在实践中逐步积累经验了。

JMeter高速应用的更多相关文章

  1. (转)学习使用Jmeter做压力测试(一)--压力测试基本概念

    一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行. 通过负载测试,确定在各种工作负载下 ...

  2. JMeter学习-009-JMeter 后置处理器实例之 - 正则表达式提取器(二)多参数获取

    前文简述了通过后置处理器 - 正则表达式提取器 获取 HTTP请求 响应结果中的特定数据,未看过的亲,敬请参阅 JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一). ...

  3. JMeter在里面Json数据处理方法

    http://eclipsesource.com/blogs/2014/06/12/parsing-json-responses-with-jmeter/ Json作为一种数据交换格式在网络开发.特别 ...

  4. 使用Jmeter至WebService压力测试

    使用Jmeter至WebService压力测试   目中我们使用了Jmeter对webservice进行了压力測试,Apache JMeter是Apache组织开发的基于Java的压力測试工具.用于对 ...

  5. Jmeter函数引用和函数重定向

    在jmeter中的[选项]中选择[函数助手对话框]---这些函数可以高速有效的帮助我们开展自动化编写与校验!!!!!! 如图: 重点!!!本章的侧重点不讲函数的具体使用,函数具体的使用与java类似, ...

  6. 性能测试—认识JMeter(三)

    <零成本web性能测试>第二章 JMeter基础知识总结和自己的理解 一.JMeter百度词条概念 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件 ...

  7. 性能测试—认识JMeter(一)

     性能测试—认识JMeter(一) <零成本web性能测试>第二章 JMeter基础知识总结和自己的理解 一.JMeter百度词条概念 Apache JMeter是Apache组织开发的基 ...

  8. 【转】学习使用Jmeter做压力测试(一)--压力测试基本概念

    一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行. 通过负载测试,确定在各种工作负载下 ...

  9. Jmeter函数引用和函数重定向【转】

    在jmeter中的[选项]中选择[函数助手对话框]---这些函数可以高速有效的帮助我们开展自动化编写与校验!!!!!! 如图: 重点!!!本章的侧重点不讲函数的具体使用,函数具体的使用与java类似, ...

随机推荐

  1. Spring事务传播性

    事务是逻辑处理原子性的保证手段,通过使用事务控制,可以极大的避免出现逻辑处理失败导致的脏数据等问题.事务最重要的两个特性,是事务的传播级别和数据隔离级别.传播级别定义的是事务的控制范围,事务隔离级别定 ...

  2. 【51Nod 1239】欧拉函数之和

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1239 还是模板题. 杜教筛:\[S(n)=\frac{n(n+1)}{2 ...

  3. [BZOJ4824][CQOI2017]老C的键盘(树形DP)

    4824: [Cqoi2017]老C的键盘 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 193  Solved: 149[Submit][Statu ...

  4. bzoj 1787: [Ahoi2008]Meet 紧急集合

    1787: [Ahoi2008]Meet 紧急集合 Description Input Output Sample Input 6 4 1 2 2 3 2 4 4 5 5 6 4 5 6 6 3 1 ...

  5. Mysql双主实战

    参考:http://dev.mysql.com/doc/refman/5.1/en/replication-options-slave.htmlhttp://blog.chinaunix.net/ui ...

  6. RequireJS 与 SeaJS 的异同

    相同之处 RequireJS 和 SeaJS 都是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开发变得更简单自然. 不同之处 两者的区别如下: 定位有差异.Re ...

  7. HDU 4576 Robot (很水的概率题)

    Robot Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 102400/102400 K (Java/Others)Total Sub ...

  8. Linux PHP 编译参数详解(一)

    Fast-CGI: ./configure --prefix=/usr/local/php --enable-fastcgi --enable-force-cgi-redirect --with-co ...

  9. 转:Oracle密码过期,取消密码180天限制

    原文:https://www.cnblogs.com/soar-gh/p/5949158.html 1.进入sqlplus模式 sqlplus / as sysdba; 2.查看用户密码的有效期设置( ...

  10. Spring Dataflow批处理框架在OCP上的部署

    详细参考 https://donovanmuller.blog/spring-cloud-dataflow-server-openshift/docs/1.2.1.RELEASE/reference/ ...