JMeter配置元件(二)
一 前言
环境: window 10 JMeter 5.3
记录一些常用的配置元件的用法
二 Configuration elements 配置元件
JDBC Connection Configuration
该元件的作用是创建数据库连接池,常常与sampler中的JDBC request一起来创建对数据库的使用,
关于连接数据库在前面的配置数据库连接的文章


Variable Name for created pool: 连接池的名,在一个JMeter测试计划中可以存在多个JDBC Connection Configuration,这样名称就有多个(注意名称不要重复),后面JDBC request选择名称来配对使用
连接池参数字段:
Max Number of Connection: 连接池允许的最大连接数
一般设置为0. 表示每个线程单独使用自己的数据库连接,该连接在线程间是非共享的
如果想在线程之间共享连接,最好使这里的数量与线程组中的线程数一致,以确保线程间不会互相等待
Max Wait(ms): 创建连接的最大等待时,超过该时间则抛出异常
Time Between Eviction Runs(ms):连接最大空闲时间,超过该事件仍未被使用,则该连接会被关闭
Auto Commit:是否自动提交sql语句
Transaction isolation :数据库事务隔离级别
Preinit Pool:是否立即初始化连接池,默认False,
选择False,后面的JDBC requst的首次查询会需要更多的响应时间
验证连接相关字段:
Test While Idle: 连接空闲时,是否使用Validation Query去测试空闲连接
Soft Min Evictable Idle Time: 连接在连接池中空闲的最短时间
计数器counter

该计数器可生成数字的范围是 -2^63 to 2^63-1
Exported Variable Name: 把生成的数赋值给一个变量,在后面可用${变量名}的方式来引用
Track Counter Independently for each User : 全局性质的计数器(所有线程共享),还是每个线程各自独立的计数器,不勾选就是全局的
全局的计数器,例如线程1得到数字1,线程2得到数字3,以此类推
单独的计算器,例如线程1得到1,线程2重新计数还是数字1
Reset counter on each Thread Group Iteration:当上面Track勾选时,该选项才能勾选。
当线程组每次迭代循环时,会重置为初始值。
当计数器位于循环控制器时,该选项尤其有用
示例一
勾选 Track




结果树

前面2个是线程1-2, 后面2个事线程1-1
可见,每个线程拥有自己独立的计数器,每个线程从头单独生成数字,不受其它线程的影响
同时还注意,Track及Rest勾选与否,区别就在于不同线程下的区别,同一线程下是否勾选是生成的数字没有区别的,上面及后面的实例可以看到,同一线程下的多个sampler中的数字是相同的
示例二
未勾选Track及Rest
结果树

前面2个事线程1-1,后面2个事线程1-2
可见,一个计数器作用于所有的线程,后面的线程在前面线程数字的基础上进行计算
示例三
勾选Track及Rest
因为Rest是在线程组迭代的时候把计数器重置到初始值,所以把迭代次数变为2次

结果树

2个线程都各自生成了2个数字1
对位对比 看下只勾选Track的结果树

2个线程各自有一个数字1,也各自有一个数字2
对比结果很明显,勾选Rest时,线程组会在迭代时重头开始计数
示例4
看下官网说的把计数器放在循环控制器下面

都勾选Track,对比看下未勾选Rest及勾选rest的情况

前面4个事未勾选Rest的结果, 后面4个事勾选Rest的结果
结果看起来没啥不同,2个线程都各自生成数字1 数字2
User Defined Variables
自定义的变量可以定义在test plan,也可以定义在线程组下的配置元件
定义在test plan对整个test有效,定义在线程组只在该线程组的有效,只能在该线程组内引用定义的变量

浙公网安备 33010602011771号