DotSlash: Providing Dynamic Scalability to Web Applications with On-demand Distributed Query Result Caching

Scalability poses a significant challenge for today’s web applications, mainly due to the large population of potential users. To effectively address the problem of shortterm dramatic load spikes caused by web hotspots, we developed a self-configuring and scalable rescue system called DotSlash. The primary goal of our system is to provide dynamic scalability to web applications by enabling a web site to obtain resources dynamically, and use them autonomically without any administrative intervention. To address the database server bottleneck, DotSlash allows a web site to set up on-demand distributed query result caching, which greatly reduces the database workload for read mostly databases, and thus increases the request rate supported at a DotSlashenabled web site. The novelty of our work is that our query result caching is on demand, and operated based on load conditions. The caching remains inactive as long as the load is normal, but is activated once the load is heavy. This approach offers good data consistency during normal load situations, and good scalability with relaxed data consistency for heavy load periods. We have built a prototype system for the widely used LAMP configuration, and evaluated our system using the RUBBoS bulletin board benchmark. Experiments show that a DotSlash-enhanced web site can improve the maximum request rate supported by a factor of 5 using 8 rescue servers for the RUBBoS submission mix, and by a factor of 10 using 15 rescue servers for the RUBBoS read-only mix.

[1]  Jeremy D. Zawodny,et al.  High Performance MySQL , 2004 .

[2]  Amit Aggarwal,et al.  Computing on the Edge: A Platform for Replicating Internet Applications , 2003, WCW.

[3]  Henning Schulzrinne,et al.  DotSlash: A Self-Configuring and Scalable Rescue System for Handling Web Hotspots Effectively , 2004, WCW.

[4]  Qiong Luo,et al.  Template-Based Runtime Invalidation for Database-Generated Web Contents , 2004, APWeb.

[5]  Henning Schulzrinne,et al.  DotSlash: Handling Web Hotspots at Dynamic Content Web Sites , 2006, Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications.

[6]  Sriram Padmanabhan,et al.  DBProxy: a dynamic data cache for web applications , 2003, Proceedings 19th International Conference on Data Engineering (Cat. No.03CH37405).

[7]  Emmanuel Cecchet,et al.  C-JDBC: a Middleware Framework for Database Clustering , 2004, IEEE Data Eng. Bull..

[8]  Gustavo Alonso,et al.  GlobeDB: autonomic data replication for web applications , 2005, WWW '05.

[9]  Bruce M. Maggs,et al.  A Scalability Service for Dynamic Web Applications , 2005, CIDR.

[10]  Jeremy D. Zawodny,et al.  High Performance MySQL: Optimization, Backups, Replication, Load-balancing, and More , 2004 .

[11]  Alan L. Cox,et al.  A comparative evaluation of transparent scaling techniques for dynamic content servers , 2005, 21st International Conference on Data Engineering (ICDE'05).

[12]  Gustavo Alonso,et al.  Ganymed: Scalable Replication for Transactional Web Applications , 2004, Middleware.

[13]  Jonathan Goldstein,et al.  MTCache: Mid-Tier Database Caching for SQL Server , 2004, IEEE Data Eng. Bull..

[14]  Radu Sion,et al.  C-JDBC: a Middleware Framework for Database Clustering. , 2004 .

[15]  M. van Steen,et al.  GlobeCBC: Content-blind Result Caching for Dynamic Web Applications , 2005 .

[16]  C. Amza,et al.  Specification and implementation of dynamic Web site benchmarks , 2002, 2002 IEEE International Workshop on Workload Characterization.

[17]  Hamid Pirahesh,et al.  Adaptive Database Caching with DBCache , 2004, IEEE Data Eng. Bull..

[18]  Murali Vallath Oracle Real Application Clusters , 2003 .

[19]  Philip S. Yu,et al.  Geographic load balancing for scalable distributed Web systems , 2000, Proceedings 8th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (Cat. No.PR00728).