How to Conduct a performance test using jmeter for 100000 users
I need to conduct a performance test on Azure website and the Users count is '200000'. Can anyone suggest me the configuration for this?
- First of all you won't be able to create such a load from a single machine, go for Distributed Testing when one JMeter server orchestrates multiple slave machines (load generators) executing the same script at the same time.
- Given your site lives at Azure it's better to test it from Azure and preferably the same region to avoid traffic charges.
You can reduce number of virtual users by considering the following:
- real users don't hammer the server non-stop, they need some time to "think" between operations. Time to load the page is also added to "think" time where user is "idle"
depending on site nature it might be the case that the user clicks a link or does something i.e. 3 times per minute. So 200k users will send 600k requests per minute which is 10k requests per second and this is something you can try to get from a single host given it's powerful enough. So you have 2 approaches to choose:
- Add "think time" between operations to make load pattern more realistic. See Timers user manual section for options
- Disable "think" time. This way less threads will simulate more actions due to increased frequency.
Make sure you're using optimal JMeter configuration, to wit:
- run test in non-GUI mode
- use appropriate JVM options
- disable all listeners
See 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure for above settings explained in details and few more JMeter tuning tips.