【问题标题】:Modify Thread Group of an external JMeter Test Plan (JMX File)修改外部 JMeter 测试计划的线程组(JMX 文件)
【发布时间】:2020-08-18 12:39:29
【问题描述】:

我的应用程序将从用户那里获取 jmx 文件作为测试计划并执行它。我在我的应用程序(1 个 JMeter 客户端和多个 JMeter 服务器)的后端进行了 JMeter 分布式设置。

我面临的挑战是执行测试计划所需的#threads。

  1. 如果我从用户那里明确获取#instances(执行测试的JMeter 服务器)和#threads,如何在执行前使用此线程组配置用户提供的测试计划?这将允许我事先使用我的集群和机器容量验证这些值。

我已经阅读了有关 Include Controller 的内容,但这必然要求用户测试计划具有测试片段。

  1. 如果不明确,如何验证用户测试计划中的线程组配置?假设用户在测试计划中放置了较大的#threads,这可能会使我的 JMeter 服务器机器过载,我如何验证这个值并可能警告用户限制 #threads?

【问题讨论】:

    标签: jmeter jmeter-plugins jmeter-5.0 jmeter-4.0


    【解决方案1】:
    1. JMeter 世界中没有“#threads_per_instance”之类的东西,如果你在distributed mode 中运行 JMeter,每个服务器(或从属服务器或负载生成器)按原样执行客户端提供的 .jmx 测试计划 因此,如果用户在一个线程组中上传具有 100 个线程的文件并且您有 1 个从属 - 您将拥有 100 个用户。如果你有 2 个奴隶 - 你将有 200 个用户,等等。

      另一件事是,您无法事先确定可以从单个 JMeter 从站模拟多少线程,因为这主要取决于测试的性质:请求/响应大小、前/后处理器的数量、断言、监听器等使用JMeter PerfMon Plugin可以轻松实现

    2. 我们不知道“您的应用程序”中使用了哪些技术,所以这个问题太宽泛了。 JMeter .jmx scripts 只是 XML 文件,因此您应该能够使用 XML parser 提取所有线程组中的线程数并以某种方式“验证”它。

    【讨论】:

    • 嗨@Dmitri,XML 解析是获取用户测试计划中线程组的唯一方法吗?我正在使用一个使用 JMeter API 加载用户测试计划文件的 Java 应用程序。需要注意的是,用户测试计划可能包含 Ultimate Thread Group 等插件。在这种情况下,如何确定测试计划中用于验证或操作的最大并发用户数?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    • 2012-05-05
    • 2013-05-11
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    相关资源
    最近更新 更多