Performance testing
Performed to verify the server response time and throughput under various load conditions.

  • Load testing – It is the simplest form of testing conducted to understand the behaviour of the system under a specific load. Load testing will result in measuring important business critical transactions and load on the database, application server, etc. are also monitored.
  • Stress testing – It is performed to find the upper limit capacity of the system and also to determine how the system performs if the current load goes well above the expected maximum.
  • Resilience testing confirms that the system recovers from expected or unexpected events without loss of data or functionality. Events can include shortage of disk space, unexpected loss of communication, or power out conditions.
  • Spike testing – Spike testing is performed by increasing the number of users suddenly by a very large amount and measuring the performance of the system. The main aim is to determine whether the system will be able to sustain the work load.

What is Load Testing

The application is tested against heavy loads or inputs such as testing of web sites in order to find out at what point the web-site/application fails or at what point its performance degrades. Load testing operates at a predefined load level, usually the highest load that the system can accept while still functioning properly.

Approach 1: use the available data to load traffic

web application load testing

Final design pattern

We don’t do this way! It is not reliable , expensive for clients



Approach 2 : Generating artificial Traffic to load traffic

When to use

  1. When you don’t have real-world data
  2. You expect change in traffic pattern


  1. Control rate
    number of transaction per second, concurrent traffics per second
  2. Control blend
    may be your system is doing read/writes/deletes and you are expecting a change on that
  3. Control duration
    How long you want to run it for

There are various open source tools available to simulate this type of loads, e.g JMeter by apache

But we will be using amazon to take full advantage of maximum compute force available at their disposal.(cost effective setup for load generator)

divide and conqure

Divide and conquer rule to make it to small chunks.

Lets divide further to conquer easily

10 TPS per minute in 5000 times. Now it becomes very granular steps.

No we can easily use loosely coupled design pattern of amazon with spot instances to save cost and get our job done in reliable way

Granular steps are good for putting into queue

using-aws-queues-for-artificial traffic to generate load


Contact us for cost effective way to test your web application

Kenwyn Accounting - Microsoft Small Business Specialist Amazon Cloud Service Provider Microsoft Partner Network