Jmeter测试性能

一、 Apache JMeter介绍

  1. Apache JMeter是什么

  Apache JMeter 是Apache组织的开放源代码项目,是一个100%纯Java桌面应用,用于压力测试性能测量。它最初被设计用于Web应用测试但后来扩展到其它测试领域。最新的版本大家可以到http://jmeter.apache.org/download_jmeter.cgi下载

  2. 用它能做什么

ApacheJMeter可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,Java对象,数据库和查询,FTP服务器或是其它资源)的性能进行测试。JMeter可以用于在服务器网络或对象模拟繁重的负载来测试它们提供服务的受压能力或者分析不同压力条件下的总体性能情况。你可以使用JMeter提供的图形化界面,分析性能指标或者在高负载情况下测试你的服务器/脚本/对象。

  3. Apache JMeter能做什么

  Ø 能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)。

  Ø 完全的可移植性和100%纯Java。

  Ø 完全Swing的轻量级组件支持(预编译的JAR使用 javax.swing.*)包。

  Ø 完全多线程框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。

  Ø 精心的GUI设计允许快速操作和更精确的计时。

  Ø 缓存和离线分析/回放测试结果。

  Ø 高可扩展性:

  1) 可链接的取样器允许无限制的测试能力。

  2) 各种负载统计表和可链接的计时器可供选择。

  3) 数据分析和可视化插件提供了很好的可扩展性以及个性化。

  4) 具有提供动态输入到测试的功能(包括JavaScript)。

  5) 支持脚本变成的取样器(在1.9.2及以上版本支持BeanShell)。

 4. Apache JMeter的由来

  JMeter最早是由Apache软件项目的开发工程师StefanoMazzocchi 开发出来的。他当初开发JMeter主要用于测试Apache JServ(一个被Apache Tomcat 工程取代了的项目)的性能。之后又再次设计了JMeter,增加了图形化界面和一些功能测试能力。

  5. Apache JMeter的未来

  随着开发人员借助它的可嵌入的结构,希望看到JMeter的能力也随之快速的被扩大。更进一步的主要发展目标是把JMeter在没有减弱它的负载测试的能力的同时尽可能的做成最有效的回归测试工具

  二、 Apache JMeter安装说明

  1. 安装环境要求:

  Java版本

  JMeter要求充分满足JVM1.3或更高。

  操作系统

  JMeter可以在当前任何一个已经部署了Java的操作系统上运行。

  l Unix(Solaris,Linux,etc)

  l Windows(98,NT,2000,XP)

  l Open VMS Alpha 7.3+

  2. 安装步骤:

  l 安装环境:Windows XP

  l 安装包准备:

  JDK1.5.0_12 具体可在官方网站下载

  jakarta-jmeter-2.3.4 具体下载地址:

  http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi

  l 安装过程:

  1)JDK安装

  点击下载的jdk1.6.0_10,选择安装路径即可。

  2) JDK环境配置

  桌面上选择“我的电脑”(右键)/高级/环境变量, 在“系统变量”栏中点击“新建”, 在变量名中输入:CLASSPATH,变量值中输入:C:\JDK安装目录\lib\dt.JAR; C:\JDK安装目录\lib\TOOLS.JAR;点击确定即可。(jdk1.6版本不需要配置)

  再按“新建”,在变量名中输入:java_home,变量中输入:C:\JDK安装目录;修改PATH变量,添加%java_home %\bin;然后确定即可。

  修改系统变量path的值,在前面增加%java_home%\bin;然后确定即可。

  3)检查JDK安装是否OK

  具体是:点击“开始”/“运行”,输入命令cmd进入dos操作界面,输入命令:java –version 查看java版本,如果显示为:jdk1.6.0_10 –rc2,则安装OK

  4)Jmeter安装

  解压jakarta-jmeter-2.3.4文件至c盘,本文解压至C:\jmeter-2.3.4目录下。

  桌面上选择“我的电脑”(右键)/高级/环境变量, 在“系统变量”栏中点击“新建”, 在变量名中输入:JMETER_HOME,变量值中输入:C:\ jmeter-2.3.4,点击确定即可。

  再修改CLASSPATH变量,变量值中添加如下值:

  %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;然后确定即可。

  5)检查jmeter安装是否OK

  具体是:进入jmeter目录下的bin文件夹,点击jmeter.bat,查看页面显示,如果能显示jmeter操作页面则安装成功。

  提醒:通常安装到这一步会报下面这个错误:

  unrecognized vm option '+heapdumponoutofmemoryerror'

  原因是:安装的JDK版本是:1.5.0的就会出错,把JDK卸载,重新下载JDK1.5.0_12版本,重新安装就OK了,之前我就是装的1.5.0版本报的错,后来更新JDK版本就好了。Jdk1.6不会出现以上的错误

三 使用

 1)

  运行bin/jmeter.bat后,先来了解几个术语:

  1、线程组:测试里每个任务都要线程去处理,所有我们后来的任务必须在线程组下面创建。可以在“测试计划->添加->线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-UpPeriod(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载。

  2、取样器(Sampler):可以认为所有的测试任务都由取样器承担,有很种,如:HTTP 请求。

  3、断言:对取样器返回的请求结果给出判断,是否正确。

  4、monitor:它的功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。

  先这些概念。下面来试用一下:

  添加线程组,右击测试计划->添加->线程组,线程数为2,Ramp-Up=0,循环次数=5;添加取样器:右击线程组->添加->Sample->HTTP 请求,Web服务器localhost,端口8080,协议http,路径/index.jsp;添加monitor,右击线程组->添加->monitor->图形结果(第二个),然后再添加一个Summaryreport monitor。

  然后,运行->启动,在两个monitor中都可以看到一些内容,如:

  JMeter 的主要测试组件总结如下:

  1、测试计划是使用JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。

  2、线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。

  3、monitor负责收集测试结果,同时也被告知了结果显示的方式。

  4、逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

  5、断言可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。

  6、配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。

  7、前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。

  8、定时器负责定义请求之间的延迟间隔。

 

  1、Label: 定义的HTTP请求名称

  2、Samples: 表示这次测试中一共发出了多少个请求

  3、Average: 访问页面的平均响应时间

  4、Min: 访问页面的最小响应时间

  5、Max: 访问页面的最大响应时间

  6、Error%: 错误的请求的数量/请求的总数

  7、Throughput:每秒完成的请求数

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

四 Jmeter结合badboy

JMeter是一款在国外非常流行和受欢迎的开源性能测试工具, 像 LoadRunner 一样,它也提供了一个利用本地 Proxy Server (代理服务器)来录制生成测试脚本的功能,但是这个功能并不好用。所以在本文中介绍一个更为常用的方法——使用 Badboy 录制生成 JMeter 脚本。

简单的介绍一下 Badboy 。 Badboy 是一款不错的 Web 自动化测试工具,如果你将它用于非商业用途,或者用于商业用途但是安装 Badboy 的机器数量不超过 5 台,你是不需要为它支付任何费用的。也许是一种推广策略, Badboy 提供了将 Web 测试脚本直接导出生成 JMeter 脚本的功能,并且这个功能非常好用,也非常简单。你可以跟着下面的试验步骤来迈出你在开源世界的第一步。

1.       通过 Badboy 的官方网站下载 Badboy 的最新版本;

2.       安装 Badboy 。安装过程同一般的 Windows 应用程序没有什么区别,安装完成后你可以在桌面和 Windows开始菜单中看到相应的快捷方式——如果找不到,可以找一下 Badboy 安装目录下的 Badboy .exe 文件,直接双击启动 Badboy ;

3.       启动 Badboy ,你可以看到下面的界面。

在地址栏(图中红色方框标注的部分)中输入你需要录制的 Web 应用的 URL ——这里我们以http://www.yahoo.com 为例,并点击 GO 按钮开始录制。如果你用过 LoadRunner 之类的商业工具,对于这个操作一定不会陌生吧 ^_^

4.       开始录制后,你可以直接在 Badboy 内嵌的浏览器(主界面的右侧)中对被测应用进行操作,所有的操作都会被记录在主界面左侧的编辑窗口中——在这个试验中,我们在 Yahoo 的搜索引擎中输入 JMeter 进行搜索。不过你将看到,录制下来的脚本并不是一行行的代码,而是一个个 Web 对象——这就有点像 LoadRunner 的VuGen 中的 Tree View 视图;

5.       录制完成后,点击工具栏中的“停止录制”按钮,完成脚本的录制;

6.       选择“ File -> Export to JMeter ”菜单,填写文件名“ login_mantis.jmx ”,将录制好脚本导出为 JMeter 脚本格式。也可以选择“ File-> Save ”菜单保存为 Badboy 脚本;

7.       启动 JMeter 并打开刚刚生成的测试脚本。

也许你已经急不可待的准备开始尝试着用 JMeter 处理你手头的工作了 ^_^ 在下面的几节,我将继续为大家介绍如何在 JMeter 中完成一个测试场景的设置和 JMeter 测试结果分析入门,以及如何参数化 JMeter 脚本。

当然,如果你的动手能力很强,几分钟你就可以熟悉这些内容。不过还是请允许我一点点由浅入深的来帮大家完成“ JMeter 从入门到精通”的过程。我相信在这个过程中你将会了解到更多有关性能测试的知识和经验,甚至包括一些 LoadRunner 等商业测试工具所无法提供给你的经验。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值