Posted by: Ian Molyneaux | September 5, 2013

A rough guide to extrapolating capacity from Performance Testing

I was asked an interesting question recently about how to extrapolate capacity from performance test results.

I have pondered this question many times and I don’t think in most cases you can end up with more than a rough approximation, after all this is a major reason why we run performance tests in the first place. Here’s my reply (feel free to agree or disagree as you see fit).

Hi Supreeth,

Not sure there is an easy answer to creating a reliable extrapolation model. There are frankly too many variables. However you might consider the following as a starting point:

  1. Take a single “leg” deployment of the application infrastructure i.e. If this is normally 3 web servers , 3 app servers and a DB cluster then configure 1 web, 1 app and the DB cluster. Arguably you could do this with any subset of the full deployment model but I prefer to do this using the smallest practical subset.
  2. You then need to instrument the servers and network with appropriate monitoring.
  3. Run a progressive ramp-up performance test against this deployment until you reach a point where performance and /or availability is unacceptable.
  4. Repeat this process several times so you have a representative sample.

At a basic level this gives you the server capacity limits for the infrastructure deployment subset together with the network footprint. Computing capacity rarely scales in a linear fashion so assuming 3 times the deployment subset equals 3 times the capacity is more than a leap of faith, however it is at least a starting point based on real load.

What you can be more certain of is the amount of network bandwidth consumed by a given number of users.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: