Web Application Scalability
The benchmark that we conducted used a classic eCommerce application (Pet Clinic) on top of web application support in the GigaSpaces XAP application server and measured the number of pages/sec that were generated when we increased the number of concurrent users.
The goal of this benchmark is to measure what would be a cost-effective HW and Software architecture that could leverage new commodity multi-core HW for enabling efficient scaling of web applications while minimizing the amount of physical machine deployment.
The diagram below shows the architecture we used for this test application.
As can be seen in the above diagram we used an apache load-balance up to 3 web containers, MySQL as the database and GigaSpaces data-grid to front-end the database. We used a Map/Reduce pattern for querying the entire data sets and get aggregated results.
The physical deployment in terms of the HW environment appeared as follows:
3 server boxes with 24 cores each
- Page views/sec – 1.4Billion page views a day (16,000 page view/sec)
- Latency – 6 msec (in LAN environment)
This benchmark showed that using relatively inexpensive HW and a small number of machines the combination of scale-up as well as scale-out approach provides a very cost effective solution for scaling of web applications. Adding more web servers dynamically (Using the GigaSpaces dynamic web scaling integration) enabled to curve out the latency under load while simultaneously increasing the capacity of pages that can be served.