I am using JMeter to test downloading of a large file (500 MB) from a server. I want to find out how much parallel downloads the server can support.
I created a test plan with 1000 threads and HTTP Request sampler. I ran the test. But all my requests failed with error like below:
2019-05-06 18:07:33,884 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 1-11
2019-05-06 18:07:33,884 ERROR o.a.j.JMeter: Uncaught exception:
java.lang.OutOfMemoryError: Java heap space
I googled and found out that increasing the max heap size will fix the issue. So what I concluded is JMeter is downloading the file into RAM. So if there are two parallel downloads of 400 MB going on then 800 MB of RAM will be used. But obviously this is not practical since I have to test for 500 parallel downloads.
I am thinking if I can configure the HTTPRequest sampler to store the downloaded content into disk instead of storing it in RAM or just ignore it (download and discard immediately). This would allow me to test for 500 parallel downloads, which is what I want to achieve.
If anyone knows how to do this please help me with this or let me know if there is an alternate approach.