迭代用户CSV文件 - 会产生任何问题吗?

时间:2015-10-27 18:31:28

标签: csv jmeter

我们有一个JMeter脚本,从头到尾运行大约1分钟。它使用用户CSV文件来获取用户登录ID。我们的目标是为900个虚拟用户运行脚本20分钟。我们决定每个用户2s是一个很好的提升时间。

为了避免JMeter上出现任何瓶颈,我们设置了6个JMeter从站,并决定分拆150个用户。现在,每台从属Jmeter机器都拥有自己独特的300个用户名单。

但我们关注的是:允许脚本在加速后运行20分钟(900 VU * 2秒/用户= 1800秒= 30分钟),我们需要执行脚本50分钟。所以,我们决定迭代脚本50次。现在,这将重复使用相同的用户ID,我们认为在某些时候,不同的用户线程将使用相同的用户(用户ID)。

有没有办法避免这种情况?我知道我们可以为每个从站提供很长的唯一用户列表(例如,每个JMeter从站有4000个唯一用户,而不是300个),并确保没有两个线程使用相同的用户ID,但创建那么多用户是一个挑战。

还有其他建议吗?

两个人会分享会话吗?实际上,如果我在浏览器的两个不同选项卡中使用同一用户登录,则从一个选项卡注销,会自动将我从另一个选项卡中注销。但是JMeter therads会发生什么?

我希望我的问题对你有意义,如果没有,我会道歉。

感谢。

2 个答案:

答案 0 :(得分:1)

通常,Web应用程序使用Cookies来区分经过身份验证的用户以及未经身份验证的用户

因此,通过向您的测试计划添加HTTP Cookie Manager并选中“每次迭代清除Cookie”复选框,您将能够模拟此LogIn - >注销行为,将能够缩小所需的唯一用户名/密码组合的数量。

请记住,迭代是在Thread Group级定义的,由Loop Controller触发的,不会清除Cookie管理器中的Cookie。

答案 1 :(得分:1)

只要每个线程花费大致相同的时间,Dmitri T的答案就会起作用。一些线程很快就能完成,特别是如果你有“开始下一个线程循环”这样的话。设置错误。从理论上讲,您的方案是可行的,但只要您正确管理您的Cookie,您就可以了。