修改外部 JMeter 测试计划的线程组(JMX 文件)

Modify Thread Group of an external JMeter Test Plan (JMX File)

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

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

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

I had read about Include Controller, but that necessarily requires user test plan to have Test Fragment.

  1. 如果不明确,我如何验证用户测试计划中的线程组配置?假设,用户在测试计划中放置了大#threads,这可能会使我的 JMeter 服务器计算机过载,我如何验证此值并可能警告用户限制#threads?
  1. 在JMeter世界里没有“#threads_per_instance”这样的东西,如果你运行 JMeter在distributed mode每个服务器(或slave或load generator) 执行客户端提供的 .jmx 测试计划原样 所以如果用户上传一个线程组中有 100 个线程的文件并且你有 1 个从属 - 你将有 100 个用户。如果你有 2 个奴隶 - 你将有 200 个用户,等等

    另一件事是你无法预先知道你可以从一个 JMeter 从站模拟多少个线程,因为它主要取决于测试的性质:request/response 大小,数量 pre/post 处理器、断言、侦听器等。我建议实施某种形式的 JMeter 从站健康监控,并在 CPU 或 RAM 或网络使用率开始超过 80% 时警告用户。使用 JMeter PerfMon Plugin

    可以轻松实现
  2. 我们不知道“您的应用程序”中使用了哪些技术,所以这个问题太宽泛了。 JMeter .jmx scripts are just XML files so you should be able to use XML parser 提取所有线程组中的线程数并以某种方式“验证”它。