Check out the new USENIX Web site.

Home About USENIX Events Membership Publications Students
USENIX Windows NT Workshop, 1997     [Technical Program]

Page 149 of the Proceedings

High Performance Web Servers on Windows NT
Design and Performance*

James C. Hu, Irfan Pyarali, and Douglas C. Schmidt
Washington University in St. Louis

Abstract

This research provides two contributions to the study of high-performance Web servers. First, it outlines the optimizations necessary to build efficient and scalable Web servers and illustrates how we applied some of these optimizations to create JAWS, a high-performance Web server that is explicitly designed to alleviate overheads incurred by existing Web servers on high-speed networks. Second, this paper describes how we have customized JAWS to leverage advanced features of Windows NT, such as asynchronous mechanisms for connection establishment and data transfer. Our work includes performance results which characterize the effectiveness of these techniques under increasing server load conditions. We conclude that optimal performance requires adaptive server behavior.

1. JAWS Overview

JAWS is the Web server prototype we developed to analyze Web server performance bottlenecks. Our research involves the empirical study and analysis of the impacts different optimization strategies have to Web server performance as the Web server is subjected to various load conditions, such as request hit rate and requested file size. The strategies under study include: I/O Strategies, such as Asynchronous, Synchronous, and Reactive I/O; Caching Strategies, such as LRU, LFU, Hinted, and Structured; Concurrency Strategies, such as single threaded, thread-per-request, thread-per-session (persistent connections), and thread pool; Request Handling Strategies, such as prioritized requests, parallelized protocol processing, and content negotiation; and Adaptive Protocols, such as protocol negotiation (PEP) and dynamic protocol pipelines.

2. Performance Results

As shown in [1], JAWS consistently outperforms the other servers in our test suite. These servers included Apache, PHTTPD, Roxen, Netscape Enterprise Server, Zeus, and W3C Jigsaw.
* Additional information on this research in available from the website https://www.cs.wustl.edu/~jxh/research/.
During the study, we analyzed the results of our experiments to discover key Web server bottlenecks. We identified the following two key determinants of Web server performance: concurrency and event dispatching strategies; and filesystem access.

Additional experiments described in [2] characterize the relative impacts of different I/O models coupled with different concurrency strategies under various loads on Windows NT over a 155 Mbps ATM network. These experiments revealed two important results. First, throughput is highly sensitive to the I/O strategy and file size. Synchronous I/O mechanisms were found more appropriate for smaller files, while the asynchronous TransmitFile appeared most effective for larger files. Second, latency is highly sensitive to hit rate. For smaller files, synchronous I/O provided consistently better performance. For larger files under light loads, TransmitFile provided better latency, but is significantly worse than synchronous I/O under heavier loads.

3. Conclusions

These results illustrate that no single Web server configuration is optimal for all circumstances. In order to achieve optimal performance, a Web server must be designed to utilize both static adaptivity (bindings of common operations to high performance mechanisms of the native OS) and dynamic adaptivity (altering run-time behavior ``on-the-fly'' based on present load conditions). JAWS provides an application framework which makes this possible on Windows NT.

Bibliography

[1] James Hu, Sumedh Mungee, and Douglas C. Schmidt. Principles for Developing and Measuring High-performance Web Servers over ATM. Washington University Technical Report #WUCS-97-10, February, 1997.

[2] James Hu, Irfan Pyarali, and Douglas C. Schmidt. Measuring the Impact of Event Dispatching and Concurrency Models on Web Server Performance over High-speed Networks. Submitted to the 2nd Global Internet Conference, IEEE, November 1997.


This paper was originally published in the Proceedings of the USENIX Windows NT Workshop, August 11-13, 1997, Seattle, Washington, USA
Last changed: 15 April 2002 aw
Technical Program
Conference Index
USENIX home