On the Interaction between an Operating System and WEB Server
David J. Yates, Virgilio Almeida and Jussara M. Almeida
Boston University
Abstract
This paper examines how and why web server performance changes as the
workload at the server varies. We measure the performance of a PC acting
as a standalone web server, running Apache on top of Linux. We use two
important tools to understand what aspects of software architecture and
implementation determine performance at the server. The first is a tool
that we developed, called WebMonitor, which measures activity and resource
consumption, both in the operating system and in the web server. The
second is the kernel profiling facility distributed as part of Linux. We
vary the workload at the server along two important dimensions: the number
of clients concurrently accessing the server, and the size of the documents
stored on the server. Our results quantify and show how more clients and
larger files stress the web server and operating system in different and
surprising ways. Our results also show the importance of fixed costs
(i.e., opening and closing TCP connections, and updating the server log) in
determining web server performance.
David J. Yates
Boston University
djy@cs.bu.edu
Virgilio Almeida
Boston University
Jussara M. Almeida
Boston University