jmeter 配置元件之计数器Counter

Posted 杀手carry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter 配置元件之计数器Counter相关的知识,希望对你有一定的参考价值。

用jmeter生成数据 我用过几种以下几种方法

1、CSV Data Set Config  参数化

2、${_Random}

${_Random}是jmeter函数助手里面自带的一个函数,作用是返回指定的最大值和最小值之间的一个随机数。但是他有缺点的,那就是生成的数值可能会重复出现

3、写java代码生成一些时间戳随机串,来生成一堆数据

4、就是我这次想分享的计数器

 

启动(start):给定计数器的起始值、初始值,第一次迭代时,会把该值赋给计数器 

PS:英文版是Start,Jmeter的中文语言将Start翻译成了“启动”,有些歧义

递增(Increment):每次迭代后,给计数器增加的值

最大值(Maximum):计数器的最大值,如果超过最大值,重新设置为初始值(Start),默认的最大值为Long.MAX_VALUE,2^63-1(如果持续压测,建议最好不要设置最大值)

Number format:可选格式,比如000,格式化为001,002;默认格式为Long.toString(),但是默认格式下,还是可以当作数字使用

引用名称(Reference Name):用于控制在其它元素中引用该值,形式:$(reference_name}

与每用户独立的跟踪计数器(Track Counter Independently for each User):全局的计数器,如果不勾选,即全局的,比如用户#1 获取值为1,用户#2获取值还是为1;

如果勾选,即独立的,则每个用户有自己的值:比如用户#1 获取值为1,用户#2获取值为2。

每次迭代复原计数器(Reset counter on each Thread Group Iteration):可选,仅勾选与每用户独立的跟踪计数器时可用;

如果勾选,则每次线程组迭代,都会重置计数器的值,当线程组是在一个循环控制器内时比较有用。

以上就是我对计数器的使用,启动1 递增1 然后Number format设置为000,代表格式化为001,002这样的数字,然后引用名称随便写的一个,我这里是user

然后在线程组下面添加一个debug sample sample名字为 ${__time(yyyyMMddHHmm,)}${user}或者${__time(hhmmss,)}${user}${__threadNum}${__counter(,)}  ,添加结果树,就能够看到结果了 

线程数我暂时设置为100

结果:

另外一个sample结果:

从上面可以看出  这样生成的数据,就没得重复的数据了  通过时间戳+随机函数完美解决

 

以上是关于jmeter 配置元件之计数器Counter的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter之计数器(counter)

jmeter(20)-计数器函数和计数器配置元件

Jmeter - 具有计数器配置元件的控制器

Jmeter 常用函数- __counter 详解

Jmeter(十三) - 配置元件指计数器

Jmeter(十三) - 配置元件指计数器