USENIX Technical Program - Abstract - Internet Technologies & Systems 99
Connection Scheduling in Web Servers
Mark E. Crovella, Robert Frangioso, Boston University; and Mor Harchol-Balter, Carnegie Mellon University
Abstract
Under high loads, a Web server may be servicing many hundreds of
connections concurrently. In traditional Web servers, the question of
the order in which concurrent connections are serviced has been left
to the operating system. In this paper we ask whether servers might
provide better service by using non-traditional service ordering. In
particular, for the case when a Web server is serving static files, we
examine the costs and benefits of a policy that gives preferential
service to short connections. We start by assessing the scheduling
behavior of a commonly used server (Apache running on Linux) with
respect to connection size and show that it does not appear to provide
preferential service to short connections. We then examine the
potential performance improvements of a policy that does favor short
connections (shortest-connection-first). We show that mean response
time can be improved by factors of four or five under
shortest-connection-first, as compared to an (Apache-like)
size-independent policy. Finally we assess the costs of
shortest-connection-first scheduling in terms of unfairness
(i.e., the degree to which long connections suffer). We show
that under shortest-connection-first scheduling, long connections pay
very little penalty. This surprising result can be understood as a
consequence of heavy-tailed Web server workloads, in which most
connections are small, but most server load is due to the few large
connections. We support this explanation using analysis.
|