问题描述
我的应用程序将从用户那里获取jmx文件作为测试计划并执行它。我已经在应用程序后端(1个JMeter客户端和多个JMeter服务器)上进行了JMeter分布式设置。
我面临的挑战是执行测试计划所需的#threads。
我已经阅读了有关“包含控制器”的信息,但这必然要求用户测试计划具有测试片段。
解决方法
-
在JMeter世界中没有“ #threads_per_instance”之类的东西,如果您在distributed mode中运行JMeter,则每个服务器(或从属服务器或负载生成器)都将执行客户端提供的.jmx测试计划保持原状,因此,如果用户在一个线程组中上载具有100个线程的文件,并且您有1个从属,则您将有100个用户。如果您有2个奴隶-您将有200个用户,等等。
另一件事是,您无法预先确定一个JMeter从站可以模拟多少个线程,因为它主要取决于测试的性质:请求/响应的大小,前置/后置处理器的数量,断言,侦听器等。我建议实现某种形式的JMeter从属运行状况监视,并在CPU或RAM或网络使用率开始超过80%时警告用户。使用JMeter PerfMon Plugin
可以轻松实现 -
我们不知道“您的应用程序”中使用了哪些技术,因此这个问题太广泛了。 JMeter .jmx scripts只是XML文件,因此您应该能够使用XML parser提取所有线程组中的线程数并以某种方式“验证”。