来自 csv 文件的 JMeter 和数据集
Posted
技术标签:
【中文标题】来自 csv 文件的 JMeter 和数据集【英文标题】:JMeter and data set from csv file 【发布时间】:2012-11-18 20:42:02 【问题描述】:我正在研究使用 JMeter 进行负载测试。 我计划创建适度数量的线程 ~300,因为我从各种帖子中了解到 JMeter 不能很好地扩展并且我没有一些真正特殊的硬件。 所以我打算循环大约 20 次来模拟 6000 个用户。
如果我使用包含 6000 个条目的 CSV 数据集,JMeter 将为 每个 线程提供 CSV 文件的单个条目,因此在 20 个循环结束时 all 条目将作为请求的一部分发送到服务器或在每个循环开始时,将从开始读取 csv 文件中的数据集?
【问题讨论】:
【参考方案1】:这取决于 CSV 数据集配置中设置的共享模式。如果共享模式=所有线程,则每次执行 CSV 数据集时,都会从 CSV 中读取新行。这似乎是你想要的。
注意事项:
如果将线程数设置为 300,则无论循环中的计数器如何,都只会同时获得 300 个“用户”。 您无法事先说明您的测试机可以同时提供多少用户。根据测试计划、SUT、网络,此数字可能高于或低于 300。如果您想在您的站点上产生高负载,请关注official best practices on reducing resource usage,考虑distributed testing,最后考虑使用来自 Jmeter 的HTTP Raw Request -插件。【讨论】:
但是如果我从服务器的角度循环 20 次,就好像在X
一段时间内访问了 6000 个用户,对吧?
你也是在说实验?你说的极限是多少?
@Cratylus 您的服务器可能同时支持 300 个用户,但不太可能同时支持 6000 个用户。您应该决定是否希望用户同时使用。
没有人能说你的测试机能提供多少负载。实验,但请遵循指南
好点。例如,要测试 6000 个并发用户,如果我使用 真的 好机器,我能做到吗?或者我需要做分布式测试?【参考方案2】:
我同意 Andrey 在 csv 上的观点,但您不需要原始请求,标准的 http 采样器就足够了。
关于 JMeter 的可扩展性,只要您遵循最佳实践,它就可以很好地扩展。 阅读:
http://wiki.apache.org/jmeter/JMeterPerformance最终 6000 个并发用户并不意味着 6000 个线程。 阅读:
http://www.webperformance.com/library/tutorials/CalculateNumberOfLoadtestUsers/【讨论】:
为什么您认为不需要 HTTP 原始请求?我同意在大多数情况下不太可能需要它。但是,如果由于使用较少的资源而应该生成非常高的负载,则可能需要它。免责声明:我没用过以上是关于来自 csv 文件的 JMeter 和数据集的主要内容,如果未能解决你的问题,请参考以下文章
使用 JMeter 中的 CSV 数据集配置多次运行 HTTP 请求后提取有序结果
如何使用CSV数据集配置在Jmeter的不同线程中使用不同输入登录多个用户
我如何在 quicksight 中刷新 csv 数据集而不是替换数据集,因为这会丢失我的计算
如何按百分比将 CSV 数据集拆分为训练集和测试集,并将拆分后的数据集与 pandas 一起保存到本地文件夹中? [复制]