【问题标题】:Jmeter Out of memory _ File upload testJmeter内存不足_文件上传测试
【发布时间】:2018-06-05 06:36:49
【问题描述】:

我在文件上传测试执行期间遇到内存不足错误。 我正在从 ec2 m4.xlarge 实例(16 gb RAM)运行测试,并将 80% 的内存分配为 Jmeter heapsize。 在测试 CPU util 达到 100% 时,整个内存被消耗(大约 12 GB),并且在 Bin 文件夹中创建了巨大的 java_pid***.hrpof(堆转储)文件。

文件上传大小:200 kb、400 mb、1.5 gb 文件的混合
总线程数:50
Jmeter 版本:3.3

我尝试了不同论坛建议的以下方法,但没有奏效:

  1. 禁用监听器
  2. 在非 gui 模式下运行测试
  3. jmeter.bat 中的堆大小增加
  4. 从更高的配置实例运行测试(尚未尝试)

有没有人遇到过这个问题,你是如何解决这个问题的?

另外,如何禁用生成的巨大(3-5GB)java_pid***.hrpof 转储文件?

【问题讨论】:

    标签: file-upload jmeter out-of-memory heap-dump


    【解决方案1】:

    50 threads * 1.5 GB == 75 GB 虽然您已为 JMeter 分配了 3 到 5 GB,所以这绝对是不够的。

    您需要使用m4.10xlarge with 160 GB RAM or m5d.12xlarge with 192 GB RAM 之类的东西才能上传具有那么多线程的大文件。

    另一种选择是考虑切换到Distributed Testing,但您需要启动更多m4.xlarge 实例


    您也可以尝试切换到HTTP Raw Request 采样器,它具有streaming file directly to the server without pre-loading it into memory 的良好功能,因此理论上您应该能够在有限的实例上模拟文件上传,但它可能无法完全反映现实生活场景。您可以使用 JMeter Plugins Manager 安装 HTTP 原始请求采样器

    要禁用堆转储创建,请从 JMeter 启动脚本中删除 DUMP="-XX:+HeapDumpOnOutOfMemoryError" 行。

    【讨论】:

    • 对迟到的回复表示歉意。与往常一样,您的解决方案就像 Dmitri 的魅力一样。谢谢
    猜你喜欢
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多