DotSlash: A Self-configuring and Scalable Rescue System

Weibin Zhao
Columbia University


Abstract

Handling web hotspots (also known as flash crowds or the Slashdot effect) is a challenging issue in designing today's web server systems. Over-provisioning a web site is not only uneconomical but also difficult since the peak load is hard to predict. To handle web hotspots effectively, I developed DotSlash, a self-configuring and scalable rescue system. DotSlash allows different web sites to form a mutual-aid community, and use spare capacity in the community to relieve web hotspots experienced by any individual site. As a rescue system, DotSlash intervenes when a web site becomes heavily loaded, and is phased out once the workload returns to normal. The whole rescue process is self-managing in that service discovery is used to allow servers of different web sites to learn about each other dynamically, rescue actions are triggered automatically based on load conditions, and a rescue server can serve the content of its origin serves on the fly without the need of any advance configuration. I have implemented a prototype of DotSlash on top of Apache. Experiments show that using DotSlash a web server can increase the request rate it supported and the data rate it delivered to clients by an order of magnitude. I also designed an extended version of DotSlash for dynamic content web sites, and evaluated it in the context of the widely used LAMP configuration (Linux, Apache, MySQL, and PHP). By supporting dynamic replication of scripts from an origin server to its rescue servers, a dynamic content web site can completely remove its web server bottleneck, and support a request rate constrained only by the capacity of its database server.