A Performance Study of Modern Web Server Applications

Web server programs are one of the most popular computer applications in existence today. Our goal is to study the behavior of modern Web server application programs to understand how they interact with the underlying Web server, hardware and operating sy

  • PDF / 176,589 Bytes
  • 9 Pages / 431 x 666 pts Page_size
  • 13 Downloads / 220 Views

DOWNLOAD

REPORT


Abstract. Web server programs are one of the most popular computer applications in existence today. Our goal is to study the behavior of modern Web server application programs to understand how they interact with the underlying Web server, hardware and operating system environment. We monitor and evaluate the performance of a Sun UltraSPARC system using hardware performance counters for different workloads. Our workloads include static requests (for HTML files and images) as well as dynamic requests in the form of CGI (Common Gateway Interface) scripts and Servlets. Our studies show that the dynamic workloads have CPIs (Cycles Per Instruction) approximately 20% higher than the static workloads. The major factors that we could attribute to this were higher instruction and data cache miss rates compared to the static workloads, and high external (L2) cache misses.

1

Introduction

In the past few years the World Wide Web [1] has experienced phenomenal growth. Not only are millions browsing the Web, but hundreds of new Web sites are added each day. Yet, despite the increasing number of Web servers in use, little is known about their performance characteristics. Increasing Web server performance means reducing the response time to service a request. This depends on a lot of factors involving the underlying hardware, server software, the interaction between the software and hardware, and the characteristics of the workload. Previous research in Web server performance [2] suggests better hardware system performance to be the most obvious way of improving Web server performance. Previous studies have shown that Web servers spend around 85% of their cycles executing OS code [3], as compared to 9% by the SPEC95 suite [4]. This suggests that Web server software may well exhibit significantly different characteristics from standard benchmarks like SPEC95 [5]. This, in turn, raises questions about performance of Web servers on current microarchitectures, since many of the recent innovations in microarchitecture have been justified on the basis of increasing SPEC95 performance. Therefore it is important to understand the behavior of modern superscalar processors when running Web server P. Amestoy et al. (Eds.): Euro-Par’99, LNCS 1685, pp. 239–247, 1999. c Springer-Verlag Berlin Heidelberg 1999

240

Ramesh Radhakrishnan and Lizy Kurian John

workloads. These studies can lead to improved Web server performance by providing insights about microarchitectural design changes or making modifications in server software (to better utilize the hardware resources). Previous research has shown that CPU and memory can form a bottleneck for a heavily loaded server system [6]. However, microarchitectural studies based on Web workloads have not been previously done, to identify the exact nature of these bottlenecks. Efforts have been made to identify the impact of secondary cache size on the performance of the server, however this study was based on static workloads [7]. In this paper, we study the behavior of a popular Web server running