问题描述
当我运行一个JMeter测试计划(jmx文件)时,该计划包含一个线程组,该线程组使用LoadRunner Controller发出一个SOAP请求运行50个线程的请求,测试运行完美,我可以始终达到45 TPS。这验证了JMeter测试计划和相关属性文件在LoadRunner下是否可以正常使用。
当我使用JMeter进行相同的测试时,吞吐量会在测试过程中下降,在15分钟后可能会达到5 TPS。
JMeter具有最大的资源,并且开发人员已确认后端正在按预期方式进行处理,唯一的区别似乎是JMeter如何处理请求以及LoadRunner在使用相同的JMeter jmf文件,数据文件和每个测试的属性文件。
有人能建议JMeter的限制因素是什么,因为LoadRunner在进行相同的测试时不会因其他所有测试方法都相同而降低吞吐量。
预先感谢
NWC
解决方法
表现良好的JMeter没有任何限制,只需确保:
- 关注JMeter Best Practices
- 确保JMeter有足够的空间来操作CPU,RAM等,就好像缺少硬件/软件资源一样,JMeter将无法足够快地发送请求。如果您没有更好的监视解决方案,可以考虑使用JMeter PerfMon Plugin
- 也要注意JVM指标,最好是heap occupation should be between 40 and 70%,否则您将遭受太频繁/太长的GC events/chunking
查看Concurrent,High Throughput Performance Testing with JMeter文章,例如JMeter端性能瓶颈分析和JMeter调优技巧