首页 > 解决方案 > Jmeter:CSV加载多线程

问题描述

我正在使用 JMeter 进行性能测试,并使用 CSV 文件作为输入。CSV 文件有数千行,每一行都是不同的,应该代表不同用户的单个请求。想法是逐行读取文件,将请求的线程数分组并发送批量请求。例如,如果文件有 1000 行,我想测试 200 个线程(用户)我想调用前 200 个 csv 行,同时发送 200 个请求,等待 1 秒,然后读取 201 到 401 行,再次发送 200 个请求,等等。

为了测试配置,我添加了一个 8 行文件,想法是将其发送到两个不同的 4 个线程中,每个线程都有一行,即 1 个请求组,其中包含 line1、line2、line3 和 lin4。等待 2 秒,然后发送 line5,line6,line7,line8。

对于我正在使用的线程数 4,我正在使用的加速秒数为 2,循环为 1。结果是 JMeter 读取整个文件,发送第一行 4 次,然后再次发送第二行 4 次, ETC。

我也试过使用循环控制,没有任何结果。

在此处输入图像描述

在此处输入图像描述

消息建立在正文部分(不是作为参数) 在此处输入图像描述

注意:虽然它说 transactionList,但那里只有一个元素,所以我认为我们不需要 groovy 脚本。

标签: performancecsvtestingjmeter

解决方案


选择Synchronizing Timer,它充当虚拟用户的集合点,因此 JMeter 将“累积”线程,直到它们的数量达到您在 Synchronizing Timer 中定义的数量,然后在完全相同的时刻释放它们。

为了等待 1 秒,请使用Flow Control Action Sampler

示例测试计划大纲:

在此处输入图像描述

更多信息:使用 JMeter 同步计时器


推荐阅读