I developed a web service for uploading files to the server, this web service will be used by 45k users approximately.

I started to load test my application with JMeter and I'm a newbie in software performance.

I tested with different values in Thread Group (Number of Threads and Rump-Up Period) ex: 1000 and 200, 1000 and 300. I see always all requests response are "200 OK" but I don't find all requests files stored in the folder (generally the number of files found is equal to the Rump-Up Period).

Any help, please?

2 Answers 2


There are multiple factors why your script is not simulating the expected load.

  1. No sync timers added.
  2. You might be using default heap memory. Change it to higher number.
  3. Use latest version of JMeter
  4. Monitor the log console for any errors.
  5. Run your script in non-GUI mode.
  6. Disable all the listeners. Log everything to JTL file.
  7. Validate your script for 1 thread and check whether file is uploading or not. If it is uploading, then check above said points. If it is failing, you need to fix your script.

The load 45K users is for per hour or per day. If it is per day, use 45K/8hrs=5625 transactions per hour in your test plan. You can achieve above said transactions using minimal threads.


45,000 users at the same time or in total? I have heard that a single box can only handle 200-300 threads so you are probably not really simulating 1000 users unless you are using more than one server to send requests. If you set thread group to say 100 does it consistently work then?

  • Thank you for your response. I need to know the max number of users that could simultaneously invoke this web service, is that the good way to know that? Yes it does work but only with an equal number of Number of Threads and Ramp-Up Period, so what is the relationship between them?
    – Mane_87
    Jan 24, 2017 at 9:13
  • ramp up is the time it takes to have all threads active. So if I have 100 threads with 100 ramp up it will spin up approximately 10 threads every 10 seconds. If increasing the ramp up makes it work better it means the system cannot really handle the number of threads you are trying to hit it with. If the response is returning a 200 when you think it actually failed I would check the server for error logs.
    – David Cain
    Jan 24, 2017 at 18:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.