2012-05-29 366 views
1

我正在使用JMeter测试由第三方供应商使用Versata Logic Studio编写的Java应用程序。JMeter运行速度很慢

我有我的测试计划的一些步骤,使用后的一些数据提出请求,然后接收返回的响应:

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%。

有关加快速度的任何想法?我们正在努力获得足够的奴隶,这肯定没有帮助。

回答

1

如果您已准备好转移到TCP级别,则有HTTP Raw Request,允许对大量上载/下载进行高效的内存操作。仔细阅读其手册,有一些JMeter属性用于调整其性能。

但是,我的经验是,您可能有一种情况,即Java本身是一种不好的技术来执行负载测试。我建议你对原始请求进行一对尝试,并且如果未能寻求某些用于性能测试的C/C++工具。

+0

我试过你的建议 - 谢谢你的信息。看起来你是作者,所以谢谢!我在这里继续努力:https://groups.google.com/forum/#!topic/jmeter-plugins/1iMLN9Fjs4I – Sam

2

显示的消息告诉您在负载测试期间使用View Result Tree。 JMeter的通过向user.properties文件设置可对在此组件显示页面的大小被改变的限制:

  • view.results.tree.max_size缺省值为200 KO

BUT在加载测试期间永远不要使用此组件,因为它需要大量资源(内存和CPU)。该组件只能在脚本阶段使用。

您可以阅读这篇文章,让在JMeter的配置和调整提示:

声明:我写的,这是我的公司,但恕我直言,我认为这是值得一读:-)

而且阅读:

+0

感谢您的信息。我们很早就完成了这个任务,但是明年可能会再来一轮。 – Sam

+0

Philippe - 非常有用的文章。我正在做你提到的许多事情。我会考虑你的建议。 – Sam

2

如果您的JMeter脚本正在使用大量文件I/O,那么将这些文件放入RAM将显着提高速度。您可以使用任何应用程序(如IMDisk(免费软件))在RAM中创建虚拟磁盘。确保你有超过4GB的内存。 在我们的例子中,我们每个用户发送大约8000个小文件。在每个系统上有200个用户,Jmeter正在读取16个Lack文件。这是瓶颈。使用RAM磁盘,文件读取速度提高了20倍,并帮助Jmeter全速运行。