On 7 June 2012 14:04, 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 ?
I think this will need a change to the JMeter HttpSampler code. Listeners can only save what the sampler stores in the sample result. I suggest you file an enhancement request in Bugzilla. > 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
