配置元件之随机变量(Random Variable)介绍
by:授客 QQ:1033553122
测试环境
apache-jmeter-3.2
1. 计数器简介
允许用户创建一个在线程组范围之内都可以被引用的随机变量
2. 添加计数器
右键线程组->添加->配置元件->Random Variable
3. 控制面板介绍
添加后,面板如下
l 变量名称(Variable Name) - 用于控制在其它元素中引用该值,形式:$(variable_name}
l Output Format -可选格式,比如000,格式化为001,002,Minimum Value,Maximum Value都设置为1,Number format设置为000,那么格式化后,第一个参数值为001,第二个为002,……,以此类推,假设format设置为user_000,那么格式化后,第一个参数值为user_001,第二个参数值为user_002,...,以此类推。默认格式为Long.toString()
l Minimum Value 生成的最小随机数
l Maximum Value 生成的最大随机数
l Seed for Random function - 供随机数生成器使用的seed.如果为空,则使用默认的Random构造器。
l Per Thread(User)? - 如果设置为False,那么所有线程共享同一个随机数生成器,如果设置为True,那么每个线程独享各自的随机数生成器
多线程运行的情况下:
l 假如Seed for Random function不为空,为手动输入的某个固定常量,
1) Per Thread(User)? 设置为True,那么每个线程都使用自己的随机数生成器,因为Seed相同,所以,每次运行脚本,每个线程获取到的随机数变量值是一样的。
2) Per Thread(User)? 设置为False,那么每个线程共享同一个随机数生成器,所以,每次运行脚本,每个线程获取到的随机数变量值是不一样的。
l 假如Seed for Random function不为空,即按默认,那么不管per Thread(User)?设置为True还是设置为False,生成的随机数都不相同
l seed相同,per Thread设置为True,每个线程使用各自的随机数生成器,所以两个生成的随机数相同,要不同则设置为False
不管是多线程还是单线程,使用相同的Seed,运行相同次数,对应次数生成的随机数完全相同。
,也就是说,随机数生成器是根据Seed,然后按照某种算法一步一步生成随机数的,如果Seed一定,算法相同,那么对应步骤产生的随机数也就一样
推荐设置:
无特殊需求的情况下,建议Seed for Random function 不填,使用默认,Per Thread(User)?
设置为False
参考链接:
http://jmeter.apache.org/usermanual/component_reference.html#Random_Variable