第二篇:Jmeter功能概要
一.jmeter工具组成部分:
1.资源生成器:用于生成测试过程中服务器,负载机的资源代码;
2.用户运行器:通常是一个脚本运行引擎,根据脚本的要求模拟指定用户行为,(lr中的controller)
3.报表生成器:根据测试中,实时的生成报表,提供可视化的数据显示方式。(lr中的analysis)
4.负载发生器:用于产生负载,通常以多线程或者多进程的方式模拟用户行为(lr中的load Generators)
二:TestPlan(测试计划):用来描述一个性能测试,包含与本次性能测试所有的相关的功能,也就是说本次性能测试的所有的内容是基于一个计划的(相当于lr中的一个测试场景)
1.线程用户:(Threads users):
setUp thread group:
一种特殊类型的ThreadGroup 的,可用于执行预测试的操作,这些线程的行为完全像一个正常的线程组,不同的是,这些类型的线程是在测试之前进行的;类似(lr的init())
tearDown thread group:
一种特殊类型的ThreadGroup 的,可用于执行测试后的操作,这些线程的行为完全像一个正常的线程组,不同的是,这些类型的线程是在测试之后进行的;类似(lr的end())
3)thread group(线程组)
这个就是我们通常添加运行的线程,可以看做一个虚拟的用户组,线程组中的每个线程都可以理解为一个虚拟用户,线程组中包含的线程数量在测试执行的过程中是不会发生改变的,类似于(lr的action())
三:测试片段(test Fragment)
测试片段是控制器上的一种特殊的线程组,他在测试树上与线程组处于同一层级,他与线程组有所不同的是,他不被执行,除非他是一个模块控制器,或者被控制器所引用时候,才会被执行:
3.1:线程组的8类可以执行的元件:
1.配置元件:(config Element)
配置元件用于:提供对静态数据的配置的支持,如:CSV Data Set config 可以将本地的数据文件形成数据池(Data pool)
2.定时器(Timer)
定时器,用于操作之间设置等待的时间,等待时间是性能测试中,常用的控制客户端QPS(服务器处理的请求数/S,)的手段,类似lr中的思考时间,
如上是jmeter 的定时器:这里不再列举;
3.:前置处理器:(Pro Processors)
用于在实际的请求发出去之前对即将发生的请求,进行特殊处理,例如:HTTP,URL重写修饰符则可以实现URL重写,当URL中有sessionid,一类的session信息时候,可以通过该处理器填充发出请求的实际sessionID;
4.后置处理器(post Processors)
用于对sampler 发出请求后得到的服务器响应进行处理,一般来提取响应中的特定的数据,(类似lr中的测试中的关联的概念)
5.断言(Assertions)
断言用于检测,测试中得到的相应的数据是否等于预期结果,断言一般用来设置检查点,用于保证性能测试过程中的数据是否和预期结果一致;
6.监听器:
用于对测试结果数据,进行处理和可视化展示的一系列的元件,例如:图形结果,查看结果树,聚合报告,都是我们经常用到的元件,注意:这里监听可不是用来监听系统资源的;
7.取样器:(sample)
取样器,是性能测试过程中,向服务器,发送请求,记录响应信息,记录响应时间的最小单元,jmeter 支持多种不同的sampleer,如:HTTP request sampler,FTP Request sampler ,TCP,JDBC,等等,每种不同的取样都可以根据不同的设置参数,向服务器,发出不同类型的请求;
8.逻辑控制器:
逻辑控制包括2种:
一类:用于控制testplan中的sampler 节点发送请求的逻辑顺序控制器,常用的有if控制器,switch controller,runtime controller,循环控制器,另一类是用来组织可控制sampler节点的,如:事务控制器,吞吐量控制器;
第二篇:Jmeter功能概要的更多相关文章
- 第二篇--Jmeter测试Java请求
前提:需要准备eclipse作为开发工具,安装jdk,准备完毕,接下来开工喽! 1.新建Java工程BMIrisJNIJarTest,新建lib目录,将Jmeter安装目录下lib/ext包下的Apa ...
- 升讯威微信营销系统开发实践:(1)功能概要与架构设计( 完整开源于 Github)
GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...
- [ 高并发]Java高并发编程系列第二篇--线程同步
高并发,听起来高大上的一个词汇,在身处于互联网潮的社会大趋势下,高并发赋予了更多的传奇色彩.首先,我们可以看到很多招聘中,会提到有高并发项目者优先.高并发,意味着,你的前雇主,有很大的业务层面的需求, ...
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
原文地址: http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...
- [转]Android开源项目第二篇——工具库篇
本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多 ...
- 【OpenGL】第二篇 Hello OpenGL
---------------------------------------------------------------------------------------------------- ...
- Python开发【第二篇】:初识Python
Python开发[第二篇]:初识Python Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...
- c#开发Mongo笔记第二篇
写到第二篇不得不说是我之前犯了一个小错误,其实实现子表存储也是很简单的事,先说我想实现什么样的效果吧 就是用户表里有个成绩字段,成绩字段是个子表 其实实现这个功能也很简单,用面向对象的思想很好理解,子 ...
随机推荐
- [Android]数据篇 --- SharedPreferences
转载请标注:转载于http://www.cnblogs.com/Liuyt-61/p/6637515.html -------------------------------------------- ...
- Linux配置和管理msyql命令
配置和管理msyql: 1. 修改mysql最大连接数:cp support-files/my-mediuf,vim my.cnf,增加或修改max_connections=1024 关于my.cnf ...
- uva-10340-水题
题意:字符串匹配,看样例输入理解题意 直接循环 #include <string> #include<iostream> #include<map> #includ ...
- 代码:jquery小效果—— 吸顶
吸顶: 可以防止滚屏过程中,代码被多次调用 <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"& ...
- 在集群上运行Spark
Spark 可以在各种各样的集群管理器(Hadoop YARN.Apache Mesos,还有Spark 自带的独立集群管理器)上运行,所以Spark 应用既能够适应专用集群,又能用于共享的云计算环境 ...
- JMeter做http接口功能测试
1. 普通的以key-value传参的get请求 e.g. 获取用户信息 添加http请求:填写服务器域名或IP:方法选GET:填写路径:添加参数:运行并查看结果. 2. 以Json串传参的post请 ...
- asp.net在配置文件里设置多种编码方式的研究
我们在做asp.net的程序时,在根目录下肯定会有一个web.config的文件, 有点开发经验的可能都知道,它是配置程序的全局信息的地方, 当然了,也可以在这里做更多的事情,下面我们来研究一下 ,如 ...
- <基础> PHP 文件、目录操作
php文件目录操作 目录操作 is_dir ( $path ) 判断当前路径是否为目录 ,返回布尔 opendir ( $path ) 打开路径目录,返回资源 readdir ( $handle ) ...
- day07-while,for循环
1.循环语句 Python提供了for循环和while循环while在给定的判断条件为 true 时执行循环体,否则退出循环体.for重复执行语句嵌套循环可以在while循环体中嵌套for.while ...
- css 的pointer-events 属性
1.css 有好多属性,可以让你感觉到不可思议,关键是可以解决一些难以实现的问题,今天遇到一个,就是 point-enevts属性 支持 pointer-events 属性 的浏览器版本 2. 1 ...