我正在使用JMeter测试由第三方供应商使用Versata Logic Studio编写的Java应用程序。
我的测试计划中有一些步骤,使用一些发布数据提交请求,然后收到回复:
Response too large to be displayed. Size: 445817 > Max: 204800, Start of message:
{"header":{"action":"300","arguments":{"tabid":"Header","divid":"ActgDisb,Vendor,BusinessType...ETC
这看起来很好(我猜这是400K?),除了步骤所花费的时间比点击浏览器中的页面要长得多。在浏览器中最多需要5秒钟。在JMeter中需要2分钟。在这些步骤中,只有一个线程的CPU也是60%。
关于加快这一点的任何想法?我们正在努力争取足够的奴隶,这肯定没有帮助。
答案 0 :(得分:2)
显示的消息表明您在负载测试期间正在使用“查看结果树”。 Jmeter设置了一个限制,可以通过添加到user.properties文件来更改此组件中显示的页面大小:
但是在负载测试期间永远不会使用此组件,因为它需要大量资源(内存和CPU)。此组件只能在脚本编写阶段使用。
您可以阅读本文,其中提供了有关JMeter配置和调优的提示:
免责声明:我写了它,这是我的公司,但恕我直言,我认为值得一读: - )
另请阅读:
答案 1 :(得分:2)
如果您的JMeter脚本使用了大量文件I / O,那么将这些文件放入RAM将显着提高速度。您可以使用任何应用程序(如IMDisk(免费软件))在RAM中创建虚拟磁盘。确保您有超过4GB的RAM。 在我们的例子中,我们每个用户发送大约8000个小文件。每个系统有200个用户,Jmeter正在读取16个Lack文件。这是瓶颈。使用RAM磁盘,文件读取速度提高了20倍,并帮助Jmeter全速运行。
答案 2 :(得分:1)
如果您已准备好转移到TCP级别,那么HTTP Raw Request可以为大量上传/下载提供内存效率高的操作。仔细阅读其手册,有一些JMeter属性可用于调整其性能。
但是,我的经验是,您可能遇到Java本身是执行负载测试的糟糕技术的情况。我建议你对Raw Request进行一对尝试,如果没有为性能测试寻找一些C / C ++工具。