Various techniques have been investigated to improve the performance of Web servers. Kernel-space Web servers are an emerging trend; the overheads of context switching and event notification are avoided, and redundancy in data read and copy is reduced. TUX, which uses the kernel space of Red Hat, is nearly twice as fast as user-space Web servers like IIS or Zeus.
Because of security and reliability considerations, the use of the kernel should be avoided, or restricted to static content delivery. However, a significant proportion of the workload in a real-world Web application consists of dynamic requests.
The authors of this paper address the user-space userver (http://hpl.hp.com/research/linux/userver), operating on Linux. The paper describes how they augmented this Web server, enabling it to serve dynamic content. Then, a performance evaluation is made between userver and TUX, using the SPECweb99 workload generator.
Section 1 of the paper is introductory. Section 2 provides background, and presents related work. Section 3 describes the implementation of dynamic content support on the server. In section 4, the experimental environment is described, including the workload generator and the methodology, and the two Web servers evaluated. Section 5 presents the results. The performance gap between TUX (the kernel-space server) and userver (the user-space server) becomes less significant as the proportion of dynamic content increases. For massively dynamic workloads, userver outperforms TUX. Section 6 concludes the paper and outlines future work.