Jmeter 负载测试

一开始,我们来看看用Jmeter执行你的第一次负载测试。Jmeter是一种流行的用来做负载测试的开源Java应用程序。它支持很多种协议:HTTP/HTTPS,SOAP,JDBC,LDAP,JMS。这些协议经常被用来向服务器、网络或者一些特殊对象引入负载。虽然Jmeter不能完全象一些商业工具一样有特色,但是它的价格具有非常大的优势----免费。   编者注:  写这篇文章的时候,使用的是Jmeter2.3.4在java1.5.0_20上运行。文章中的应用程序是公共的yahoo搜索。例子中使用了很少的负载来阐述Jmeter是如何工作的。如果你想用更大的负载进行测试,请不要使用yahoo,请用你自己的应用程序代替。   在这篇文章中,我们不讲Jmeter的安装和运行。这是因为安装和运行并没有多困难—我为安装做的所有事就是下载,然后双击运行。因为操作系统和版本的变化,所以获得安装方法最好的地方是在Jmeter网站上的Jmeter用户手册的“新手指南”。  一些术语  Jmeter的测试是环绕测试计划进行的。在测试计划中,有线程组,控制器,监听器,计时器,断言,和其他元件。每一个测试计划是一个性能测试场景-当你执行计划的时候,Jmeter将会执行这些步骤。下面这个表给出了你在测试计划中要用到的一些基本元件的概述。 元件 描述 线程组 与任何负载测试一样,执行是多线程的。线程组控制应用程序的并发连接。从终端用户的角度来说,则是用户群。 取样器 取样器是控制器的基本类型。非常简单,取样器告诉Jmeter向服务器发送请求(HTTP,SOAP等等)。同样也存在逻辑控制器,但是我们这里不用。 监听器 监听器是用来访问Jmeter在运行过程中收集到的信息,他们以图表的形式表现。 计时器 计时器是在Jmeter中设置延时。计时器在线程产生每个请求前启动。 断言 断言,象任何测试工具中,允许你去确认测试执行后的自定义的行为。断言规定了标准的通过/失败结果。   如果想知道这些或者其他元素的完全定义,请阅读Jmeter用户手册的《测试计划的元素》章节。不过,这些简短的列表足够我们来进行一次测试。如果你在自己的应用程序中使用任何元素有问题,Jmeter用户手册的《组件参考》章节是理解每个元素以及元素设置的好去处。

 

 建立第一次测试

  当你第一次打开Jmeter,你首先看到应该是一个空的测试计划。

图1:Jmeter的新测试计划

  右键点击测试计划或者选择菜单栏中的编辑->添加来增加元素。在这篇文章中,右键点击或者使用菜单来增加元素都是可行的。为了减少混淆,我将右键点击作为默认参考。

  我们首先要测试的是线程组。右键点击测试计划,选择 添加->线程组

图2 :在Jmeter中增加一个线程组

  对我们的例子来说,我们不想跑太多的负载。Yahoo不希望那样。因此我们只用10个线程或用户来测试。另外,我们设置ramp-up period为 2秒,设置循环次数为10次。设置循环10次是为了在最后可以看到有实际数据的图表。

 

一旦配置好了线程组,我们就准备增加一个计时器。我们将在事务之间使用固定计时器来使他们分开。右键点击“线程组”选择 “添加-计时器-固定计时器”来添加计时器。

图3:在Jmeter中增加一个固定计时器

  设置线程延时3秒或者3000毫秒。这时我们添加HTTP请求。再次右键点击线程组选择“添加-采样器-HTTP请求”

图4:在Jmeter中增加HTTP请求

  举个例子,我让你在yahoo运行一次简单的搜索。设置服务器名字www.search.yahoo.com。这个告诉Jmeter你想访问哪个服务器。在路径栏,输入‘/search?p=testing’。这个和你在yahoo主页上搜索“testing”一样,页面上的其他东西选择默认。

当我测试时,我总是想知道我已经做的事的期望效果。所以在我们测试中增加一个断言。右键点击HTTP请求,选择“添加-断言-响应断言”。

图5:在Jmeter中增加一个响应断言

  这里有大量的选项可能会混淆。我们不往细节上研究他们。但是我们要做的是确信我们在我们的请求中得到搜索的返回结果。为了那样做,我们只测试“主要样品”和查看“文本响应”,查看文本响应的意思我们查看返回的HTML。

  因为我们想确信它有结果,我们做一个模型来匹配响应。在我写这篇文章的时候,搜索的第一条响应是软件测试的入门。我仅仅是搜索了软件测试的开头文字。

  接下来,我们增加一对监听器,这样我们能够看到我们的结果。我喜欢图表结果和视图结果作为监听器。他们两者都有直观的界面。右键点击线程组,选择“添加-监听器-图表结果”

图6:在Jmeter中增加一个图表结果监听器

 

在这个例子中,你可能没选偏差和吞吐量的检查框。下一步,增加视图结果监听器。右键点击线程组-增加-监听器-视图结果监听器。

图7:在Jmeter中增加一个视图结果监听器

  现在你已经准备好了一个简单测试,保存你的测试计划,继续向前。

  执行测试

  一旦你保存了你的测试,你就准备执行。从菜单中,选择“执行-开始”你注意不到任何事发生这是很有可能的。很多第一次使用Jmeter的用户都注意不到。这里有些小窍门。

  第一,当你不执行测试时,你看不到任何活动用户。在界面的右上角有个用户活动指示器,如果你不执行测试时,它就像这样:

图8:Jmeter指示器显示没有运行用户

  当测试执行时,指示器显示有多少活动的用户,像下面的图:

图9:Jmeter显示器显示所有运行的用户

第二,你可以选择监听器来看在测试过程中发生的事。这个信息是实时更新的。这个同样可以让你看到测试完全结束后的结果。在下面这张图,我选择的是执行完测试后的图表结果。

图10:图表结果监听器显示yahoo搜索结果

  在图表结果中可以看到,该图由测试中得到的单个数据点(即图中所有散列的黑点)绘制而成,伴随的两条线分别显示中间和平均响应时间。从图表中可以看出趋势和异常行为。

  另一种方法,监听器的视图结果是一种更为结构化的数据展现形式。

图11:监听器的视图结果显示yahoo搜索的结果

  通过监听器,你可以看到每个数据点的统计结果以及响应状态的图表表示。如果你想导出数据,这里有一个监听器用来保存结果并输出结果到另一个工具比如excel。

转:http://www.51testing.com/html/23/n-218123-2.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值