Hi, I only do test with big files (10MB, 100MB, ...) and I have same trouble. So I use beanshell script and curl do make the transfert. But now, with the version 2.7, you can use external command with the sampler "OS Process Sampler".
Cyril On Thu, Jun 7, 2012 at 9:04 AM, Carsten Petersen <[email protected]> wrote: > Hi. > > I am trying to verify a large (>500Mb) response from a HTTP request, but > whenever I run my TestPlan > the thread fails after running out of memory. > > I have added a "Save Responses to a file" Listener, but it looks like it > is the HTTP Request sampler that > fails when handling all the data in memory after the reception completes - > see error ourput below. > > Console window output: > java.lang.OutOfMemoryError: Java heap space > Dumping heap to java_pid1912.hprof ... > Heap dump file created [558234258 bytes in 6.291 secs] > > JMeter log file output: > 2012/06/07 14:51:53 ERROR - jmeter.threads.JMeterThread: Test failed! > java.lang.OutOfMemoryError: Java heap space > at java.util.Arrays.copyOf(Unknown Source) > at java.io.ByteArrayOutputStream.toByteArray(Unknown Source) > at > org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.readResponse(HTTPSamplerBase.java:1635) > at > org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl.readResponse(HTTPAbstractImpl.java:236) > at > org.apache.jmeter.protocol.http.sampler.HTTPJavaImpl.readResponse(HTTPJavaImpl.java:288) > at > org.apache.jmeter.protocol.http.sampler.HTTPJavaImpl.sample(HTTPJavaImpl.java:518) > at > org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62) > at > org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1060) > at > org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1049) > at > org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:442) > at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:271) > at java.lang.Thread.run(Unknown Source) > > I have already increased the heap allocation to its max on my hardware > (-Xmx1G), but without success. I guess I could > add memory, but since I have to run multiple downloads at the same time, > it does not look realistic. > > I can enable the "Save response as MD5 hash" option and have my TestPlan > succeed, but then the output file from the > run only contain the MD5 hash and since my response data is somewhat > dynamic it is of no real use. > > I can see that JMeter allows a large file to be uploaded by reading it as > needed during transmission, so I guess I need > the reverse of this i.e. store the response to a file while receiving it > without keeping it in memory. I guess something > like having the "Save response as MD5 hash" option dump the data to a file > after its calculation are done. > > Does anybody know how I can do this ? > > Thanks in advance, > Carsten. > > P.S. I am using the following JMeter: > 2012/06/07 14:20:45 INFO - jmeter.JMeter: Version 2.7 r1342410 > 2012/06/07 14:20:45 INFO - jmeter.JMeter: java.version=1.7.0_04 > 2012/06/07 14:20:45 INFO - jmeter.JMeter: java.vm.name=Java HotSpot(TM) > Client VM > 2012/06/07 14:20:45 INFO - jmeter.JMeter: os.name=Windows 7 > 2012/06/07 14:20:45 INFO - jmeter.JMeter: os.arch=x86 > 2012/06/07 14:20:45 INFO - jmeter.JMeter: os.version=6.1 >
