Measuring the impact of event dispatching and concurrency models on Web server performance over high-speed networks

Abstract
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've applied some of these optimizations to create JAWS. JAWS is a high-performance Web server that is explicitly designed to alleviate overheads incurred by existing Web servers on high-speed networks. It consistently outperforms existing Web servers (such as Apache, Java Server, PHTTPD, Zeus, and Netscape Enterprise) over 155 Mbps ATM networks on UNIX platforms. Second, this paper describes how we have customized JAWS to leverage advanced features of Windows NT for multiprocessor hardware over ATM. The Windows NT features used in JAWS include asynchronous mechanisms for connection establishment and data transfer. Our previous benchmarking studies demonstrate that once the overhead of disk I/O is reduced to a negligible constant factor, the primary determinants of Web server performance are the concurrency and event dispatching strategies. Our performance results over a /spl sim/155 Mbps ATM link indicate that certain Windows NT asynchronous I/O mechanisms (i.e. TransmitFile) provide superior performance for large file transfers compared with conventional synchronous multi-threaded servers. On the other hand, synchronous event dispatching performed better for files less than 50 kbytes. Thus, to provide optimal performance, Web servers should be adaptive, choosing to use different mechanisms to handle requests for large files, while using alternative I/O mechanisms for requests for small files.

This publication has 2 references indexed in Scilit: