Random 多线程中的Jmeter随机变量
我有一个Jmeter线程组,它在整个过程中多次使用变量Random 多线程中的Jmeter随机变量,random,jmeter,Random,Jmeter,我有一个Jmeter线程组,它在整个过程中多次使用变量uuid uuid定义为12345678-1234-4444-a123-${uu Random(1111111111111119999999)} 换句话说,它从一个固定的序列开始,然后将最后12个字符随机化 我想同时运行几个线程,这会产生以下问题 当我将uuid定义为线程组内的用户定义变量时,它会随机化一次,然后将该值用于所有线程。 如果我全局设置,同样的事情也会发生 完成后,我将同时运行数千个线程,因此我无法执行手动解决方案或读/写磁盘 有
uuid
uuid
定义为12345678-1234-4444-a123-${uu Random(1111111111111119999999)}
换句话说,它从一个固定的序列开始,然后将最后12个字符随机化
我想同时运行几个线程,这会产生以下问题
当我将uuid
定义为线程组内的用户定义变量时,它会随机化一次,然后将该值用于所有线程。
如果我全局设置,同样的事情也会发生
完成后,我将同时运行数千个线程,因此我无法执行手动解决方案或读/写磁盘
有人有这方面的经验吗?
我已经浏览了文档和谷歌很长一段时间了,但似乎找不到解决方案
简而言之:我需要随机化一个变量,在整个线程组中使用该变量,并在多个同步线程中运行该线程组。变量在每个不同的线程中应具有不同的随机值。假设您可以简单地使用配置元素:
Variable Name: uuid
Output Format: 12345678-1234-4444-a123-000000000000
Minimum Value: 111111111111
Maximum Value: 999999999999
Per Thread (User): True
产生的价值
- 可作为
访问李>${uuid}
- 每个线程都是唯一的李>
- 在每个线程的不同采样器调用流之间保留(在每次引用期间不重新生成)李>
- 在线程组的每次迭代期间生成
根据
随机种子
字段描述:
默认值是以毫秒为单位的当前时间。如果你使用相同的种子
值设置为true时,您将获得与
按随机类别搜索线程
如果使用同一种子创建了两个Random实例,则
对每个方法调用的顺序相同,它们将生成
返回相同的数字序列
在实现具有高并发性的场景时要记住这一点(如下面的注释中所述)。
要解决此问题,您可以使用随机化种子,例如,${{uu Random(MIN,MAX)}
作为随机函数的种子
字段的值。只需将
12345678-1234-4444-a123-${__Random(111111111111,999999999999)}
在需要的地方内联
若将其放入UDV组件中,那个么在线程启动之前,该值只分配一次。
根据jmeter文档,该行为正常。请仔细阅读。Brilliant@Alies Belik。。。但我使用的是循环控制器,而不是不同的采样器。流程是:1。线程组1.1循环计数器1.1.1 SOAP请求我将随机变量放置在何处?您还可以使用随机变量从每个线程(用户)的预定义列表中选择字符串。我使用它为每个虚拟用户随机选择一个搜索关键字。我用逗号分隔的关键字列表创建了一个变量,然后在线程组中创建了一个随机变量,最小值为0,最大值为
${{uu javaScript('${search.keywords}.split('\,').length-1;)}
,并将其保存到变量keyword.index。然后,在我想使用随机选择的关键字的地方,我使用了${uuu javaScript('${search.keywords}.split('\',')[${keyword.index}];)}
我一直在使用它,但刚刚通知一些线程仍然获得相同的值。我假设这是因为线程是在同一时间启动的,因此随机值以相同的毫秒生成,导致线程以毫秒为单位获得与随机值相同的值。有什么建议吗?嗨,TuukkaMustonen。谢谢你的来信。请查看上面的答案更新。简言之:看起来随机种子(通过例如${{uuu Random(MIN,MAX)}
函数)提供了更好的结果。@AliaksandrBelik有趣的是,这对我来说没有任何区别。但是,如果我将每个线程(用户)设置为False
,我会突然为每个线程获得唯一的UUID。所以,它的工作方式完全相反。。。我的随机变量
位于线程组
内,不确定这是否会影响它。
iteration: 1
thread: 1
sampler 1: VALUE_1-1
sampler 2: VALUE_1-1
...
thread: 2
sampler 1: VALUE_2-1
sampler 2: VALUE_2-1
...
...
iteration: 2
thread: 1
sampler 1: VALUE_1-2
sampler 2: VALUE_1-2
...
thread: 2
sampler 1: VALUE_2-2
sampler 2: VALUE_2-2
...
...
12345678-1234-4444-a123-${__Random(111111111111,999999999999)}