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.
Cited By
- Hua J, Xia C and Zhong S Differentially private matrix factorization Proceedings of the 24th International Conference on Artificial Intelligence, (1763-1770)
- YAO N, ZHENG M and JU J (2002). Pipeline, ACM SIGOPS Operating Systems Review, 36:4, (55-64), Online publication date: 1-Oct-2002.
- Becchetti L, Leonardi S and Muthukrishnan S Scheduling to minimize average stretch without migration Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms, (548-557)
- Nadimpalli S and Majumdar S Techniques for Achieving High Performance Web Servers Proceedings of the Proceedings of the 2000 International Conference on Parallel Processing
Recommendations
Connection scheduling in web servers
USITS'99: Proceedings of the 2nd conference on USENIX Symposium on Internet Technologies and Systems - Volume 2Under 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 ...
Scheduling algorithms for distributed Web servers
ICDCS '97: Proceedings of the 17th International Conference on Distributed Computing Systems (ICDCS '97)A distributed Web system, consisting of multiple servers for data retrieval and a Domain Name Server (DNS) for address resolution, can provide the scalability necessary to keep up with growing client demand at popular sites. However, balancing the ...
Probabilistic Application-Level Connection Scheduling in Web Servers
A Web server running a popular Web site might simultaneously service hundreds or even thousands of requests. Many traditional Web servers let the operating system decide the connection scheduling--that is, the order in which requests are serviced--and, ...