|
Abstract : |
Abstract | This paper evaluates techniques for improving operating system and network protocol software support for high-performance WWW servers. We study approaches in 3 categories: new socket functions, per-byte optimizations, and per-connection optimizations. We examine two proposed socket functions, acceptex()and send file(), comparing send file()'s eectiveness with a combination of mmap() and writev(). We show how send file()provides the necessary semantic support to eliminate copies and checksums in the kernel, and quantify the benet of the function's header and close options. We also present mechanisms to reduce the number of packets exchanged in an HTTP transaction, both increasing server performance and reducing network utilization, without compromising interoperability. Results using WebStone show that our combination of mechanisms can improve server throughput by up to 64 percent, and can eliminate up to 33 percent of the packets in an HTTP exchange. Results with SURGE show an aggregate increase in server throughput of 25 percent. 1, |