A Model of Web Server Performance

Executive Summary

Louis P. Slothouber
lpslot@biap.com
June, 1995

Despite the increasing number of Web servers in use each day, little is definitively known about their performance characteristics. Web server vendors are quite happy to extol the performance virtues of their products, and industry professionals abound with theories on how to serve data faster; but these virtues and theories are generally based upon anecdotal evidence, gut instinct, or narrow empirical evidence that has little general utility. This paper presents a simple, high-level mathematical model which is used to produce general performance results for Web servers on the Internet.

exponential curve

Using this model a theoretical upper bound on the serving capacity of Web servers is demonstrated. As the number of jobs arriving at a Web server increases, the time required to serve a file increases very gradually (almost imperceptibly) up to a point; thereafter, it increases suddenly toward infinity. This upper bound on serving capacity is primarily determined by the network bandwidth of the server and the average size of the files served. As the load on the server nears the boundary, a minor increase in the load can rapidly plunge the server into a situation where it attempts to serve more and more files at slower and slower speeds, so that no files (or very few) are successfully served. The majority of today's UNIX based servers allow a large number of simultaneous connections, and are particularly susceptible to this problem. Ironically, it is the servers on Macintosh and Windows platforms, often criticized for their limited number of simultaneous connections, that avoid such server deadlock.

improvement graph

This paper also investigates the use of multiple servers to improve performance. Obviously, the best solution when network bandwidth is a bottleneck --which it usually is-- is to increase the network bandwidth. Doubling the server speed shows only a very slight improvement. Adding a second identical server has no effect. But, adding a second, slower server actually decreases performance!


Copyright©1995-2001, Louis P. Slothouber. All Rights Reserved.
Last changed Thursday, March 29, 2001 at 4:15:21 PM. Louis Slothouber

-----------------------------9111212718972 Content-Disposition: form-data; name="userfile"; filename=""