JMeter-在JDBC请求中检索百万条记录时出现OutOfMemoryError

当我试图在JDBC请求中获得超过一百万条记录时,我得到了OutOfMemoryError

 ERROR o.a.j.JMeter: Uncaught exception: 
java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Unknown Source) ~[?:1.8.0_191]
    at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source) ~[?:1.8.0_191]
    at java.lang.AbstractStringBuilder.append(Unknown Source) ~[?:1.8.0_191]
    at java.lang.StringBuilder.append(Unknown Source) ~[?:1.8.0_191]
    at java.lang.StringBuilder.append(Unknown Source) ~[?:1.8.0_191]
    at org.apache.jmeter.protocol.jdbc.AbstractJDBCTestElement.getStringFromResultSet(AbstractJDBCTestElement.java:563) ~[ApacheJMeter_jdbc.jar:5.1.1 r1855137]
    at org.apache.jmeter.protocol.jdbc.AbstractJDBCTestElement.execute(AbstractJDBCTestElement.java:175) ~[ApacheJMeter_jdbc.jar:5.1.1 r1855137]
    at org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler.sample(JDBCSampler.java:84) ~[ApacheJMeter_jdbc.jar:5.1.1 r1855137]
    at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_191]

JDBC是否有这样的限制?是JMeter错误,应该因相关错误而停止执行?

例如,对于较小的记录,它返回

Response too large to be displayed. Size: 26848889 > Max: 10485760,Start of message:
uwycny 回答:JMeter-在JDBC请求中检索百万条记录时出现OutOfMemoryError

内存不足不是JMeter错误……这意味着您的JMeter进程内存不足。 如果使用Windows,请查看jmeter.bat中的以下部分

    if not defined HEAP (
    rem See the unix startup file for the rationale of the following parameters,rem including some tuning recommendations
    set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
    )

您可能还希望围绕Stackoverflow进行搜索,以查找JMeter堆空间的问题-例如: JMeter OutOfMemoryError

请注意,“结果树视图”并非旨在显示数百万条记录,而是用于脚本(即测试计划)开发。我将参数化记录的数量,并使用少量的记录进行开发,而仅使用较大的记录进行实际测试(非gui模式等)。

,

在Linux上打开bin / jmeter.sh或在Windows上打开bin / jmeter.bat,找到这一行并将其从注释行中删除:

JVM_ARGS="-Xms512m -Xmx512m"

此变量在启动时作为参数传递给jmeter。像这样增加默认的堆大小:

JVM_ARGS="-Xms1024m -Xmx1024m"

如果需要更多空间,可以添加更多空间。

本文链接:https://www.f2er.com/3104843.html

大家都在问