MSN: luxuabc@hotmail.com

JMeter做性能测试

上一篇 / 下一篇  2007-11-28 15:48:26 / 个人分类:测试工具

  JMeter是一款开源免费的性能测试工具,可以支持多种协议如http,https,ftp,LDAP,JDBC,JUnit等.大家可以去http://jakarta.apache.org/jmeter查找有关信息.

   安装JMeter首先要安装JRE(Java runtime environment)1.4以上版本,为了支持其他协议的测试我们可以下载相应的jar包把它放在Jmeter的classpath下:

  • JMETER_HOME/lib - used for utility jars
  • JMETER_HOME/lib/ext - used for JMeter components and add-ons

例如我们要支持Mail的功能就要下载JavaMail.

在JMeter中,Test Plan由thread group组成, Thread Group代表了一组虚拟的用户.在Thread Group中定义用户的行为,我们可以加入其他任何元素,Samplers,Controllers,Listener,Timers,Assertions,Configure elements,Pre-Processors,Post-Processors.

Samplers用来产生各种请求如,Http sampler,ftp sampler. Controller和Logic Controller用来控制测试的顺序和逻辑.Listener用来显示测试结果.Timers用来产生延时.Assertion用来测试结果是否符合预期.Pre-Processor执行需要在sampler产生request之前进行的操作.Post-Processors执行需要在sampler产生request之后进行的操作. Timer比较特殊,当一个Thread Group中出现多个Timer的时候,JMeter会将所有的时间相加来做为sampler发送request之前的延时时间.

Samplers和Controllers是按顺序执行的,如下图

执行顺序是One, Two,Three,Four

其它元素的作用区域就是它本身所在的区域和它的子区域.例如一个Assertion应用于某一个请求,它就只对该请求生效,如果应用于Controller就会影响controller下的所有请求.


Assertion#1应用于One, Assertion应用鱼Two和Three

所有这些元素的执行顺序如下:

1. Pre-Processors

2. Timers

3. Sampler

4. Post-Processors (unless SampleResult is null)

5. Assertions (unless SampleResult is null)

6. Listeners (unless SampleResult is null)

例如一个test plan如下

  • Controller
    • Post-Processor 1
    • Sampler 1
    • Sampler 2
    • Timer 1
    • Assertion 1
    • Pre-Processor 1
    • Timer 2
    • Post-Processor 2

执行顺序是:

Pre-Processor 1
Timer 1
Timer 2
Sampler 1
Post-Processor 1
Post-Processor 2
Assertion 1

Pre-Processor 1
Timer 1
Timer 2
Sampler 2
Post-Processor 1
Post-Processor 2
Assertion 1


TAG: JMeter 测试工具

 

评分:0

我来说两句

Open Toolbar