I changed my script from 1 Thread Group with 50 users, to 50 Thread Group each
with 1 user. Well, it does not do what I want which is concurrent downloading.
Thread Group 2 does not start until Thread Group 1 finishes, which in this case
means a long wait for one 310 MB to complete download, before next Thread Group
(= next downloading) can begin.
So either I have to increase heap memory even more, or use two or three
machines to run JMeter so as to get 50 concurrent downloads.
If you have other good suggestions please let me know.
Thank you!
Charles
-----Original Message-----
From: Charles Lin (charlin)
Sent: Saturday, November 07, 2015 9:39 PM
To: JMeter Users List
Subject: RE: not all 50 http samplers to download file are executed
Hi Deepak,
Thank you for your response.
After I submitted my question, I started analyzing the logs, and as you
suspected, the problem was java out of heap memory
I increased my JVM_ARG to -Xms=4096- Xmx=8000, and was able to get more files
download to complete. But still, I only got 20 out of 50 total download that I
had hoped for.
Is there some timer or timing arrangement with my sampler arrangement under the
Thread Group that I can play with to overcome this heap memory issue?
How about instead of a single Thread Group with 5 HTTPS samplers under it (the
first 4 leading up to the 5th which is the actual file downloading request),
right now I run this Thread Group with User = 50, Ramp = 100 sec, cycle = 1 ...
instead of that, what if I make them into 5 separate Thread Group, each thread
group with User = 1, Ramp=1, cycle =1. Will I be able to launch all 50
Thread Groups sequentially but quickly, one after another? For each Thread
Group, like I said, 5 samplers are needed to cause the download to begin.
All 5 executes quickly, but the 5th request will take time to finish (for 310
MB to download). But as soon as Group 1-5 is done (but downloading now in
progress), will Group 2-1 ~ 2-5 start to execute?
Will doing the above help to release the heap memory? In other words, as
Thread 1-5 finish dumping data to local file, that memory will be freed for
following succession of Thread 2-5, 3-5, 4-5, 5-5, 6-5, etc to use while they
also finish up dumping data to file?
Thank you
Charles
2015/11/07 18:43:25 DEBUG - jmeter.threads.ThreadGroup: Ending thread Thread
Group 1-1
2015/11/07 18:43:30 ERROR - jmeter.threads.JMeterThread: Test failed!
java.lang.OutOfMemoryError: Java heap space
2015/11/07 18:43:31 ERROR - jmeter.threads.JMeterThread: Test failed!
java.lang.OutOfMemoryError: Java heap space
2015/11/07 18:43:31 INFO - jmeter.threads.JMeterThread: Thread finished:
Thread Group 1-40
2015/11/07 18:43:30 ERROR - jmeter.threads.JMeterThread: Test failed!
java.lang.OutOfMemoryError: Java heap space
at java.io.ByteArrayOutputStream.<init>(Unknown Source)
at
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.readResponse(HTTPSamplerBase.java:1741)
at
org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl.readResponse(HTTPAbstractImpl.java:412)
at
org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:352)
at
org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
at
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146)
at
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1135)
at
org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261)
at java.lang.Thread.run(Unknown Source)
-----Original Message-----
From: Deepak Shetty [mailto:[email protected]]
Sent: Saturday, November 07, 2015 8:11 PM
To: JMeter Users List
Subject: Re: not all 50 http samplers to download file are executed
Did you check jmeter.log for errors like out of memory ?
On Nov 7, 2015 1:11 PM, "Charles Lin (charlin)" <[email protected]> wrote: