|
|
|
A Web server's listen queue capacity is often set to a large value to
accommodate bursts of traffic and to accept as many client requests as
possible. We show that, under certain overload conditions, this results in a
significant loss of server performance due to the processing of so-called
``dead requests'': timed-out client requests whose associated connection has
been closed from the client
side. In some pathological cases, these overload conditions can lead to
server livelock,
where the server is ``busily'' processing only dead requests and is not
doing any useful work. We propose a method of detecting these
dead requests and avoiding unnecessary overhead related to their
processing. This provides a predictable and controllable platform for
web applications, thus improving their overall performance.
Related Papers and Reports
|