Computer Science Department
School of Computer Science, Carnegie Mellon University
Web Servers Under Overload: How Scheduling Can Help
Bianca Schroeder, mor Harchol-Balter
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.