Techniques for developing and measuring high performance Web servers over high speed networks

High-performance Web servers are essential to meet the growing demands of the Internet and large-scale intranets. Satisfying these demands requires a thorough understanding of key factors affecting Web server performance. This paper presents empirical analysis illustrating how dynamic and static adaptivity can enhance Web server performance. Two research contributions support this conclusion. First, the paper presents results from a comprehensive empirical study of Web servers (such as Apache, Netscape Enterprise, PHTTPD, Zeus, and JAWS) over high-speed ATM networks. This study illustrates their relative performance and precisely pinpoints the server design choices that cause performance bottlenecks. Once network and disk I/O overheads are reduced to negligible constant factors, the main determinants of Web server performance are its protocol processing path and concurrency strategy. Moreover no single strategy performs optimally for all load conditions and traffic types. Second, we describe the design techniques and optimizations used to develop JAWS, our high-performance adaptive Web server. JAWS is an object-oriented Web server that was explicitly designed to alleviate the performance bottlenecks we identified in existing Web servers. The performance optimizations used in JAWS include adaptive prespawned threading, fixed headers, cached date processing, and file caching. In addition, JAWS uses a novel software architecture that substantially improves its portability and flexibility, relative to other Web servers.

[1]  Bob Francis,et al.  Silicon Graphics Inc. , 1993 .

[2]  Douglas C. Schmidt,et al.  GPERF: A Perfect Hash Function Generator , 1990, C++ Conference.

[3]  Douglas C. Schmidt,et al.  Principles for Developing and Measuring High-performance Web Servers over ATM , 1997 .

[4]  Douglas C. Schmidt,et al.  Measuring the performance of communication middleware on high-speed networks , 1996, SIGCOMM 1996.

[5]  Jeffrey C. Mogul,et al.  Hinted caching in the web , 1996, EW 7.

[6]  Edward A. Fox,et al.  Removal policies in network caches for World-Wide Web documents , 1996, SIGCOMM '96.

[7]  Douglas C. Schmidt,et al.  Measuring the impact of event dispatching and concurrency models on Web server performance over high-speed networks , 1997, GLOBECOM 97. IEEE Global Telecommunications Conference. Conference Record.

[8]  Jonathan S. Turner An optimal nonblocking multicast virtual circuit switch , 1994, Proceedings of INFOCOM '94 Conference on Computer Communications.

[9]  Douglas C. Schmidt,et al.  Object-oriented framework for high-performance electronic medical imaging , 1996, Electronic Imaging.

[10]  Douglas C. Schmidt,et al.  Design and Performance of an Object-Oriented Framework for High-Speed Electronic Medical Imaging , 1996, Comput. Syst..

[11]  Virgílio A. F. Almeida,et al.  Measuring the behaviour of a world-wide web server , 1997, HPN.

[12]  D. Schmidt,et al.  Applying Design Patterns and Frameworks to Develop Object-Oriented Communication Software , 1997 .

[13]  Robert E. McGrath,et al.  Web server technology: the advanced guide for World Wide Web information providers , 1996 .

[14]  Douglas C. Schmidt,et al.  ASX: An Object-Oriented Framework for Developing Distributed Applications , 1994, C++ Conference.

[15]  Evangelos P. Markatos,et al.  Main Memory Caching of Web Documents , 1996, Comput. Networks.

[16]  Edward A. Fox,et al.  Removal Policies in Network Caches for World-Wide Web Documents , 1996, SIGCOMM.