jmeter - JMeter,将 CSV 中的 URL 随机(或均等地)分配给用户,而不需要多次调用 URL
问题描述
我有一种情况,我在 CSV 文件中有 100000 个 URL,我想同时启动 N 个用户(线程),但他们应该参与 CSV 文件而不干扰彼此的数据集。
Url1
Url2
....
Url100000
User1
应该取自Url1-Url100
,User2
应该取自Url101-Url200
等等..(不一定是相等的拆分),但一个 URL 应该只热一次。并且所有用户必须同时启动才能达到我想要的负载。
我可以将文件拆分为多个 CSV 并创建多个线程组,但如果我有 1000 个用户,则实际上不可能创建 1000 个线程组。
尝试了多种方法(OnceOnlyController
和ThroughputController
)但没有帮助。
对此有任何意见吗?
解决方案
要让您的用户从 CSV 文件中获取唯一行,只需将共享模式设置为
All Threads
- 使请求“唯一”的另一种方法是切换到__StringFromFile()函数,但在这种情况下,您将不得不手动计算迭代次数(虚拟用户 * 循环应该 <= .csv 文件中的行数),否则会有重复的网址。
- 最后还有HTTP Simple Table Server插件,即使是分布式测试也能保证唯一性
- 要在完全相同的时刻启动线程,请将线程组中的 Ramp Up 设置为
0
或使用同步计时器
推荐阅读
- sql - 将不同的 UUID 设置为新列
- c# - C#中的多态,如何在方法中将父对象变成子对象?
- python - SQLite:使用 Python 进行参数和字段名称替换
- python - 在 Python 的 for 循环中使用 range(len(x)) 时添加索引有什么影响?例如范围(len(x [0])
- typescript - VSCode(Vetur) 无法识别组件中的自定义 Vue 属性
- c# - 更改 ProgressDialog 的动画样式
- python - Pandas:索引和列中的分组名称
- typo3 - sr_freecap:viewhelper 调用 eIDSR 而不是 eID - 未显示图像
- python - 根据路由逻辑将请求传递给不同的类
- javascript - 在 React 中使用 React Router传递数据但未定义