Apache web servers are widely used as stand-alone servers or front-ends in multi-tiered web servers. Despite the wide availability of software, it is quite difficult for many administrators to properly configure their web servers. In particular, setting the performance-related parameters is an error-prone and timeconsuming task because their values heavily depend on the server environment. In this paper, two mechanisms are described for automatically tuning two performance-related parameters of Apache web servers: KeepAliveTimeout and MaxClients. These mechanisms are easy to deploy because no modifications to the server or the operating system are required. Moreover, they are parameter specific. Although interference between KeepAliveTimeout and MaxClients is inevitable, the tuning mechanisms minimize the correlation by using almost completely independent metrics. Experimental results show that these mechanisms work well for two different workloads; the parameter values are close to optimal and can adapt to workload changes.
ASJC Scopus subject areas