【问题标题】:JMeter and data set from csv file来自 csv 文件的 JMeter 和数据集
【发布时间】:2012-11-18 20:42:02
【问题描述】:

我正在研究使用 JMeter 进行负载测试。
我计划创建适度数量的线程 ~300,因为我从各种帖子中了解到 JMeter 不能很好地扩展并且我没有一些真正特殊的硬件。
所以我打算循环大约 20 次来模拟 6000 个用户。

如果我使用包含 6000 个条目的 CSV 数据集,JMeter 将为 每个 线程提供 CSV 文件的单个条目,因此在 20 个循环结束时 all 条目将作为请求的一部分发送到服务器在每个循环开始时,将从开始读取 csv 文件中的数据集?

【问题讨论】:

    标签: http web-applications jmeter load-testing


    【解决方案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 的可扩展性,只要您遵循最佳实践,它就可以很好地扩展。 阅读:

    最终 6000 个并发用户并不意味着 6000 个线程。 阅读:

    【讨论】:

    • 为什么您认为不需要 HTTP 原始请求?我同意在大多数情况下不太可能需要它。但是,如果由于使用较少的资源而应该生成非常高的负载,则可能需要它。免责声明:我没用过
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 2016-01-30
    • 1970-01-01
    相关资源
    最近更新 更多