Performance Study of a Distributed Web Server: An Analytical Approach

Abstract

With the rapid expansion of the Internet, Web servers have played a major role in accessing the enormous mass of Web pages to find the information needed by the user. Despite the exponential growth of the WWW, a very negligible amount of research has been conducted in Web server performance analysis with a view to improve the time a Web server takes to connect, receive, and analyze a request sent by the client and then sending the answer back to client. In this paper, we propose a multi-layer analytical approach to study the web server performance. A simple client-server model is used to represent the WWW server in order to demonstrate how to apply the proposed approach. We developed a systematic, analytical methodology to quantify the communication delay and queuing overhead in a distributed web server system. The approach uses the Computation Structure Model to derive server processing time required to process a request sent from a client and queueing model to analyze the communication between the clients and the server.

Share and Cite:

S. Tasneem and R. Ammar, "Performance Study of a Distributed Web Server: An Analytical Approach," Journal of Software Engineering and Applications, Vol. 5 No. 11, 2012, pp. 855-863. doi: 10.4236/jsea.2012.511099.

1. Introduction

With the rapid expansion of the “World Wide Web” and our increasing reliance on the information and services provided by it, indicates that the services must be offered with superior performance to retain the current users and attract new ones. For example online banking, stock exchange, remote surgery, bill payment must be secure, efficient and fast enough to be widely accepted. An essential component of WWW is the Web server which is a large computer and a program responsible to serve the HTTP requests from the clients. The most common form of client is a Web browser. The server responds to the multiple clients by sending Web pages such as HTML documents and linked objects (images, videos, etc.). One of the vital aspects of the Internet business is the performance issue of the Web server.

However, for such a system to function efficiently and cost-effectively requires that the system development be based upon careful performance analysis, because slowness can have far reaching consequences and implications in the Internet-computing. The millions of users surfing the Internet, are unwilling to spend more than few seconds waiting for a Web page to be displayed. The number of requests met per second by a Web server is one of the major metrics to be considered to a high performance Web server system. Because the content of the Web is fluid and sites change frequently, keeping up to date information is challenging [1-3]. In the design of a high performance Web server system the challenge is to keep response-time to a minimum and the generated data as up to date as possible by providing more frequent updates. Response time is calculated from the moment the server receives the request until the client starts receiving the answer back from the server. The shorter the response-time is the better the performance. Despite the popularity of the Web servers, a very negligible number of performance analysis has been done. In this paper, we have reported a partial result of a continuing research which addresses the challenging issue of quantifying the response-time and finally identifying the bottlenecks due to communication and queuing overhead in a distributed Web server system. To keep the response time to a minimum, first, we need to identify the major components of it which is accomplished by applying a systematic, analytical methodology called, Computation System Model (CSM).

In this paper, to analyze the performance of a webserver system, we have modeled a single server with multiple clients as shown in Figure 1. This is a simple

Figure 1. A single server and multiple clients model.

model for the WWW server. Our goal is to show applying our proposed analysis methodology to predict quantitative metrics describing the server performance. Studying a full WWW server is beyond the scope of this paper. The proposed performance analysis is divided into two parts: we used: 1) CSM (Computational Structure Model) to calculate the processing time cost of server processes; and 2) queueing model to study the network architecture, which includes the server’s request handling model. We will analyze the request handling within the server, as well as the communication between the server and the client, etc. At the system level we are interested in determining the time it takes for the server to connect, receive, and analyze a request sent by the client and then sending the answer back to it.

The present paper developed a systematic, analytical methodology to quantify the communication delay and queuing overhead in a distributed web server system.

The CSM derived equations will be used to determine the performance bottleneck which lies in the system architecture.

The paper is organized as follows: In Chapter 2, we discuss the related research. In Chapter 3, we describe the main components of the system architecture. In Chapter 4, we derive the equations to compute the processing time cost (without the communication time) of a request, only, using CSM analysis. In Chapter 5, we derive the response-time equations which include both the processing time as well as the time for communication between the server and the clients. In Chapter 6, we conclude.

2. Related Research

CSM: There are three principal methods for computer performance evaluation and analysis: direct measurement, simulation and analytic modeling. Direct measurement is the most accurate of the methods, but requires the system to be implemented first in order to collect specific performance information. Besides, the motivation of performance engineering is to find the performance bottleneck at the design phrase, so one can avoid an efficient design at the earliest time. Simulations are prototypes of the real system that provide a fairly accurate performance measurement, but are often time consuming and difficult to construct. Analytic modeling which exercises techniques such as queueing networks [1,4], Markov models [4], Perti-nets, state charts and CSM [5-9], is the least expensive because hardware and software do not need to be implemented. It also provides insight into the variable dependencies and interactions that are difficult to determine using other methods. In the present paper we have used the CSM analysis in which during the design phase, one builds a mathematical model to describe the system behavior. Then the performance model equations are derived as a function of different design parameters. The advantage of this model not only lies on the fact that it gives an insight of the software system but also it provides plenty of details. However, the mathematics involved may be complex. Ammar et al. [10] makes use of user model to derive the software optimization. In separate papers Ammar et al. [5] and Qin et al. [11] present techniques for deriving the time cost of parallel computations.

Webserver: With the increased popularity of Web servers, recently Web server performance modeling and analysis has become an active area of research. To the best of our knowledge there is little to no published work that presents a comprehensive analysis of performance for Web server systems. Below we briefly review the previous work on the performance analysis of Web server.

Heidemann et al. [12] present analytical performance models to characterize the interaction of HTTP with several transport protocol layers. Slothouber [13] and Vander Mei et al. [14] both uses queueing model for Web server performance. The later presents an end-to-end queueing model for the performance to study the impact of client workload characteristics, as well as communication protocols and interconnect topologies. Menasce [15] provides a classification of Web server software architectures and studies the pool size behavior using queuing networks approach. Kamra et al. [16] present a theoretical approach to control overload of a 3-tiered Web sites. Liu et al. [17] use a multi-station queuing center to model each of the 3-tiered Web services architecture including the Web, application and database servers. Kant et al. [18] describe a queuing network model based on detailed measurements of a multiprocessor system with static Web workload. Interested readers may refer to Trivedi [19] and Lipsky [4] for further detail about queueing model and its application. Lipsky expresses a systematic approach using queueing models which involves advance mathematics. Wells et al. [20], Gaeta et al. [21], Gvozdanovic et al. [22], Scarpa et al. [23] uses Petri net models for the performance analysis of various features of Web servers. Gokhale et al. [24] propose an analysis methodology based on the Stochastic Reward Net (SRN) modeling paradigm to quantify the performance and the reliability tradeoffs in the process-based and the thread-based Web server software architectures. Kohavi and Parekh [25] offer several useful practical recommendations to improve e-commerce Web sites. Kaaniche et al. [26] illustrates a hierarchical modeling framework to evaluate the availability as well as dependability of an Internet based travel agency. There are also some efforts which consider availability/dependability analysis of a Web server. Merzbacher et al. [27] first present experimentally measured availability results for selected Web sites and services, then propose a new metric for availability.

Hu et al. [28] measure and analyze the behavior of the popular Apache Web [3] server on both a uniprocessor system and a 4-CPU SMP Symmetric Multi-Processor system running the IBM AIX operating system. Their discovery shows that on an average, Apache spends about 20% - 25%, 35% - 50%, and 25% - 40% of the total CPU time, on user code, kernel system calls and interrupt handling, respectively. For systems with small RAM size, the Web server performance is limited to the disk bandwidth. For systems with reasonably large RAM size, the TCP/IP stack and the network interrupt handler are the major performance bottlenecks. They also suggest new performance improvement metric of the Apache Web server. First generation Web crawlers of Google (developed at Stanford), the most popular search engine were implemented in python and distributed in a LAN or WAN reporting to a centralized analysis server that performed all the indexing functionality on the data collected. The hardware given at the time, three Google crawlers were able to collect an average of about 48.5 pages per second while the Indexer was just fast enough to finish analyzing the data before new crawler results arrived [2]. With the development of modern high speed hardware the performance bottleneck of Web crawler system has shifted from hardware processing power to communication network latency and speeds. Crawlers of Mercator [2], another popular search engine, are similar to Google’s, except that they are implemented in Java, instead of Python. In principle, first they fetch a URL from a shared server called the “frontier”, which is then fetched and processed. By distributing the work in hundreds of worker threads in each of the five or more machines, Mercator achieved an impressive crawler page rate of 112 pages per second. By using two processors per machine running at 533 MHz and 2 GB RAM, the bottleneck shifted from processing power to network speed and latency, which in this small setup already averaged at 1682 KB/s. Also, at this point, the DNS lookups became more and more frequent, so local DNS caches were implemented.

UbiCrawler is another Web crawler that incorporates meaningful performance improvements [1] over the past two cases described where the spiders were always controlled by a central instance that coordinated the crawling process. In UbiCrawler’s case, the network line speed was the limit later on. There are several limiting factors such as, communication network delay, to the performance and scalability of complex systems like UbiCrawler yet to be addressed.

A limited amount of research has been done in performance analysis of Web server, and to the best of our knowledge this is the first approach in applying hierarchical CSM modeling technique.

3. System Description

Figure 2 depicts the main functions of the server and the client which are the two major components of the system architecture.

Conflicts of Interest

The authors declare no conflicts of interest.

References

[1] P. Boldi, B. Codenotti, M. Santini and S. Vigna, “Ubicrawler: A Scalable Fully Distributed Web Crawler,” Software-Practice & Experience, Vol. 34, No. 8, 2004, pp. 711-726. doi:10.1002/spe.587
[2] M. Najork and A. Heydon, “High-Performance Web Crawling,” In: J. M. Abello, P. M. Pardalos and M. G. C. Resende, Eds., Handbook of Massive Data Sets, Kluwer Academic Press, Dordrecht/Boston/London, 2002, pp.
[3] Apache Software Foundation, “Apache HTTP Server Project,” http://httpd.apache.org/
[4] L. Lipsky, “Queueing Theory: A Linear Algebraic Approach (LAQT),” Macmillan Publishing Company, New York, 1992.
[5] R. A. Ammar and B. Qin, “An Approach to Derive Time Costs of Sequential Computations,” Journal of Systems and Software, Vol. 11, No. 3, 1990, pp. 173-180.
[6] T. L. Booth, “Performance Optimization of Software Systems Processing Information Sequences Modeled by Probabilistic Languages,” IEEE Transactions on Software Engineering, Vol. 5, No. 1, 1979, pp. 31-44. doi:10.1109/TSE.1979.226496
[7] B. M. MacKay and H. A. Sholl, “Communication Alternatives for a Distributed Real-Time System,” Proceedings of the ISCA Computer Applications in Industry and Engineering Conference, Honolulu, November 1995, pp.
[8] H. A. Sholl and T. L. Booth, “Software Performance Modeling Using Computation Structures,” IEEE Transactions on Software Engineering, Vol. 1, No. 4, 1975, pp. 414-420. doi:10.1109/TSE.1975.6312874
[9] R. Ammar, “Hierarchical Performance Modeling and Analysis of Distributed Software,” In: S. Rajasekaran and J. H. Reif, Eds., Handbook of Parallel Computing: Models, Algorithms, and Applications, Chapman & Hall/CRC Press, London.
[10] R. A. Ammar and T. L. Booth, “Software Optimization Using User Models,” IEEE Transactions on Systems, Man, Cybernetics, Vol. 18, No. 4, 1988, pp. 552-560. doi:10.1109/21.17373
[11] B. Qin, H. A. Sholl and R. A. Ammar, “Micro Time Cost Analysis of Parallel Computations,” IEEE Transactions on Computers, Vol. 40, No. 5, 1991, pp. 613-628. doi:10.1109/12.88485
[12] J. Heidemann, K. Obraczka and J. Touch, “Modeling the Performance of HTTP over Several Transport Protocols,” IEEE/ACM Transactions on Networking, Vol. 5, No. 5, 1997, pp. 616-630. doi:10.1109/90.649564
[13] L. Slothouber, “A Model of Web Server Performance,” Proceedings of the Fifth International World Wide Web Conference, 1996.
[14] R. D. Van der Mei, R. Hariharan and P. Reeser,” Web Server Performance Modeling, “Telecommunication Systems, Vol. 16, No. 3-4, 2001, pp. 361-378. doi:10.1023/A:1016667027983
[15] D. Menasce, “Web Server Software Architecture,” IEEE Internet Computing, Vol. 7, No. 6, 2003, pp. 78-81. doi:10.1109/MIC.2003.1250588
[16] A. Kamra, V. Misra and E. Nahum, “Controlling the Performance of 3-Tiered Web Sites: Modeling, Design and Implementation,” Proceedings of the Joint International Conference on Measurement and Modeling of Computer Systems, June 2004, pp. 414-415.
[17] X. Liu, J. Heo and L. Sha, “Modeling 3-Tiered Web Applications,” 13th IEEE International Symposium on Modeling, Analysis and Simulation of Computer Telecommunications Systems (MASCOTS’05), 2005, pp. 307-310.
[18] K. Kant and C. R. M. Sundaram, “A Server Performance Model for Static Web Workloads,” IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS’00), 2000, pp. 201-206.
[19] K. S. Trivedi, “Probability and Statistics with Reliability, Queuing, and Computer Science Applications,” John Wiley and Sons, Chichester, 2001.
[20] L. Wells, S. Christensen, L. M. Kristensen and K. H. Mortensen, “Simulation based performance Analysis of Web Servers,” Proceedings of 9th International Workshop on Petri Nets and Performance Models, 2001, pp. 59-68. doi:10.1109/PNPM.2001.953356
[21] R. Gaeta, M. Gribaudo, D. Manini and M. Sereno, “A GSPN Model for the Analysis of DNS-Based Redirection in Distributed Web Systems,” Proceedings of 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems (MASCOTS’04), 2004, pp. 39-48.
[22] D. Gvozdanovic, D. Simic, U. Vizek, M. Matijasevic, K. P. Valavanis and D. Huljenic, “Petri Net Based Modeling of Application Layer Traffic Characteristics,” In EUROCON’ 01, 2001, pp. 424-427.
[23] M. Scarpa, A. Puliafito, M. Villari and A. Zaia., “A Modeling Technique for the Performance Analysis of Web Searching Applications,” IEEE Transactions on Knowledge and Data Engineering, Vol. 16, No. 11, 2004, pp. 1339-1356. doi:10.1109/TKDE.2004.65
[24] S. S. Gokhale, P. J. Vandal and J. Lu, “Performance and Availability Analysis of Web Server Software Architecture,” Proceedings of 12th IEEE International Symposium on Pacific Rim Dependable Computing (PRDC’06), 2006, pp. 351-358. doi:10.1109/PRDC.2006.50
[25] R. Kohavi and R. Parekh, “Ten Supplementary Analyses to Improve E-Commerce Web Sites,” Proceedings of the Fifth WEBKDD workshop (WEBKDD’03), 2003, pp. 29-36.
[26] M. Kaaniche, K. Kanoun and M. Martinello, “A User-Perceived Availability Evaluation of a Web Based Travel Agency,” Proceedings of the 2003 International Conference on Dependable Systems and Networks (DSN’03), 22-25 June 2003, pp. 709-718. doi:10.1109/DSN.2003.1209986
[27] M. Merzbacher and D. Patterson, “Measuring End User Availability on the Web: Practical Experience,” Proceedings of the 2002 International Conference on Dependable Systems and Networks (DSN’02), 2002, pp. 473-477.
[28] Y. Hu, A. Nanda and Q. Yang, “Measurement, Analysis and Performance Improvement of the Apache Web Server,” IEEE International Performance, Computing and Communications Conference (IPCCC’99), 1999, pp. 261-267.

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.