首页 > 解决方案 > 有没有办法为使用 ruby​​-jmeter 运行的每个线程发送唯一值

问题描述

我正在编写一个负载测试,在一个发布请求中,我需要为每个请求发送一个在有效负载中具有唯一 ID 的值。

我们正在使用 ruby​​-jmeter 进行性能测试。我看到很多建议使用 jmeter 的文件,但没有提到如何在 ruby​​-jmeter 中实现相同的功能。

标签: rubyperformance-testingruby-jmeter

解决方案


只需在需要发送唯一 ID 的地方使用 JMeter 的UUID() 函数ruby-jmeter,它只不过是一个包装器,因此它完全支持JMeter 函数和变量的正常语法

这是Ruby中的一个示例:

$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require 'ruby-jmeter'

test do
  threads count: 1, loops: 5, scheduler: false do
    # Helper method to generate a single UUID per iteration
    uuid_per_iteration

    dummy_sampler name: '${__threadNum} - ${UUID}'
    dummy_sampler name: '${__threadNum} - ${UUID}'
    dummy_sampler name: '${__threadNum} - ${UUID}'

    view_results
  end
end.run(path: '/usr/local/share/jmeter-3.1/bin', gui: true)

有关 JMeter Functions 概念的更多信息:Apache JMeter Functions - An Introduction


推荐阅读