美文网首页
Jmeter(一)

Jmeter(一)

作者: 晓看云 | 来源:发表于2019-07-08 13:26 被阅读0次

    一、特点

    1、JMeter工具的扩展性非常好。

            JMeter并不像LoadRunner等商业工具那样原生支持大量的协议,但它提供了好的扩展性,用户可以把自己的客户端用于与服务端通信的部分提取出来,包装为JMeter的Sampler(JMeter用于向服务器发送请求的单元),然后使用自己的Sampler向服务器产生压力。

        2、JMeter工具是开源的。开源意味着免费也意味着可以通过开发的源代码,充分了解工具的一切行为。

        3、JMeter工具灵活性无所不能。

    二、JMeter基础概念

    2.1 基本概念

    1、负载发生器:用于产生负载,通常以多线程或是多进程的方式模拟用户行为。

    2、用户运行器:通常是一个脚本运行引擎,用户运行器附加在线程或进程上,根据脚本要求模拟指定的用户行为。

    3、资源监视器:用于获取测试服务过程中服务器、负载机的资源数据。

    4、报表生成器:根据测试中获得的数据生成报表,根据可视化的数据显示方式。

    2.2 主要概念

    1、Test Plan(测试计划):用来描述一个性能测试,包含与本次性能测试相关的所有内容。

    2、Thread Group(线程组):在一个Test Plan中需要使用到的线程组。通俗的说,一个Thread Group可以看做是一个虚拟用户组。Thread  Group 中的每个线程都可以理解为一个虚拟用户。Thread Group 中包含的线程数量在测试执行过程中是不会发生改变。

    3、Sampler:是性能测试中向服务器发送请求、记录响应信息、记录响应时间的最小单位,JMeter原生支持多种不同的Sampler,如 HTTP Request  Sampler、FTP Request Sampler、TCP Request Sampler、JDBC Request Sampler等,每一种不同类型的Sampler可以根据设置的参数向服务器发出不同类型的请求。在JMeter的所有Sampler中,Java Request  Sampler和Beanshell Request Sampler是两种特殊可定制的Sampler,后面会深入讨论。

    4、Logic Controller(逻辑控制器):包括两类元件,一类是用于控制Test Plan 中的Sampler 节点发送请求的逻辑顺序的控制器,常用的有If Controller、Switch Controller、Loop Controller、Random Controller等,另一类是用来组织和控制Sampler节点的,如Transaction Controller、Throughput Controller等。

    5、Listener(监听器):从名字上来看,很容易被误解成用于监视系统资源的元件。但实际上,Listener是用来对测试结果数据进行处理和可视化展示的一系列元件。Summary Report、Aggregate Report、View Results in Table和 View Results Tree是常用的一些Listener。

    一个最简单的性能测试脚本。Test Plan包含一个Thread Group。Thread Group下有一个If Controller,由If Controller控制的HTTP Request Sampler。Test Plan还有一个Summary Report,用于汇总测试得到的性能结果数据。

    2.3 其他元件:

    1、Config Element(配置元件):用于提供对静态数据配置的支持。 CSV Data Set Configuraiton 可以将本地数据文件形成数据池(Data Pool),而对应于HTTP Request Sampler和TCP Request Sampler等类型的Configuration元件则可以修改这些Sampler的默认数据等。

    2、Timer(定时器):用于在操作之间设置等待时间,等待时间是

    性能测试中常用的控制客户端QPS的手段。

    3、Assertions(断言):用于检查测试中得到的相应数据等是否符合预期,Assertions一般用来设置检查点,用以保证性能概念测试过程中的数据交互与预期一致。

    4、Pre Processors(前处理器):用于在实际请求发出之前对即将发出的请求进行特殊处理。

    5、Post Processor(后处理器):用于对Sampler发出请求后得到的服务器响应进行处理,一般用来提取响应中的特殊数据(类似其他商业测试工具中的关联的概念)。

    相关文章

      网友评论

          本文标题:Jmeter(一)

          本文链接:https://www.haomeiwen.com/subject/vzkehctx.html