一开始,我们来看看用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用户手册的《组件参考》章节是理解每个元素以及元素设置的好去处。