DotSlash Manual


Release Version: 1.0.3
Date: 3/1/2006

  1. Introduction
  2. Dots_Apache
  3. External Components for DotSlash
  4. DotSlash Configurations
  5. Running Apache with DotSlash
  6. Dots_PHP
  7. Dots_MySQL
  8. Summary

1. Introduction

Web hotspots, also known as flash crowds or the Slashdot effect, are short-term dramatic load spikes that can seriously degrade the service quality of affected web sites. In order to handle web hotspots effectively, we developed DotSlash, an automated web hotspot rescue system. The main advantage of using DotSlash is that it can operate in a fully automated way without human intervention. As a result, DotSlash-enabled web sites can react quickly to load spikes and improve their availability during critical periods of their "15 minutes of fame".

This is a prototype implementation of DotSlash for the widely used LAMP (Linux, Apache, MySQL, and PHP) configuration. This software release includes three components: Dots_Apache, Dots_PHP, and Dots_MySQL. Their source files are under three separate directories: dots_apache, dots_php, and dots_mysql.

To use DotSlash, Dots_Apache is required but Dots_PHP and Dots_MySQL are optional. Thus, there are three configurations in using DotSlash as shown in Table 1.

Table 1. Three configurations in using DotSlash
ConfigurationBottlenecks AddressedUsed By
Dots_Apache Network and web server Static/dynamic content web sites
Dots_Apache + Dots_PHP Network, web server, and application server Dynamic content web sites
Dots_Apache + Dots_PHP + Dots_MySQL Network, web server, application server, and database server Dynamic content web sites

In addition, DotSlash needs two external components, dynamic DNS and mSLP DA. DotSlash uses dynamic DNS to add new aliases for HTTP redirects and to update IP addresses for DNS round robin. DotSlash uses mSLP DAs to serve as its service registries.

2. Dots_Apache

Dots_Apache is an Apache module that supports basic DotSlash functions including workload monitoring, rescue server discovery, rescue relationship management, request redirection, dynamic virtual hosting, and dynamic DNS update. This is the only required component for using DotSlash.

3. External Components for DotSlash

DotSlash needs two external components, dynamic DNS and mSLP DA. DotSlash uses dynamic DNS to add new aliases for HTTP redirects and to update IP addresses for DNS round robin. DotSlash uses mSLP DAs to serve as its service registries.

4. DotSlash Configurations

You can configure DotSlash via the Apache configuration file httpd.conf using the following directives. Only configurations marked as "required" must be specified. Most configurations are optional, and they will take their default values if unspecified, In addition to the above configurations, you must configure memory cache and disk cache for Apache because DotSlash depends on Apache caching to cache static content. To save space, we will not cover configurations for Apache memory cache and disk cache here. Please refer to Apache documentation mod_cache for details. Next, we give two simple examples for DotSlash configurations. For a complete example of DotSlash configurations, please refer to the file httpd.conf.dots.

5. Running Apache with DotSlash

Running Apache with DotSlash is straight forward. You do not need to start the DotSlash daemon dotsd manually since it is started automatically by the Apache DotSlash module mod_dots. However, you need to shutdown dotsd after you shutdown your Apache server. Also, you need to shutdown dotsd before you restart Apache with DotSlash. Assuming that the process ID file for dotsd is ${apache_install}/logs/dotsd.pid, then you can start, shutdown, and restart your Apache with DotSlash as follows.

6. Dots_PHP

Dots_PHP is a DotSlash extension for the PHP module of Apache that supports replicating PHP scripts dynamically.

7. Dots_MySQL

Dots_MySQL is a cache-enhanced PHP data driver for MySQL databases that supports caching database query results on demand.

8. Summary


Last updated by Weibin Zhao