Jmeter常见用法
Jmeter (底层语言是Java) 单进程
Loadrunner (底层语言是C) 多进程 性能更好,更稳定
Tomcat 线程模式(与Java有关的都是单进程)
lr的支持最大并发 跟license的允许数量一致
并发用户数与进程数无关 取决于线程数
那50线程为一进程 是默认值 可以调整
Jmeter 一个并发就是一个线程
Jmeter 录制方法:1、代理录制;2、badboy 工具录制
Jmeter lib 目录 放置依赖的jar 包 (以后工作中jar 放到该文件夹下)
保存Jmeter 脚本需选中测试计划进行保存,否则保存内容不全
Jmeter 有严格的 作用域,注意层级关系
线程组比http 请求多了逻辑控制器
作用域的关系,执行顺序
执行顺序:先看作用域
线程组
配置元件
逻辑控制器
前置处理器
定时器
取样器
后置处理器
断言
监听器
循环套循环
从最里面的循环往外执行
思考:取样器后面的步骤执行完毕后如果前置处理器或定时器还有未执行的,是执行前置处理器、定时器还是Break 跳到配置元件?
答案:Break 跳到配置元件
后置处理器、断言、监听器 属于一个层级的东西,不会嵌套循环,执行完后不会回到取样器 而是break跳到配置元件
取样器前后的东西都是作用于取样器;
从线程组往下层层执行,可以有多个同级,到监听器后跳出到配置元件;
后置处理器、断言和监听器可以理解为同级别,都作用于取样器
实践经验:用作用域控制执行顺序









参数化:
Csv data set config: sharing mode - all thread – -- 唯一取值方式
所有线程;唯一+每次迭代,每次迭代的时候才会变值,循环控制器不改变值的
所有线程之间共享,只打开一次文件
当前线程;顺序+每次迭代,线程(vu)与线程间是一样的,只有迭代的时候才会变化值。线程组1 用户1取1 ,用户2取1,迭代用户1取2,用户2取2
(迭代的时候不同用户之间拿到的数据是一样的)
每个线程,文件分别打开一次(第一行读取)
当前线程组 : 顺序+唯一,线程(vu)与线程之间是顺序,线程组间内是唯一。线程组1跟线程组2的取值数据来源一样,线程组1取1,线程组2也是取1;线程内是唯一 。用户1取1,用户2取2,迭代用户1取3,用户2取4
(唯一的时候不同用户之间拿到的数据是互斥的)(组外没有关系,当只有一个线程组时取值方式同“所有线程”)
同一个线程组,只打开一次文件
关联:
Jmeter中的关联是后置操作


A+ a重复一个或多个,优先取多(没有空)+ 作用于前面的字符串
A? a重复零次或一次,? 作用于前面的字符串
A* a重复零次或更多次,优先取多,* 作用于前面的字符串
“ . ” 取换行符以外的一个字符
“*”
取换行符以外的任意多个字符或0个字符,优先取多
“.*” 取换行符以外的任意一个或多个字符,优先取多
“.+” 同“.*”,但会剔除空字符串,优先取多
“.?” 0个或1个
“div.*div”
取换行符以外的任意一个或多个字符串,左边包含div


“div(.*)div”
取换行符以外的任意多个字符串,左右两边包含div .会有两个结果,一个包含左右边界,一个刨掉了左右边界
$1$ 取刨掉左右边界以外的字符



关联:建议用 .+ 或者 .* ,然后加上括号、左右边界;
Sampler
– debug sampler 可查看jmeter 中所有的参数化、关联值
拓展:匹配18位身份证号 ^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$
参考网址:http://tool.oschina.net/regex/#
检查点:
响应断言

调试脚本时,响应断言查看结果树去看
跑脚本时 添加监听器-断言结果 去看
Think time :
固定定时器 、高斯随机定时器 。。。。。。
集合点:
定时器-Synchronizing timer

事务:

Logic
controller - Transaction controller
仅一次控制器:once only controller 类比lr 中init end
Jmeter常见用法的更多相关文章
- Linux中find常见用法
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
- php中的curl使用入门教程和常见用法实例
摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...
- Guava中Predicate的常见用法
Guava中Predicate的常见用法 1. Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...
- find常见用法
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
- iOS 开发多线程篇—GCD的常见用法
iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...
- iOS开发多线程篇—GCD的常见用法
iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...
- [转]EasyUI——常见用法总结
原文链接: EasyUI——常见用法总结 1. 使用 data-options 来初始化属性. data-options是jQuery Easyui 最近两个版本才加上的一个特殊属性.通过这个属性,我 ...
- NSString常见用法总结
//====================NSStirng 的常见用法==================== -(void)testString { //创建格式化字符串:占位符(由一个%加一个字 ...
- [转]Linux中find常见用法示例
Linux中find常见用法示例[转]·find path -option [ -print ] [ -exec -ok command ] {} \;find命令的参 ...
随机推荐
- php之快速入门学习-4(数据类型)
PHP 5 数据类型 String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值). PHP ...
- 策略模式(Strategy)简介
一.策略模式(Strategy)简介 策略模式是行为模式. 行为模式:规定了各个对象应该具备的职责以及对象间的通信模式,它很好的规范了对象间调用和数据传递方式 策略模式适合于算法经常变化的情况 算法的 ...
- D. Flowers Codeforces Round #271(div2)
D. Flowers time limit per test 1.5 seconds memory limit per test 256 megabytes input standard input ...
- javaScriptObject转String
function obj2str(o){ var r = []; if(typeof o =="string") return "\""+o.repl ...
- C# 获取今天,昨天,上周,下周,上月,下月等等一些日期格式
C#里内置的DateTime基本上都可以实现这些功能,巧用DateTime会使你处理这些事来变轻松多了 今天 DateTime.Now.Date ...
- 通过JS控制各种元素的点击事件的【时间间隔】,特别适合【发表评论】功能
1.使用情景模拟:下单(防止用户无脑狂点).支付(防止用户无脑点击支付).发表评论(防止用户无脑点击),当然如果你用了一个提示框进行屏蔽,下面代码可以无视了,右上角谢谢. 2.默写情景比如:比如发表评 ...
- 如何判断微信内置浏览器(JS & PHP)
转自:http://blog.wpjam.com/m/is_weixin/ 为什么要进行判断呢?answer:微信授权登录,微信支付都可以 微信内置浏览器的 User Agent 如何判断微信内置浏览 ...
- Eclipse Xml编译错误Referenced file contains errors - spring-beans-4.0.xsd
本文转自:http://josh-persistence.iteye.com/blog/2125420 在eclipse中,有时候在xml文件中,特别是于Spring相关的配置文件中,会出现一些不影响 ...
- vi/vim 计算搜寻关键字数量
http://hi.baidu.com/xletian/blog/item/f19962061a9a506c020881dc.html 在看过 vim 的全域指令和 search 指令之後,你会不会也 ...
- vscode自定义背景颜色
vscode自定义背景颜色 大概做前端的builder(只会打代码的才是coder,嘻嘻~)一半以上都会使用vscode编辑代码吧,vscode很轻量,支持的文件拖拽加入编辑区功能我个人认为很方便 ...