JMeter体系结构学习

一、JMeter结构图

如上图所示为JMeter结构图,其可以拆解为一个三维空间:

  • X1~X5 是负载模拟的一个过程,使用这些组件来完成负载的模拟
  • Y1:包含的是负载模拟部分,负责模拟用户请求
  • Y2:结果验证部分,负责验证结果正确性
  • Z:负载结果的收集,实践上只有一个组成部分——监听器,监听器不仅可以放在线程组之内,也可以放在线程组之外,所以在图中看到它们是相交的

二、JMeter基本原理

        JMeter基本原理是建立一个线程池,多线程运行取样器产生大量负载,在运行过程中通过断言来验证结果的正确性,通过监听器来记录测试结果。

三、JMeter组成部分

1.  X1【取样器】

    取样器用来模拟用户操作,向服务器(被测试系统)发出HTTP请求、WebService(SOAP/XML-RPC Requests)请求或者Java请求等。

2.X1【断言】

     断言用来验证结果是否正确,就是用一个预设的结果(值、表达式、时间长短等条件)与实际结果匹配,匹配到则成功,反之失败。

3.X1【监听器】

     收集JMeter的测试结果,JMeter结果收集程序的设计模式就是监听器模式。JMeter的监听器有两个任务:

  • 添加结果监听,并且可以保存测试结果到文件,这些结果数据可以供再次分析使用。
  • 展示结果,JMeter可以以表格及图形的形式展示结果,方便测试人员分析测试结果。在开发测试脚本时,不可避免需要调试,监听器也提供了辅助(比如查看结果树,我们可以在其中看到请求与响应的数据)

4.X2【前置处理器】

     在请求发送前做一些环境或者参数的准备工作。

5.X2【配置元件】

     性能测试中为了模拟大量用户操作往往需要参数化,JMeter中的参数化可以通过配置元件来完成;以及记录服务器的返回数据。

6.X2【后置处理器】

     后置处理器放在取样器之后,一般用来处理服务器的返回结果。

7.X3【控制器】

     逻辑控制器可以控制采样器(samplers)的执行顺序。由此可知,控制器需要和采样器一起使用,否则控制器就没有什么意义了。放在控制器下面的所有的采样器都会当做一个整体,执行时也会一起被执行。

8.X4【定时器】

     用于在模拟大量用户在同一时间处理系统业务,起到集合的功能(常用于并发测试)

9.X5【线程组】

     性能测试需要模拟大量用户负载的情况,线程组就是用来完成这个工作的,在该元件中我们可以设置运行的线程数(就是模拟多少用户,一线程一用户);除了设置线程数之外还可以设置运行时长,定时运行等。

10.Test Fragment 组件

    该组件是一个辅助组件,可以放置任何JMeter测试元件。有以下作用:

  • 在脚本开发过程中可以用来备份元件
  • TestFragment下的元件可以被模块控制器调用,可以利用它来模块化请求供模块控制器调用。

11.工作台

功能如下:

  • 在运用JMeter录制Http协议脚本时用到它,我们可以在它下面建立一个HTTP代理服务元件,设置代理信息然后进行录制。
  • 设置服务器监控(HTTP Mirror Server),不建议使用此功能做测试监控,主要视避免对JMeter负载产生影响。
  • 显示当前JMeter属性信息
  • 备份脚本,特别是我们再脚本调试过程中可以把它作为一个元件暂存区。

 

以上参考书籍《全栈性能测试修炼宝典JMeter实战》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值