I want to do load testing for 10 million users for my site. The site is a Java based web-app. My approach is to create a Jmeter test plan for all the links and then take a report for the 10 million users. Then use jvisualVM to do profiling and check if there are any bottlenecks.
Is there any better way to do this? Is there any existing demo for doing this? I am doing this for the first time, so any assistance will be very helpful.
I blogged, the way I proceeded with the performance test:
- Make sure that the server (hardware can be as per the staging/production requirements) has no other installations that can affect the performance.
- For setting up the users in DB, a procedure can be used and can be called as a part of jmeter test plan.
- Install jmeter on a separate machine, so that jmeter won't affect the performance.
- Create a test plan in jmeter (as shown in the figure 1) for all the uri's, with response checking and timer based requests.
- Take the initial benchmark, using jmeter.
- Check for the low performance uri's. These are the points to expect for bottlenecks.
- Try different options for performance improvement, but focus on only one bottleneck at a time.
- Try any one fix from step 6 and then take an benchmark. If there is any improvement commit the changes and repeat from step 5. Otherwise revert and try for any other options from step 6.
- The next step would be to use load balancing, hardware scaling, clustering, etc. This may include some physical setup and hardware/software cost. Give the results with the scalability options.
For detailed explanation: http://www.daemonthread.com/2011/06/site-performance-tuning-using-jmeter.html