JMeter部分功能详解

JMeter 介绍: 一个非常优秀的开源免费的性能测试工具。

优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来。

从性能工具的原理划分

Jmeter工具和其他性能工具在原理上完全一致,工具包含4个部分:

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

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

(3)资源生成器:用于生成测试过程中服务器、负载机的资源数据。

(4)报表生成器:根据测试中霍地的数据生成报表,提供可视化的数据显示方式。

测试计划元件

Test Plan (测试计划):用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就说本的性能测试的所有内容是于基于一个计划的。

下面看一下一个计划下面都有哪些主要的功能模块(右键单击“测试计划”弹出菜单)。

 

Threads (Users)线程 用户

虽然有三个添加线程组的选项,名字不一样, 创建之后,其界面是完全一样的。之前的版本只有一个线程组的名字。现在多一个setUp theread Group 与terDown Thread Group 

1) setup thread group  

  一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。

2) teardown thread group.  

  一种特殊类型的ThreadGroup的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。

  可能你还是不太理他们与普通的线程组有什么不同。 如果您用过junit,想必你不会对setup ,teardown这2个字眼陌生。 即时每用过,也没关系。 熟悉loadrunner的应该知道,loadrunner的脚本除了action里是真正的脚本核心内容,还有初始化“环境”的初始化脚本和测试完毕后对应的清除信息的脚本块。 那么这里 setup thread group 和 teardown thread group 就是分别指这两部分。  其实从本质上来看,他们并没有什么不同。

3) thread group(线程组).

     这个就是我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。

 

测试片段(Test Fragment)

 

  测试片段是在2.5版本之后新加的一个选项。

  测试片段元素是控制器上的一个种特殊的线程组,它在测试树上与线程组处于一个层级。它与线程组有所不同,因为它不被执行,除非它是一个模块控制器或者是被控制器所引用时才会被执行。

 

控制器

JMeter有两种类型的控制器:取样器(sample)和逻辑控制器(Logic Controller),用这些原件来驱动处理一个测试。

 

取样器(Sampler)

 

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

 

逻辑控制器(Logic Controller)

  逻辑控制器,包括两类无件,一类是用于控制test plan 中 sampler 节点发送请求的逻辑顺序的控制器,常用的有 如果(If)控制器 、switch Controller 、Runtime Controller、循环控制器等。另一类是用来组织可控制 sampler 来节点的,如 事务控制器、吞吐量控制器。

 

配置元件(Config Element)

 

  配置元件(config element)用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池(Data Pool),而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改Sampler的默认数据。(例如,HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的cookie 进行管理)

 

定时器(Timer)

   定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手端。类似于LoadRunner里面的“思考时间”。JMeter 定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。

 

前置处理器(Per Processors)

  用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID 。

 

后置处理器(Post Processors)

  用于对Sampler 发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。例如,XPath  Extractor 则可以用于提取响应数据中通过给定XPath 值获得的数据。

 

断言(Assertions)

 

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

 

监听器(Listener)

 

   这个监听器可不是用来监听系统资源的元件。它是用来对测试结果数据进行处理和可视化展示的一系列元件。 图行结果、查看结果树、聚合报告。都是我们经常用到的元件。

转载于:https://www.cnblogs.com/mawenqiangios/p/7885447.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399258.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

登录时记住用户名和密码及cookie案例应用

文章原址:http://www.jb51.net/article/33588.htm 登录样子,可以参考某一论坛的登录介面: 记住这些信息,可以使用Cookie来实现,更多Cookie应用,可参考 http://jb51.net/article/33590.htm http://jb51.net…

退出登录后点返回键 是登录状态_看了这50条登录的测试点,你还敢说测试很容易吗...

条件:一个用户名输入框 (要求15个字符以内)一个密码输入框 (要求8个字符以内)一个登录按钮针对以上条件进行测试用例的设计先回顾一下测试用例的设计方法:等价类,边界值,错误猜测法,因果图,场景法测试功能点…

HTML5原生拖拽/拖放(drag drop)详解

前言 拖放(drap && drop)在我们平时的工作中,经常遇到。它表示:抓取对象以后拖放到另一个位置。目前,它是HTML5标准的一部分。我从几个方面学习并实践这个功能。 拖放的流程对应的事件 我们先看下拖放的流程&a…

Linux vmstat命令详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是…

python中如何比较两个列表_python中如何比较两个列表

cmp() 方法用于比较两个列表的元素。cmp()方法语法:cmp(list1, list2)参数:list1 -- 比较的列表。list2 -- 比较的列表。返回值:如果比较的元素是同类型的,则比较其值,返回结果。如果两个元素不是同一种类型,则检查它们是否是数字。如果是数字…

rc mysql common_RR与RC隔离级别下MySQL不同的加锁解锁方式

作者 韩杰沃趣科技MySQL数据库工程师出品 沃趣科技| RC与RR隔离级别下MySQL不同的加锁解锁方式MySQL5.7.21数据准备rootlocalhost : pxs 05:26:27> show create table dots\G*************************** 1. row ***************************Table: dotsCreate Table: …

[Javascript_库编写]创建自己的“JavaScript库”

一.编写JavaScript库要注意的问题 为了让自己的JS库构建的更加优雅、合理,我们编写JS库时要注意两方面的内容: 1.不要使用版本检测,而要使用能力检测 由于浏览器的类型和版本太多,以及不断的新的浏览器出现,我们不可能…

mysql5.6.24怎么打开_mysql 5.6.24 安装配置方法图文教程

由于工作需要,开始使用mysql数据库,已经好久没有使用了。基本已经忘了差不多。今天重新安装配置了一下,写个随笔记录一下,以免自己以后需要的时候翻看,如有不正确或需要补充的,希望大家多多留言。首先下载m…

sublime text 3安装及使用

安装配置 安装: 安装环境:Ubuntu 16.04 官网下载sublime text 3 https://www.sublimetext.com/3 解压: tar xvf 文件名 进入 sublime_text_3文件夹,运行 ./sublime_text 注册码:我用的时候有用 —– BEGIN LICENSE —–TwitterInc…

微信公众号新功能-原创声明、赞赏功能、评论管理、页面模版

原文:http://www.shichangbu.com/portal.php?modview&aid25931 公众号如何申请这些功能? 在微信公众号后台和QQ经常都有人问我诸如此类的问题:”微信公众平台原创声明怎么开通?“、”微信赞赏等功能是怎么回事…

为什么闹钟设置了却不响_又被iPhone闹钟坑了?解决闹钟不响问题看这里!

原标题:又被iPhone闹钟坑了?解决闹钟不响问题看这里!你有没有过这样的体验,早上醒来,闹钟还没响,内心想:真好,还可以再睡会。拿起手机想看看还能再睡多久,结果……我的天…

CSS3实现纸张边角卷起效果

html代码 1 <body>2 <div class"page">3 <div class"page-box">4 <h1>5 兔子先生6 </h1>7 <p>8 这几…

fzu 1894 单调队列

http://acm.fzu.edu.cn/problem.php?pid1894 Problem 1894 志愿者选拔Accept: 1328 Submit: 4200Time Limit: 1500 mSec Memory Limit : 32768 KB Problem Description 世博会马上就要开幕了&#xff0c;福州大学组织了一次志愿者选拔活动。参加志愿者选拔的同学们排队接…

均线带角度的指标_选股指标:均线角度并列向上,量能倍增飞扬趋势明显,短线操作可考虑...

今天要讲的是量能飞扬的选股指标&#xff0c;这个指标是按照20日、30日、60日、120日均线反正切角度原理为基础设计的公式&#xff0c;这4条均线角度排列向上&#xff0c;股价呈现向上的趋势&#xff0c;选出的股票有大概率上涨的空间&#xff0c;完整的公式如下&#xff1a;A2…

将链表中m-n范围内的数进行倒序

Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1->2->3->4->5->NULL, m 2 and n 4, return 1->4->3->2->5->NULL. Note:Given m, n satisfy the following condition:1 ≤ m ≤ n ≤ lengt…

win10下安装ubuntu14.04双系统(UEFI固件)

2019独角兽企业重金招聘Python工程师标准>>> 在windows10环境下安装双系统&#xff0c;遇到了很多坑。作为一个用惯了虚拟机的人&#xff0c;本想通过安装双系统来充分利用计算机本身的硬件资源&#xff0c;结果失败了n次&#xff0c;摸索了整整一天&#xff0c;看了…

扫雷游戏制作学习过程

1. 扫雷游戏的构思&#xff1a; 设计为初级&#xff0c;中级&#xff0c;高级三个级别。 因此不妨设置为如下规格&#xff1a; 9x9 16x15和30x16 &#xff08;行&#xff0c;列&#xff09;规格不同地雷的数量也不同&#xff0c;分别为 10&#xff0c;40 &#xff0c;99 2.在…

201621123080《Java程序设计》第十一周学习总结

201621123080《Java程序设计》第十一周学习总结 1. 本周学习总结 1.1 以你喜欢的方式&#xff08;思维导图或其他&#xff09;归纳总结多线程相关内容。 2. 书面作业 本次PTA作业题集多线程 1. 源代码阅读&#xff1a;多线程程序BounceThread 1.1 BallRunnable类有什么用&#…

Unix/Linux环境C编程入门教程(27) 内存那些事儿

calloc() free() getpagesize() malloc() mmap() munmap()函数介绍calloc&#xff08;配置内存空间&#xff09; 相关函数 malloc&#xff0c;free&#xff0c;realloc&#xff0c;brk表头文件 #include <stdlib.h>定义函数 void *calloc(size_t nmemb&#xff0c;size_t…