Techniques for Developing and Measuring High-Performance Web Servers over ATM 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. We found that 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. It consistently outperforms all other Web servers over ATM networks. 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 flexThis work was funded in part by NSF grant NCR-9628218, Object Technologies International, Eastman Kodak, and Siemens MED. ibility, relative to other Web servers. Our empirical results illustrate that highly efficient communication software is not antithetical to highly flexible software.

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

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

[3]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.0 , 1996, RFC.

[4]  Mike St. Johns Identification Protocol , 1993, RFC.

[5]  R. V. Renesse,et al.  Software for Reliable Networks , 1996 .

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

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

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

[9]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.0 , 1996, RFC.

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

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

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

[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]  Carey L. Williamson,et al.  Internet Web servers: workload characterization and performance implications , 1997, TNET.

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

[17]  James Gettys,et al.  Network performance effects of HTTP/1.1, CSS1, and PNG , 1997, SIGCOMM '97.

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

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

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

[21]  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.

[22]  Guru M. Parulkar,et al.  The APIC approach to high performance network interface design: protected DMA and other techniques , 1997, Proceedings of INFOCOM '97.