如何解决运行时自定义JMeter属性的限制值
我们有一个分布式JMeter设置,如此处所述-How to Change JMeter´s Load During Runtime
测试计划(JMX文件)由用户提供。因此,我们不知道其中使用的属性名称。在运行时,用户可以提供属性名称和值,我们将通过beanshell脚本直接将这些名称和值传递给JMeter设置。
在这种设置中,我们可以对用户可以在运行时更改的某些JMeter属性(可能会影响我们提供的资源)的值设置限制/上限吗?
例如我们不希望系统的总RPS随时超过300 RPS。或者,如果用户提供了#threads的运行时更改功能,那么我们不希望它们在任何计算机上随时超过100。
我们要避免在系统中存储任何用户定义的属性名称来提供这种验证。
解决方法
您可以将Constant Throughput Timer或Precise Throughput Timer或Throughput Shaping Timer注入用户提供的.jmx脚本中,并在其中放置最大允许的并发量。
即使测试计划中有多个计时器,JMeter也会应用最慢的吞吐量,因此,如果原始RPS低于最大计时器,您就不会进行测试太快反之亦然,无论RPS用户希望什么,它都永远不会高于您定义的300 RPS。
相同的方法适用于线程组中的线程数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。