我从命令行运行jmx
JVM_ARGS="-Xms2048m -Xmx4096m -XX:4096ize=4096m -XX:MaxNewSize=4096m" && export JVM_ARGS && ./jmeter.sh -n -t ./jmeter-ec2.jmx -l ./scriptresults.jtl
但是在某些方面我在转到jmeter.log之后出现内存错误 我发现了这个错误
ERROR o.a.j.JMeter:未捕获的异常:java.lang.OutOfMemoryError: java.util.Arrays.copyOf中的Java堆空间(Arrays.java:3236) 〜[?:1.8.0_91] at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118) 〜[?:1.8.0_91] at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93) 〜[?:1.8.0_91] at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153) 〜[?:1.8.0_91] at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.readResponse(HTTPSamplerBase.java:1833) 〜[ApacheJMeter_http.jar:3.3 r1808647] at org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl.readResponse(HTTPAbstractImpl.java:440) 〜[ApacheJMeter_http.jar:3.3 r1808647] at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:474) 〜[ApacheJMeter_http.jar:3.3 r1808647] at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74) 〜[ApacheJMeter_http.jar:3.3 r1808647] at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1189) 〜[ApacheJMeter_http.jar:3.3 r1808647] at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1178) 〜[ApacheJMeter_http.jar:3.3 r1808647] at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:498) 〜[ApacheJMeter_core.jar:3.3 r1808647] at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:424) 〜[ApacheJMeter_core.jar:3.3 r1808647] at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255) 〜[ApacheJMeter_core.jar:3.3 r1808647] at java.lang.Thread.run(Thread.java:745)[?:1.8.0_91] 2018-01-26 02:03:55,731 INFO o.a.j.e.StandardJMeterEngine:通知测试 测试结束的听众2018-01-26 02:03:55,732 INFO o.a.j.r.Summariser:summary = 0 in 00:00:00 = ****** / s Avg:0 最小:9223372036854775807最高:-9223372036854775808错误:0(0.00%)
我在这里做错了什么?我无法解决它:(
答案 0 :(得分:1)
您的JVM参数错误,只需保留:
-Xms2048m -Xmx4096m
您不知道发生了多少线程,也不知道您是在GUI还是非GUI模式下运行,所以:
最后,您可以通过在user.properties中调整此响应来减少大响应的内存影响:
另一种选择是仅通过在http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Request中设置
来计算响应中的HASH答案 1 :(得分:0)
好吧,如果您拥有1.5 GB的文件,您将能够拥有不超过3个虚拟用户,这对我来说看起来不像是“负载测试”。
如果您对下载文件的内容不感兴趣并且只想强调您的服务器,您可以考虑切换到JSR223 Sampler,它将发送请求并使用基础Apache HttpComponents库方法丢弃响应数据,相关Groovy代码类似于:
<p>
参考文献: