第二篇: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 开发 实现一个app的引导查看页面(使用ViewPager组件)
我们安装完app后第一次打开app,通常都会有一个翻页图片形式的app引导简介说明.下面我们来实现这个功能.ViewPager这个组件与ListView和RecyclerView在使用上有很高的相似处 ...
- dbcp 连接池参数说明
参考: http://commons.apache.org/proper/commons-dbcp/configuration.html https://www.cnblogs.com/happySm ...
- 廖雪峰老师Python3教程练习整理
1.定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:ax2 + bx + c = 0的两个解 # -*- coding: utf-8 -*-import mathde ...
- ansible常用模块即用法
Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc -s 模块名 又可以查看该模块有哪些参数可以使用. 下面 ...
- springMVC源码学习之addFlashAttribute源码分析
本文主要从falshMap初始化,存,取,消毁来进行源码分析,springmvc版本4.3.18.关于使用及验证请参考另一篇jsp取addFlashAttribute值深入理解即springMVC发r ...
- ASP.NET前台代码绑定后台变量方法总结
经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题.一般有<%= str%>和<%# str %>两种方式,这里简单总结一下.如有错误或异议之处,敬请各位指教. 一方 ...
- react-native-vector-icons 图标库使用
安装链接 yarn add react-native-vector-icons react-native link react-native-vector-icons 在项目工程中打开 .xcodep ...
- day20-面向对象编程、继承
一.面向对象编程 1.简介 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. ...
- jsfl 选择图层 选择帧 转化成mc
//打开fla var _openDOC = fl.openDocument("file:///E|TE/爱.fla"); //获取图层4的总帧 var _Length=fl.ge ...
- 尚硅谷springboot学习11-占位符
1.随机数 2.占位符获取之前配置的值,如果没有可以使用:指定默认值