Skip to Main Content
Internet servers are developing into complex but central components in the information infrastructure and are accessed by an ever-increasing and diversified user population. As such, they are susceptible to unpredicted and transient overloads, making highly available, yet cost-effective service a critical challenge. System responsiveness during overload periods is at least as important as system behavior under average, steady state load. Using measurements from a 3-tier e-commerce server, we show how normal and overload conditions propagate through the system hierarchy, i. e., from the front-end server to the back-end database, focusing on CPU, memory, and I/O performance. We find that overload conditions at lower system levels occur not only when the number of users in the system increases, but also during rapid changes in the nature of the work requested by the current users. These observations advocate the development of system mechanisms at the lower levels that can detect overload and self-adapt their configuration parameters in order to ensure high service availability and graceful performance degradation. We illustrate the effectiveness of a scheduling mechanism at the disk and provide a proof of concept that such self-adaptive scheduling mechanisms at the lower levels are a step toward faster system recovery under conditions of transient overload, and can thus complement admission control at the front end.