Computer Science Department
School of Computer Science, Carnegie Mellon University


Web Servers Under Overload: How Scheduling Can Help

Bianca Schroeder, mor Harchol-Balter

May 2002

Keywords: Web servers, overload, transient behavior, connection-scheduling, HTTP requests, priority, M/G/1, shortest processing remaining time, starvation, heavy-tailed workloads, time-sharing, Linux, Apache

Most well-managed web servers perform well most of the time. Occasionally, however, every popular web server experiences transient overload. An overloaded web server typically displays signs of its affliction within a few seconds. Work enters the web server at a greater rate than the web server can complete it, causing the number of connections at the server to build up. This implies large delays for clients accessing the server. This paper provides a systematic performance study of exactly what happens when a web server is run under transient overload, both from the perspective of the server and from the perspective of the client. Second, this paper proposes and evaluates a particular kernel-level solution for improving the performance of web servers under overload. The solution is based on SRPT connection scheduling. We show that SRPT-based scheduling improves overload performance across a variety of client and server-oriented metrics.

20 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by