USENIX Annual Technical Conference (NO 98), 1998
Scalable kernel performance for Internet servers under realistic loads
Gaurav Banga, Rice University
Jeffrey C. Mogul, Digital Equipment Corp., Western Research Lab
UNIX Internet servers with an event-driven architecture often perform
poorly under real workloads, even if they perform well under laboratory
benchmarking conditions. We investigated the poor performance of
event-driven servers. We found that the delays typical in wide-area
networks cause busy servers to manage a large number of simultaneous
connections. We also observed that the select system call
implementation in most UNIX kernels scales poorly with the number of
connections being managed by a process. The UNIX algorithm for
allocating file descriptors also scales poorly. These algorithmic
problems lead directly to the poor performance of event-driven
We implemented scalable versions of the select system call and the
descriptor allocation algorithm. This led to an improvement of up to 58%
in Web proxy and Web server throughput, and dramatically improved the
scalability of the system.
- View the full text of this paper in
HTML form and
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.