jmeter学习笔记--线程组
jmeter组件:线程组
是什么?
进程:一个正在执行的程序对应一个进程
线程:进程中的执行线索(一个进程中有多个执行线索)
线程组:按照线程性质对线程进行分组
并发执行:多个线程同时进行 特点:执行结束的顺序和启动顺序不一定一致
顺序执行:按照线程的启动顺序挨个执行
为什么?
方便管理
怎么用?
* 进程有多个线程组 线程组可以有多个线程
进程 ----- 测试计划
线程组 ----- 线程组
线程 ----- 线程组属性的线程数
* 默认情况下,线程组中的线程是并发执行的
每一个线程都要执行组内的http请求
* 怎么设置线程组顺序执行
勾选测试计划的第一个复选框(独立运行每个线程组)
线程组 http请求:
取样器-http请求(配置url 、提交数据)
配置元件--信息头管理器(设置JSON对应的信息头 Content-type application/json;charset=utf-8)
查看结果数
线程组 优化:
在测试计划下添加 配置元件--HTTP请求默认值:封装被复用的配置项信息,简化实现,提高效率
线程组 高级部分:
线程数配置:3 模拟用户数
时间值:10 在设置时间内启动所有线程组
循环次数:2 单个用户访问的次数
调度器:勾选
1)循环次数为 永远
2)设置启动延迟 x 和持续时间 y
在x秒后访问服务器,并且持续y秒
3)设置启动时间 M 和 结束时间 Y
在M时开始,在N时结束
注意:2和3不能同时使用,否则矛盾
jmeter组件:参数化
是什么?
动态获取并设置数据
为什么?
比如执行批量操作时,批量插入或批量删除,之前数据都是手写的,每次执行完一次都要修改一次,效率太低
参数化可以以程序代替人工获取并设置数据:安全+高效
参数化实现之CSV Data SetConfig(重点中的重点)
是什么?
jmeter组件之一
为什么?
通过这个组件可以动态获取并设置数据,实现类似批量添加操作(执行一次,将多条数据插入到数据库)
怎么用?
实现思想:

总结:
1、编写添加框架,设置循环次数为3,JSON数据格式固定,值先不写
2、编写一个外部的文本文档,存储要添加的三条数据
3、Jmeter添加一个参数化组件CSV Data Set Config ,每次循环时都读取外部文档的一行数据,再将4个字段分别设置进提交的JSON数据中
实现流程:
1、循环次数:3
2、body值不写“ ”
3、创建一个文本文档,三条记录
4、配置元件 -- CSV Data SetConfig, filename--相对/绝对路径 ,encoding--utf-8(与文档一致) , Deliter--字段分隔符(与文档一致), variable--值进行对应,输入变量名,在body中引用 ${变量名}
其他:
CSV Data SetConfig --- CSV数据配置
CSV --- 逗号分隔值文件格式

线程组:特殊线程组
setup线程组:始终是最先执行的 ----- 可用于资源加载操作(初始化)
teardown线程组:始终是最后执行的 ----- 程序正式关闭之前,可以将数据保存进内存
jmeter学习笔记--线程组的更多相关文章
- Jmeter学习笔记TWO
使用非GUI模式运行Jmeter脚本并自动生成测试报告 命令:jmeter -n -t tougu.jmx -l result.jtl -e -o /tmp/ResultReport 这个命令是用于执 ...
- java学习笔记04--数组
java学习笔记04--数组 数组复制的方法是使用System类提供的arraycopy()方法,其语法如下: System.arraycopy(Object src, int srcPos, Obj ...
- Jmeter(五十二) - 从入门到精通高级篇 - jmeter之跨线程组传递参数(详解教程)
1.简介 之前分享的所有文章都是只有一个线程组,而且参数的传递也只在一个线程组中,那么如果需要在两个线程组中传递参数,我们怎么做呢?宏哥今天就给小伙伴或者童鞋们讲解一下,如何实现在线程组之间传递参数. ...
- JMeter学习笔记--录制脚本(二)
第一步:在JMeter中添加线程组,命名为访问首页 第二步:在线程组下添加HTTP请求默认值 添加->配置元件->HTTP请求默认值,设置服务器IP和端口号(JMeter默认使用80端口号 ...
- JMeter 学习笔记从不懂慢慢提升(01)
开源已经成为一个趋势,虽然说做测试是一个低端的行业,但是我们也应该在这个低端的行业慢慢提升自己,让自己到达理想的高度. 以前说如果你会使用loadrunner可能别人就会觉得你有一定的水平那么就会拿高 ...
- JavaSE中线程与并行API框架学习笔记——线程为什么会不安全?
前言:休整一个多月之后,终于开始投简历了.这段时间休息了一阵子,又病了几天,真正用来复习准备的时间其实并不多.说实话,心里不是非常有底气. 这可能是学生时代遗留的思维惯性--总想着做好万全准备才去做事 ...
- Java学习笔记 线程池使用及详解
有点笨,参考了好几篇大佬们写的文章才整理出来的笔记.... 字面意思上解释,线程池就是装有线程的池,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程 ...
- jmeter解决不同线程组之间传递参数问题
首先在第一个线程组里讲你需要保存的值放入到jmeter的某个属性中,属性名名字自己定义,如上图的token , props.put("token", token),第二个参数必须是 ...
- Jmeter学习笔记ONE
最近想学一些关于性能测试方面的知识,其实之前已经初步了解了Jmeter工具,它是一个轻量级的性能测试工具,开源并且免费,相比于Loadrunner来说用起来更简便. JMeter 可以用于对服务器.网 ...
随机推荐
- 迅速的说清楚rpc原理
第一个问题是服务提供者进程如果被kill -9暴力杀死,不能主动调用srem命令怎么办? 这个时候服务列表中多了一个黑地址指向了不存在的服务而消费者完全不知道,这个时候服务中介就成了黑中介了.那该怎么 ...
- ASP.NET页面跳转的三大方法详解
ASP.NET页面跳转有什么方法呢?,现在给大家介绍三种方法,他们的区别是什么呢?让我们开始吧: ASP.NET页面跳转1.response.redirect 这个跳转页面的方法跳转的速度不快,因为它 ...
- EntityFramework Inner Exception Catch
在保存时加入这一段,就可以查看error具体是哪里出错了.正式发布需要删除这段,try catch毕竟会影响性能 try { entity.SaveChanges(); } catch (DbEnti ...
- 廖雪峰Java8JUnit单元测试-2使用JUnit-4超时测试
1.超时测试 可以为JUnit的单个测试设置超时: 超时设置1秒:@Test(timeout=1000),单位为毫秒 2.示例 Leibniz定理:PI/4= 1 - 1/3 + 1/5 - 1/7 ...
- linux中的查找命令find,locate,which,whereis
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了. which 查看可执行文 ...
- awk 正则匹配指定字段次数统计
1. 文本数据 head 12315_industry_business.csv name,business,label,label_name 沧州光松房屋拆迁有限公司,旧房拆迁.改造:物业服务(依法 ...
- note 7 递归函数
递归:程序调用自身 形式:在函数定义有直接或间接调用自身 阶乘:N!=123...N def p(n): x = 1 i = 1 while i <= n: x = x * i i = i + ...
- Windows编程1
一个最简单的windows必须包括两个函数: 1.入口函数:WinMain 2.窗口过程回调函数:WndProc 结构如下: #include <windows.h> //窗口过程回调函数 ...
- dotnet core调试docker下生成的dump文件
最近公司预生产环境.net core应用的docker容器经常出现内存暴涨现象,有时会突然吃掉几个G,触发监控预警,造成容器重启. 分析了各种可能原因,修复了可能发生的内存泄露,经测试本地正常,但是发 ...
- ngnix和负载均衡
1 准备环境 =====>part1: iptables -F #systemctl disable firewalld #开机默认关闭 #systemctl stop firewalld #立 ...