AIS Monitoring System is a web site created for testing pupils online. It was developed in order to estimate the quality of modern secondary education.
QATestLab has performed load testing of the web site in order to optimize the server part and have a possibility of more than 2000 pupils go through testing simultaneously.
Used Technlogies:
- HP LoadRunner;
- 40 Amazon EC2 load generation servers.
Server Configuration (c1.xlarge):
- 20 compute units (8 cores, 2.5 GHz)
- 7 GB RAM
- 100 mbps LAN
Because of the fact that the site had been developed using JavaScript and Ajax, there appeared to be problems with creating the script that would send HTTP requests. QATestLab engineers have created such a script that would start Firefox browser and take full control of it (Ajax TruClient mode in the LoadRunner).
Advantages:
- Script performs the same actions as a usual user;
- Script actions can be recorded for further demonstration.
Disadvantages:
- Large resource intensity of the script. It takes a lot of random-access memory and processor time.
- One thread to control all the users on a certain server.
Load script was divided into the following transactions:
- Home page loading;
- Logging in;
- Beginning of the testing process;
- Answering the questions;
- Finishing the testing;
- Logging out.
Sixty-second gaps have been added between the questions. It helps to economize the processor time and gives the pupils a chance to think the answer over.
It was planned to use 3 maximum Amazon servers with cc2.8xlarge configuration but LoadRunner could not withstand more than 120 concurrent users.
Load testing team decided to use larger amount of servers with smaller configuration. It was counted that one load server of c1.xlarge configuration can withstand up to 90 users without artificial productivity reduction. So during the testing new servers were added to the load clusters when needed.
The additional problem that came out during the testing was the generation of the unique user name in order to eliminate simultaneous login of the same user. Each load server was given a unique number from 1 to 40. The number for each user was taken from the load generator number (from 1 to 100). Thus the testing was close to real environment.
As a result of load testing, the site productivity has increased 10-fold.
QATestLab team has eliminated the site’s main problem, namely its resource-intensive authorization procedure.
All of the defects in the site’s work were sent to the developers in the form of a report. Regression testing, that was performed after fixing all the defects, confirmed the tenfold increase of the system's performance.
QATestLab specialists have performed the demonstration load testing for 2500-3500 concurrent users with perfect LoadRunner graphics and web-server logs. The web site was optimized to the uttermost.