1

我正在使用 JMeter 测试由 3rd 方供应商使用 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%。

关于加快速度的任何想法?我们正在努力让足够的奴隶继续前进,这当然没有帮助。

4

3 回答 3

2

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

于 2014-01-03T06:32:51.030 回答
2

显示的消息告诉您在负载测试期间正在使用查看结果树。Jmeter 设置了一个限制,可以通过添加到 user.properties 文件来更改此组件中显示的页面大小:

  • view.results.tree.max_size 默认为 200 ko

但是在负载测试期间永远不要使用这个组件,因为它需要大量资源(内存和 cpu)。此组件只能在脚本编写阶段使用。

您可以阅读这篇文章,其中提供了有关 JMeter 配置和调优的提示:

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

另请阅读:

于 2012-12-25T19:22:37.330 回答
1

如果您已准备好迁移到 TCP 级别,那么HTTP 原始请求允许对大量上传/下载进行高效内存操作。仔细阅读它的手册,有一些 JMeter 属性可以用来调整它的性能。

但是,我的经验是,您可能会遇到这样的情况,即 Java 本身是一种用于执行负载测试的糟糕技术。我建议您对 Raw Request 进行两次尝试,以防万一寻找一些 C/C++ 工具进行性能测试。

于 2012-05-29T18:47:39.323 回答