Scaling and Availability for Dynamic Content Web Sites
We investigate the techniques necessary for building highly-available, low-cost, scalable servers, suitable for supporting dynamic content web sites. We focus on replication techniques for scaling and availability of a dynamic content site using a cluster of commodity computers running Web servers and database engines. Our techniques allow scaling without undue development, maintenance, and installation costs, avoiding modifications to both the Web server and the database engine. Our results on an eight node database cluster show good scaling for the e-commerce TPC-W benchmark provided that suitable load balancing and replication strategies are in place. Key among these strategies is replication with relaxed consistency, in which the server allows controlled internal data inconsistencies to improve performance while hiding these inconsistencies from the user. The actual choice of load balancing strategy is less important. Locality-based load balancing policies based on data caching, found very profitable in static content servers have almost no impact.