Jmeter系列(34)- 详解 Counter 计数器
如果你想从头学习Jmeter,可以看看这个系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
简单介绍
- 计数器的作用:循环递增生成数字
- 计数器使用 long 来存储值,因此取值范围是 -2 ^ 63 到 2 ^ 63-1
- 可以在线程组任意地方添加计数器
计数器
计数器界面介绍
字段介绍
字段 | 含义 |
Starting value | 初始值,long 整型,默认 0 |
Increment | 每次迭代的递增值,默认 0,表示不增加 |
Maximum value | 最大值,包含此值 |
Number format | 数字可选格式 |
Exported Variable Name | 引用名称 |
Track counter independently for rach user | 每个用户都有一个独立的计数器 |
Reset counter on each Thread Group Iteration | 每次线程组迭代时计数器将重置为初始值 |
最基础的栗子
只有计数器的情况下的栗子
线程组结构树
线程组属性
共有 15 个线程,模拟 15 个用户
计数器
计数器最多循环计数 10 次
运行结果
可以看到,因为有 15 个用户,但计数器最多循环计数 10 次,所以第一轮循环结束后会重头开始
计数器 + 循环控制器的栗子
线程组结构树
线程组属性
共有 5 个线程,模拟 5 个用户
循环控制器
每个线程运行 3 次
计数器
计数器最多循环计数 30 次
未勾选【与每用户独立的跟踪计数器】的运行结果
可以看到
- 因为有 5 个线程,每个线程循环 3 次,一共 15 个请求,所以计数器是循环了 15 次
- 此时计数器是对所有线程共享的,属于线程组全局计数器,所以计数器是累计循环了 15 次
勾选【与每用户独立的跟踪计数器】的运行结果
可以看到
- 每个线程运行时,计数器都是从初始值算起的
- 此时计数器是每个线程独享的,不再是公共计数器,所以每次有新的线程运行时,都是新的计数器开始循环计数
计数器的一些注意事项
使用计数器生成的变量,值的类型为 string,所以有比较之类的操作时,需要带 "" 操作