There is a website portal ,say W1 .Let's say the no. of users accessing are 3000.Can you please give me the detailed framework/design of how this portal can be stress tested remotely in a cloud setup using Java and/or any other open source.I am not getting any solution. Please help.
views:
40answers:
3You can use JMeter to measure performances of your application under extremes conditions. There is also grinder which is less famous but works great too.
Resources :
Related topics :
The Amazon EC2 cloud allows you to set up any scenario you need and pay as you go.
The jetty folks used this to stress test Jetty to see if Jetty could gracefully handle 10000 connections per second (it could).
While stress/scalability testing I would also try to fix issues or problem areas found during testing.
You will need to use group of tools :
- Loadtesting Tool - JMeter can be used.
- Monitoring Tool - This tool will be used to monitor various numbers of resources load. There are Lot paid as well as free ones. Jprofiler,visualvm,etc
- Collection and reporting tool. (Not used any tool)
With above tools you can find optimal value. I would approach it in following way.
- will get to know what should be ratio of pages being accessed. What are background processes and their frequency.
- Configure my JMeter accordingly (for ratios) , and monitor performance for load applied ( time to serve page ...can be done in JMeter), monitor other resources using Monitor tool. Also check count of error ratio. (NOTE: you need to decide upon what error ratio is not acceptable.)
- Keep increasing Load step by step and keep writting various numbers of interest till server fails completely.
You can decide upon optimal value based on many criterias, Low error rate, Max serving time etc. JMeter supports lot of ways to apply load.
Copied from my answer at : http://stackoverflow.com/questions/3429707/scalability-of-a-single-server-for-running-a-java-web-application/3429830#3429830