A High-Availability Webserver Cluster Using Multiple Front-Ends

A lot of clustering technologies are being applied to websites these days. A webserver cluster can be configured with either a high performance hardware switch or LVS (Linux Virtual Server) software. A high performance hardware switch has good performance but costs a great deal when constructing small and middle-sized websites. LVS, which is free of charge and has good performance, has commonly been used to construct webserver clusters. LVS is hampered by having a single front-end as it can raise a bottleneck with increased requests, and can result in the cluster system being unable to function. In this paper, we suggest new architecture for webserver clusters based on LVS with multiple front-ends which can also act as back-ends. This architecture removes the bottleneck, and is useful in constructing small and middle-sized websites. We also propose a scheduling algorithm to distribute requests equally to servers by considering their load. With this scheduling algorithm, a server will be able to respond directly to a client's request when its load is not too large. Otherwise, the server will redirect the request to the selected back-end with the lowest load. Through our experiments, we show that a webserver cluster with multiple front-ends increases the throughput linearly, while a webserver cluster with a single front-end increases the throughput curvedly. We hope that a webserver cluster with multiple front-ends will be suitable and efficient for constructing small and middle-sized websites in terms of cost and performance.

[1]  Philip S. Yu,et al.  Analysis of Task Assignment Policies in Scalable Distributed Web-Server Systems , 1998, IEEE Trans. Parallel Distributed Syst..

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

[3]  David E. Culler,et al.  Using smart clients to build scalable services , 1997 .

[4]  Myong-Soon Park,et al.  Multicast-based Distributed LVS (MD-LVS) for improving scalability and availability , 2001, Proceedings. Eighth International Conference on Parallel and Distributed Systems. ICPADS 2001.

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

[6]  Yi-Min Wang,et al.  ONE-IP: Techniques for Hosting a Service on a Cluster of Machines , 1997, Comput. Networks.

[7]  Daniel A. Reed,et al.  NCSA's World Wide Web Server: Design and Performance , 1995, Computer.

[8]  Wenfei Fan,et al.  Keys for XML , 2001, WWW '01.

[9]  Philip S. Yu,et al.  Dynamic Load Balancing on Web-Server Systems , 1999, IEEE Internet Comput..

[10]  Ira Pramanick,et al.  High Availability , 2001, Int. J. High Perform. Comput. Appl..

[11]  Oscar H. Ibarra,et al.  SWEB: towards a scalable World Wide Web server on multicomputers , 1996, Proceedings of International Conference on Parallel Processing.

[12]  Rajkumar Buyya,et al.  High Performance Cluster Computing , 1999 .

[13]  Michele Colajanni,et al.  A client-aware dispatching algorithm for web clusters providing multiple services , 2001, WWW '01.

[14]  Guerney D. H. Hunt,et al.  Network Dispatcher: A Connection Router for Scalable Internet Services , 1998, Comput. Networks.

[15]  Azer Bestavros,et al.  Distributed packet rewriting and its application to scalable server architectures , 1998, Proceedings Sixth International Conference on Network Protocols (Cat. No.98TB100256).