views:

40

answers:

3

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.

+1  A: 

You 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 :

Colin Hebert
A: 

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).

Thorbjørn Ravn Andersen
Thanks Ravn, but I was looking for a solution which would use open source so that we do not have to spend much on the cloud. Can you please suggest such a framework while can be implemented to achieve this cloud testing exercise?
Gangu
Then perhaps you need to improve your question a bit regarding the "cloud setup"?
Thorbjørn Ravn Andersen
A: 

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 :

  1. Loadtesting Tool - JMeter can be used.
  2. 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
  3. Collection and reporting tool. (Not used any tool)

With above tools you can find optimal value. I would approach it in following way.

  1. will get to know what should be ratio of pages being accessed. What are background processes and their frequency.
  2. 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.)
  3. 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

YoK
Thanks YoK, the answer will really be helpful for my purpose. I still wanted some more clarifications on the following:-1.Can you please let me know in detail how to know the ratio of pages and how to identify the background processes.2.Can you please let me know examples of what resources you are meaning to be monitored.Can I regard this soluton which you have provided as a cloud set up?Thanks a lot for your help....
Gangu
Ratio of pages being accessed means : What are amount of hits expected for each of your pages.Background process : Daemon/Cron/jobs tasks configured by your system. These doesn't require to be fired by some page access.Resources : Means CPU, VM, IO being used by your system.This should work for any kind of setup, I have used this kind of procedure for web based enterprise app.
YoK
Great help.......is it possible to give me the flow diagram of this entire framework please......
Gangu
what framework ? I wont be able to share my framework. But you can get enough documentation about tools I mentioned to use.
YoK
Ok Thanks YoK.I appreciate your help.It will really help me with my work.
Gangu
@Gangu If you like my answer please accept it. Accepting answers improves acceptance rate which indeed motivate people to answer questions asked by you :).
YoK
I am new to this.. Let me know from where I can Accept.
Gangu
@Gangu You have already accepted it... Thanks
YoK