JMeter JMX使用LoadRunner Controller完全运行,但是通过JMeter,吞吐量会随着时间下降

问题描述

当我运行一个JMeter测试计划(jmx文件)时,该计划包含一个线程组,该线程组使用LoadRunner Controller发出一个SOAP请求运行50个线程的请求,测试运行完美,我可以始终达到45 TPS。这验证了JMeter测试计划和相关属性文件在LoadRunner下是否可以正常使用。

当我使用JMeter进行相同的测试时,吞吐量会在测试过程中下降,在15分钟后可能会达到5 TPS。

JMeter具有最大的资源,并且开发人员已确认后端正在按预期方式进行处理,唯一的区别似乎是JMeter如何处理请求以及LoadRunner在使用相同的JMeter jmf文件,数据文件和每个测试的属性文件

有人能建议JMeter的限制因素是什么,因为LoadRunner在进行相同的测试时不会因其他所有测试方法都相同而降低吞吐量。

预先感谢

NWC

解决方法

表现良好的JMeter没有任何限制,只需确保:

  1. 关注JMeter Best Practices
  2. 确保JMeter有足够的空间来操作CPU,RAM等,就好像缺少硬件/软件资源一样,JMeter将无法足够快地发送请求。如果您没有更好的监视解决方案,可以考虑使用JMeter PerfMon Plugin
  3. 也要注意JVM指标,最好是heap occupation should be between 40 and 70%,否则您将遭受太频繁/太长的GC events/chunking

查看Concurrent,High Throughput Performance Testing with JMeter文章,例如JMeter端性能瓶颈分析和JMeter调优技巧