Instantaneous offloading of web server load

Traffic to a web server is unpredictable and very peaky. Such peaks can be up to ten times the average load. To avoid losing or alienating clients, web servers are overbuilt to handle the peak load. Consequently, there are huge investments in local infrastructure at web sites that are significantly underutilized except for infrequent peak periods. This dissertation describes the design and performance study of a web booster architecture, which offloads a web server during peak traffic. The architecture instantaneously decreases the processing cost on a web server for requests to both static and dynamic web resources. It consists of a booster appliance, which pre-processes client requests, and an accelerator software module running on the web server. Fast reaction to the load change and releasing unused resources during inactive period allows multiple web servers to efficiently share the booster appliance. The main contributions of this dissertation are: (i) a performance analysis of two web servers using a simulated WAN workload, which indicates that the main cost of request processing is related to network protocol processing; (ii) a design, implementation and analysis of web server offloading techniques that include request pre-processing by the booster and a packet cache implemented by the accelerator module, which together decrease the server load up to an order of magnitude; and (iii) a design, implementation and analysis of the booster appliance and techniques for improving its performance.

[1]  Peter Druschel,et al.  Better operating system features for faster network servers , 1998, PERV.

[2]  Willy Zwaenepoel,et al.  Scalable Content-aware Request Distribution in Cluster-based Network Servers , 2000, USENIX Annual Technical Conference, General Track.

[3]  Li Fan,et al.  Web caching and Zipf-like distributions: evidence and implications , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[4]  Srinivasan Seshan,et al.  TCP behavior of a busy Internet server: analysis and improvements , 1997, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[5]  Anja Feldmann,et al.  Web proxy caching: the devil is in the details , 1998, PERV.

[6]  Qing Yang,et al.  Measurement, analysis and performance improvement of the Apache Web server , 1999, 1999 IEEE International Performance, Computing and Communications Conference (Cat. No.99CH36305).

[7]  Jeffrey C. Mogul,et al.  The case for persistent-connection HTTP , 1995, SIGCOMM '95.

[8]  Willy Zwaenepoel,et al.  Efficient Support for P-HTTP in Cluster-Based Web Servers , 1999, USENIX Annual Technical Conference, General Track.

[9]  Willy Zwaenepoel,et al.  Flash: An efficient and portable Web server , 1999, USENIX Annual Technical Conference, General Track.

[10]  Debanjan Saha,et al.  Design, implementation and performance of a content-based switch , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[11]  Martin F. Arlitt,et al.  Web server workload characterization: the search for invariants , 1996, SIGMETRICS '96.

[12]  Erich M. Nahum,et al.  Locality-aware request distribution in cluster-based network servers , 1998, ASPLOS VIII.

[13]  Greg J. Regnier,et al.  CSP: A Novel System Architecture for Scalable Internet and Communication Services , 2001, USITS.

[14]  W. Richard Stevens TCP for transactions, HTTP, NNTP, and the UNIX domain protocols , 1996 .

[15]  Paul Barford,et al.  Generating representative Web workloads for network and server performance evaluation , 1998, SIGMETRICS '98/PERFORMANCE '98.

[16]  Mark Russinovich,et al.  High-Performance Memory-Based Web Servers: Kernel and User-Space Performance , 2001, USENIX ATC, General Track.

[17]  Peter Druschel,et al.  A Scalable and Explicit Event Delivery Mechanism for UNIX , 1999, USENIX Annual Technical Conference, General Track.

[18]  Jeffrey C. Mogul,et al.  Scalable Kernel Performance for Internet Servers Under Realistic Loads , 1998, USENIX Annual Technical Conference.

[19]  Carlos Maltzahn,et al.  Performance issues of enterprise level web proxies , 1997, SIGMETRICS '97.

[20]  Michael Dahlin,et al.  Design considerations for distributed caching on the Internet , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[21]  Lance M. Berc,et al.  Continuous profiling: where have all the cycles gone? , 1997, ACM Trans. Comput. Syst..

[22]  Robert Tappan Morris,et al.  Flexible Control of Parallelism in a Multiprocessor PC Router , 2001, USENIX Annual Technical Conference, General Track.

[23]  Trent Jaeger,et al.  High-Performance Caching With The Lava Hit-Server , 1998, USENIX ATC.

[24]  K. K. Ramakrishnan,et al.  Eliminating receive livelock in an interrupt-driven kernel , 1996, TOCS.

[25]  Peter B. Danzig,et al.  A Hierarchical Internet Object Cache , 1996, USENIX ATC.

[26]  Daniel M. Dias,et al.  A scalable and highly available web server , 1996, COMPCON '96. Technologies for the Information Superhighway Digest of Papers.

[27]  David R. Karger,et al.  Web Caching with Consistent Hashing , 1999, Comput. Networks.

[28]  David A. Maltz,et al.  TCP Splice for application layer proxy performance , 1999, J. High Speed Networks.

[29]  Willy Zwaenepoel,et al.  IO-Lite: a unified I/O buffering and caching system , 1999, TOCS.

[30]  Paul Barford,et al.  Critical path analysis of TCP transactions , 2000, SIGCOMM.

[31]  Mon-Yen Luo,et al.  Efficient Support for Content-based Routing in Web Server Clusters , 1999, USENIX Symposium on Internet Technologies and Systems.

[32]  Vincent W. Freeh,et al.  Instantaneous Offloading of Transient Web Server Load 1 , 2001 .

[33]  Jeffrey C. Mogul,et al.  Network Behavior of a Busy Web Server and its Clients , 1999 .

[34]  Peter Druschel,et al.  Measuring the Capacity of a Web Server , 1997, USENIX Symposium on Internet Technologies and Systems.

[35]  Paul E. McKenney,et al.  Efficient demultiplexing of incoming TCP packets , 1992, SIGCOMM '92.

[36]  Luigi Rizzo,et al.  Dummynet: a simple approach to the evaluation of network protocols , 1997, CCRV.

[37]  Srinivasan Seshan,et al.  The effects of wide-area conditions on WWW server performance , 2001, SIGMETRICS '01.

[38]  Chuck Lever,et al.  Scalable Network I/O in Linux , 2000, USENIX Annual Technical Conference, FREENIX Track.

[39]  Eric Levy-Abegnoli,et al.  Design and performance of a Web server accelerator , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[40]  Sampath Rangarajan,et al.  On the Performance of TCP Splicing for URL-Aware Redirection , 1999, USENIX Symposium on Internet Technologies and Systems.

[41]  Erich M. Nahum,et al.  Enabling Content-Based Load Distribution for Scalable Services , 2002 .

[42]  G. Voelker,et al.  On the scale and performance of cooperative Web proxy caching , 2000, OPSR.

[43]  Erich M. Nahum,et al.  Performance issues in WWW servers , 1999, TNET.

[44]  Anja Feldmann,et al.  Rate of Change and other Metrics: a Live Study of the World Wide Web , 1997, USENIX Symposium on Internet Technologies and Systems.

[45]  John H. Hartman,et al.  Optimizing TCP forwarder performance , 2000, TNET.

[46]  Virgílio A. F. Almeida,et al.  Characterizing reference locality in the WWW , 1996, Fourth International Conference on Parallel and Distributed Information Systems.

[47]  Roy Fielding RFC 2068 : Hypertext Transfer Protocol-HTTP/1.1 , 1997 .

[48]  Thomas P. Brisco DNS Support for Load Balancing , 1995, RFC.