performance modeling and control of web servers andersson...

106
Performance modeling and control of web servers Andersson, Mikael 2004 Link to publication Citation for published version (APA): Andersson, M. (2004). Performance modeling and control of web servers. Lund Institute of Technology. General rights Unless other specific re-use rights are stated the following general rights apply: Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal Read more about Creative commons licenses: https://creativecommons.org/licenses/ Take down policy If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim.

Upload: others

Post on 11-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

LUND UNIVERSITY

PO Box 117221 00 Lund+46 46-222 00 00

Performance modeling and control of web servers

Andersson, Mikael

2004

Link to publication

Citation for published version (APA):Andersson, M. (2004). Performance modeling and control of web servers. Lund Institute of Technology.

General rightsUnless other specific re-use rights are stated the following general rights apply:Copyright and moral rights for the publications made accessible in the public portal are retained by the authorsand/or other copyright owners and it is a condition of accessing publications that users recognise and abide by thelegal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private studyor research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal

Read more about Creative commons licenses: https://creativecommons.org/licenses/Take down policyIf you believe that this document breaches copyright please contact us providing details, and we will removeaccess to the work immediately and investigate your claim.

Page 2: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

Performance Modeling andControl of Web Servers

Mikael Andersson

Department of Communication SystemsLund Institute of Technology

Page 3: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

ii

ISSN 1101-3931ISRN LUTEDX/TETS–1068–SE+105Pc©Mikael AnderssonPrinted in SwedenKFS ABLund 2004

Page 4: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

iii

To web servers

Page 5: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

iv

This thesis is submitted to Research Board FIME - Physics, Informatics,Mathematics and Electrical Engineering - at Lund Institute of Technology,Lund University in partial fulfilment of the requirements for the degree ofLicentiate in Engineering.

Contact information:Mikael AnderssonDepartment of Communication SystemsLund UniversityP.O. Box 118SE-221 00 LUNDSweden

Phone: +46 46 222 49 62Fax: +46 46 14 58 23e-mail: [email protected]

Page 6: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

ABSTRACT

This thesis deals with the task of modeling a web server and designing amechanism that can prevent the web server from being overloaded. Fourpapers are presented. The first paper gives an M/G/1/K processor sharingmodel of a single web server. The model is validated against measurementsand simulations on the commonly used web server Apache. A descriptionis given on how to calculate the necessary parameters in the model. Thesecond paper introduces an admission control mechanism for the Apacheweb server based on a combination of queuing theory and control theory.The admission control mechanism is tested in the laboratory, implementedas a stand-alone application in front of the web server. The third papercontinues the work from the second paper by discussing stability. Thistime, the admission control mechanism is implemented as a module withinthe Apache source code. Experiments show the stability and settling time ofthe controller. Finally, the fourth paper investigates the concept of servicelevel agreements for a web site. The agreements allow a maximum responsetime and a minimal throughput to be set. The requests are sorted intoclasses, where each class is assigned a weight (representing the income forthe web site owner). Then an optimization algorithm is applied so that thetotal profit for the web site during overload is maximized.

Page 7: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

vi

Page 8: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

ACKNOWLEDGMENTS

First of all, I would like to thank my supervisor Dr. Maria Kihl, for con-tinuously supporting and guiding me through all times in my research andalways encouraging me. Gratitude also goes to my supervisor Dr. ChristianNyberg, for always being there with a good solution to any possible problemand clearing out all question marks. Thank you Prof. Ulf Korner for givingme the opportunity to pursue my doctorate in Lund. I owe my colleagueJianhua Cao a great deal of appreciation, for all the joyful cooperation in ourpapers. Two papers in this thesis have been written in cooperation with theDepartment of Automatic Control at Lund Institute of Technology; it hasbeen a pleasure working with Anders Robertsson and Bjorn Wittenmark.I also greatly appreciated a travel grant from the Royal Physiographic So-ciety. And to all my colleagues at the department and friends, it’s alwaysgreat fun to be around you! Finally, thank you so very much for alwayshelping me out, Mom and Dad, and my sister Maria for always being there.I couldn’t have done this without you.

Lund, Sweden, September, 2004 Mikael Andersson

Page 9: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

viii

Page 10: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

CONTENTS

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1 Summary of papers . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Research issues . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.4 Further work . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2. Paper I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.2 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3 Web Server Model . . . . . . . . . . . . . . . . . . . . . . . . 222.4 Parameter Estimation . . . . . . . . . . . . . . . . . . . . . . 242.5 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.6 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . 312.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.8 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 32

3. Paper II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.2 Admission Control Mechanism . . . . . . . . . . . . . . . . . 373.3 Investigated System . . . . . . . . . . . . . . . . . . . . . . . 393.4 Control Theoretic Model . . . . . . . . . . . . . . . . . . . . . 413.5 Controller Design . . . . . . . . . . . . . . . . . . . . . . . . . 433.6 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.8 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 51

4. Paper III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.2 Admission Control Mechanism . . . . . . . . . . . . . . . . . 574.3 Investigated System . . . . . . . . . . . . . . . . . . . . . . . 58

Page 11: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

2 Contents

4.4 Control Theoretic Model . . . . . . . . . . . . . . . . . . . . . 604.5 Stability analysis of closed loop system . . . . . . . . . . . . . 624.6 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.7 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.9 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 72

5. Paper IV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.2 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.3 Admission Control . . . . . . . . . . . . . . . . . . . . . . . . 795.4 Linear programming formulations . . . . . . . . . . . . . . . . 815.5 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.6 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . 835.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Page 12: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

1. INTRODUCTION

During the last years, the use of Internet has increased tremendously. Moreand more users connect to the Internet. In Sweden, more than 70 percent ofthe population used the Internet last year (according to Statistics Sweden,[1]). Not only the number of users has increased, the number of servicesoffered on the Internet has exploded the last few years. Companies take theirbusiness onto the Internet to a greater extent. 75 percent of the companies inSweden use Internet to market themselves. The companies are e-commerceventures that sell records, books, clothes and services, companies that wantto present themselves on the Internet, banks, gambling sites, web hotels andso on. The growth in Internet popularity has lead to increasing demandsin bandwidth and performance over the Internet and both bandwidth andcomputer speed have increased steadily. However, this is not always enough.Many people still experience the WWW as the World Wide Wait. Insteadof being fast and useful, the Internet is at many occasions time-consuming.The long response times do not necessarily have to depend on too littlebandwidth or too slow clients. Instead, the bottleneck is often the serversystems. Numerous examples can be found when web servers have becometoo overloaded, leaving all visitors ignored. Situations when this occur isfor example when a news site reports events like sport tournaments, crisesor political elections. Web shops can be hit with many visitors during saleevents on the web, bank sites during pay days, regular companies when theyrelease new products etc.

When a web server gets overloaded, the response time for a web pagebecomes long which affects the company, as shown in Figure 1.1. If visitorsexperience long response times, they tend to choose other alternatives on theweb, they turn to another web shop or go to another news site. This thesisdeals with the task of modeling a web server and designing a mechanismthat can prevent the web server from getting overloaded. The basic idea isto reject some requests so that the remaining visitors can have a reasonableresponse time.

The rest of this chapter is organized as follows; section 1.1 lists theincluded papers, section 1.2 gives an overview of the research issues, section1.3 discusses related work and finally a description of further work is foundin section 1.4.

Page 13: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

4 1. Introduction

Arrival rate

Response time

Fig. 1.1: The response time goes to infinity when the server load increases.

1.1 Summary of papers

This section describes shortly the content of the included papers.

1.1.1 Paper I

Web Server Performance Modeling Using an M/G/1/K*PS QueueJianhua Cao, Mikael Andersson, Christian Nyberg and Maria Kihl(Extended version) In Proceedings of the 10th International Conference onTelecommunications, Feb. 2003, Papeete, Tahiti

The first paper gives a model of the web server. It uses an M/G/1/Kqueuing model with processor sharing as queuing discipline. The paper alsodeals with bursty arrival traffic. The model gives closed form expression forseveral performance metrics. An algorithm is presented for how to identifythe parameters used in the model. The theory is validated against real-worldmeasurements and simulations.

1.1.2 Paper II

Modeling and Design of Admission Control Mechanisms for WebServers using Non-linear Control TheoryMikael Andersson, Maria Kihl and Anders RobertssonIn Proceedings of ITCOM 03, Sep. 2003, Orlando, USA

Paper II gives an introduction to an admission control mechanism wherea queuing model is combined with control theoretic methods to achieve dy-namic and robust control. A PI controller is designed for the Apache webserver. The goal is to control the CPU load in the web server. The controllogic was implemented as a stand-alone Java application where the admis-

Page 14: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

1.1. Summary of papers 5

sion control communicates with the web server via sockets. The controllerwas tested in the laboratory where transient behaviour was investigated aswell as the long term distribution of the CPU load.

1.1.3 Paper III

Admission Control of the Apache Web ServerMikael Andersson, Maria Kihl, Anders Robertsson and Bjorn WittenmarkA shorter version of this paper appears in Proceedings of the 17th NordicTeletraffic Seminar, Aug. 2004, Fornebu, Norway

Paper III is a continuation of paper II. In this paper we discuss stabilityregions for the controller. A crucial design consideration is the controllerparameters. If they are chosen unwisely, the result is a controller that be-haves worse than many simpler admission control mechanisms. This time,the control logic was implemented as a module in Apache, as described insection 1.2.1. Experiments show settling time and distribution of CPU load.

1.1.4 Paper IV

Admission Control with Service Level Agreements for aWeb ServerMikael Andersson, Jianhua Cao, Maria Kihl and Christian NybergTo be submitted

The last paper investigates service level agreements for a web server. Con-tracts are introduced where a maximum response time and a minimal through-put are contracted. Each request is sorted into a class, where each class isassigned a weight (representing the income for the web site owner). Then anoptimization algorithm is applied so that the total revenue for the web siteduring overload is maximized. This means that less profitable requests aremore likely to be rejected. In this paper, the processing needed for reject-ing a request is considered and taken into account when the optimization isperformed.

Following papers are not included in this thesis:

Paper V

Performance Modeling of an Apache Web Server with Bursty Ar-rival TrafficMikael Andersson, Jianhua Cao, Maria Kihl and Christian NybergIn Proceedings of the International Conference on Internet Computing, June2003, Las Vegas, USA

Page 15: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

6 1. Introduction

Paper VI

Design and Evaluation of Load Control in Web Server SystemsAnders Robertsson, Bjorn Wittenmark, Maria Kihl and Mikael AnderssonInvited paper, submitted to the Conference on Decision and Control (CDC),Dec. 2003, Atlantis, Bahamas

Paper VII

Admission Control Web Server Systems - Design and Experimen-tal EvaluationAnders Robertsson, Bjorn Wittenmark, Maria Kihl and Mikael AnderssonInvited paper, presented at the American Control Conference (ACC), June2004, Boston, USA

1.2 Research issues

This section gives an overview of the areas of research covered in this the-sis. Web servers play a central part, so an explanation of web servers isgiven, together with a description of the architecture of Apache [2], whichis the server used in the papers. Performance modeling of web servers isdiscussed and the general structure for an admission control mechanism ina communication system is given.

1.2.1 Web servers

The web server software offers access to documents stored on the server.Clients can browse the documents in a web server. The documents can befor example static Hypertext Markup Language (HTML) files, image files orvarious script files, such as Common Gateway Interface (CGI), Javascriptor Perl files. The communication between clients and server is based onHTTP [3]. A HTTP transaction consists of three steps: TCP connectionsetup, HTTP layer processing and network processing. The TCP connectionsetup is performed as a so called three-way handshake, where the client andthe server exchange TCP SYN, TCP SYN/ACK and TCP ACK messages.Once the connection has been established, a document request can be issuedwith a HTTP GET message to the server. The server then replies with aHTTP GET REPLY message. Finally, the TCP connection is closed bysending TCP FIN and TCP ACK messages in both directions.

There are many web servers on the market today. Four main typescan be identified; process-driven, threaded, event-driven and in-kernel webservers. Threaded and process-driven web servers are the most common,with Apache being the most popular currently. Another popular process-driven web server is Microsoft’s IIS [4], covering about 21 percent of themarket. Examples of event-driven web servers are Zeus [5] and Flash [6].

Page 16: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

1.2. Research issues 7

A description of event-driven web servers and overload control strategiesfor such servers is found in [7]. In-kernel web servers are servers that areexecuted in the operating system kernel, for example Tux [8] and khttpd [9].

Apache

Introduced in 1995 and based on the popular NCSA httpd 1.3, Apache isnow the most used web server in the world (Netcraft [10]). It is used in morethan 67 percent of all web server systems (more than 52 millions in total,July 2004). One of the reasons to its popularity is that it is free to use. Also,since the source code is free, it is possible to modify the web server. Beingthreaded (threaded or process-driven depending on the operating system, onUnix, Apache uses processes, while threads are used in Win32 environments)means that Apache maintains a pool of software threads ready to serveincoming requests. Should the number of active threads run out, more canbe created. When a request enters the web server, it is assigned one of thefree threads, that serves it throughout the requests’ lifetime. Apache putsa limit on the number of threads that are allowed to run simultaneously. Ifthat number has been reached, requests are rejected.

Modules in Apache

What makes Apache so attractive is also its architecture. The softwareis arranged in a kernel part and additional packages called modules. Thekernel is responsible for opening up sockets for incoming TCP connections,handling static files and sending back the result. Whenever something elsethan a static file is to be handled, one of the designated modules takes over.For example, if a CGI page is requested, the mod cgi module launches theCGI engine, executes the script and then returns the finished page to thekernel. Modules are convenient when new functionality should be addedto a web site, because nothing has to be changed in the kernel. A newmodule can be programmed to respond to a certain type of request. Modulescommunicate with the kernel with hooks, that are well-defined points in theexecution of a request. In Apache, every request goes through a life-cycle,that consists of a number of phases, as shown in Figure 1.2.

The phases are for example Child Initialization, Post Read Re-quest, Handlers, and Logger. When a module wishes to receive a requestit has to register a hook in the kernel, that is valid for one or more of thephases. For example, mod cgi is registered to be notified in the Handlersphase, which means that once the request has reached so far in the kernel,it is delivered to the mod cgi module. mod cgi then performs its dutiesand returns the request back to the kernel. The kernel checks whether othermodules wants to get a hold of the request in the Handlers phase before con-tinuing to the next phase (Logger). The admission control in paper III was

Page 17: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

8 1. Introduction

Config phasesStartup phases Child Initialization Post Read Req.

Quick HandlerTranslate NameMap to StorageHeader Parser

Check Access Check User ID Check Auth Type Checker

Prerun FixupsHandlersLoggerChild Exit

Fig. 1.2: The phases in the request life-cycle in Apache as of version 2.0. Theshaded phases represent the phases that occur during the startup of theweb server. Child initialization and exit phases are only called once inWin32 environments. In a process-driven environment (Unix), they arecalled for all requests.

implemented this way, by registering a hook in the Handlers phase that wascalled before any of the other content producing handlers and then lettingthe admission control module decide whether the request should be allowedto continue in the life-cycle. A more detailed description of the Apachearchitecture is found in [11] and [12].

1.2.2 Performance modeling

To be able to design an efficient overload control it is important to havea good and reasonable performance model of the web server. It also hasto be simple enough to be able to use in practise. Traditional modeling oftelecommunication systems means modeling the systems as queuing systemsfrom classical queuing theory. Queuing models are well suited for modelingweb servers. A performance model is meant to answer questions like ”Whatis the average response time at this request rate?”, ”What is the through-put?” and ”What is the rejection probability?”. The M/G/1/K processorsharing model (shown in Figure 1.3) works good for these questions.

Using the processor sharing queuing discipline models the concept ofusing simultaneously executed threads or processes served in round-robinfashion in the web server well. There are many other models that quite wellcaptures the inner-most details in web servers, for example in [13]. However,these are often complicated and explicit expressions for performance metricsare hard to obtain. Another important issue in performance modeling whenit comes to overload control is that the model must capture the performancemetrics well in the overload region of the web server. The model also has tobe validated for these high arrival rates. Several models have been presentedbut they have only been validated in the normal operating region. In this

Page 18: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

1.2. Research issues 9

Requests

Rejected

Admitted

Served

Processor sharing

Fig. 1.3: The web server model.

thesis, the models have also been validated in the overload region.

1.2.3 Admission control

Admission control mechanisms have since long been designed for telecommu-nication systems. The admission control mechanism is intended to preventthe system from becoming overloaded by rejecting visitors. Figure 1.4 showsa general structure for admission control. The structure contains three mod-ules; theGate, the Controller and theMonitor. Since continuous controlis not possible in computer systems, time is divided into control intervals. Inthe beginning of each control interval, the Controller calculates the desiredadmittance rate for the next interval based on the measurements from theMonitor. The Gate then either admits or rejects visitors depending on thecontrol signal.

The Monitor

The Monitor monitors the system through measurements on specific perfor-mance metrics. Measurements are taken each control interval. The perfor-mance metrics that are monitored differ from system to system:

CPU loadThe Monitor measures the load in the server each control interval. The goalis to keep the load to be lower than a threshold value.

Queue lengthsQueue lengths can be measured, for example TCP buffers, HTTP serverqueues, network card buffers etc. Filled buffers indicate a high load on theserver.

Response timesThe average response time is also an important metric in overload control.If the response time is too high, the server is considered overloaded.

Page 19: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

10 1. Introduction

Gate

Controller

System

Monitor

Reference value

Control signal Measurements

Requests

Rejected

Accepted Served

Fig. 1.4: An admission control mechanism.

Call count controlHere, the arrivals are counted. Only a certain amount of visitors are allowedat one time. This is the case in the original Apache overload control, wherea maximum number of threads are set.

The Controller

The Controller’s task is to decide how many visitors can be admitted intothe system, by trying to keep a certain reference value for the desired perfor-mance metrics. It compares the actual measurements to the reference valueand then reacts according to the deviation. The Controller can be designedin a variety of ways:

Static controllerThe most simple is when the Controller has a static value that never changes,for example, ”Admit 25 visitors every second.”

Step controllerThe step controller has a lower and an upper bound that it allows in themeasurements. Whenever the monitored data goes above or beneath thesebounds, the output signal to the Gate is increased or decreased with a fixedvalue per control interval.

Page 20: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

1.2. Research issues 11

On-off controllerThe on-off controller works in a similar way to the step controller, but in-stead of increasing/decreasing the admission rate, it admits all or none ofthe requests in a control interval.

PI controllerThere are several controllers that can be picked from control theory. A clas-sical one is the PI-controller that has two parts, one proportional to theerror and one that is the integral of the error.

The Gate

The Gate’s task is to admit or reject visitors based on the Controller output.Many different gates can be found in the literature, where the most commonones are:

Token bucketThe token bucket algorithm generates tokens (”admission tickets”) at a rateset by the Controller. If there are any available tokens upon the arrival of arequest, it is admitted. Each admitted request consumes one token. Shouldthere be no tokens, the incoming requests are buffered in a queue.

Leaky bucketThe leaky bucket is similar to the token bucket. Both are designed tosmoothen out bursty arrival traffic. Arriving requests enter a queue, thathas a limited size. If the buffer is full, the requests are rejected. Admittedrequests are allowed to leave the queue at a rate set by the Controller.

Dynamic windowThe dynamic window version works like in TCP, a number of requests areallowed to be inside of the system at the same time. The basic admissioncontrol offered in an unmodified Apache works like this, a fixed number ofthreads is set as an upper bound. In the Apache case, the Controller partcan be seen as an on-off controller that reports to the Gate whenever thebound has been reached.

Call gappingA call gapping gate admits a number of requests in the beginning of eachcontrol interval. Additional requests are rejected.

Percent blockingWhen percent blocking is used, a percentage of the requests are admittedeach control interval.

Page 21: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

12 1. Introduction

Content adaptation

Admission control is one way of preventing a web server from being over-loaded. Another technique is content adaption. Content adaption meansthat content-heavy pages are reduced during heavy load. For example, CGIscripts are very time-consuming for a processor, but nevertheless, modernweb sites are often written entirely in some script language. During over-load, scripted pages can be dynamically changed to static versions instead.This lowers the load on the server at the cost of lower functionality. Contentadaption is not covered in this thesis. More can be read about it in [14,15].More on different types of overload control strategies for distributed com-munication networks can be found in the survey of Kihl, [16].

1.3 Related work

Several attempts have been made to create performance models for webservers. Van der Mei et al. [13] modeled the web server as a tandem queuingnetwork. The model was used to predict web server performance metrics.Wells et al. [17] have made a performance analysis of web servers using col-ored Petri nets. Their model is divided into three layers, where each layermodels a certain aspect of the system. Dilley et al. [18] use layered queu-ing models in their performance studies. Cherkasova and Phaal [19] use amodel that is similar to the one presented in paper I in this thesis but withdeterministic service times instead. In their work they use a session-basedworkload with different classes of work. Beckers et al. [20] proposed a gener-alized processor sharing performance model for Internet access lines. Theyestablished simple relations between access line capacity and the utilizationof the access line and download times of Internet objects.

When it comes to admission control, several papers cover different typesof mechanisms. Few papers have investigated admission control mechanismsfor server systems with control theoretic models though. Abdelzaher [21,22]modeled the web server as a static gain to find optimal controller parametersfor a PI-controller. A scheduling algorithm for an Apache web server wasdesigned using system identification methods and linear control theory byLu et al. [23]. Bhatti [24] developed a queue length control with priorities.By optimizing a reward function, a static control was found by Carlstrom[25]. An on-off load control mechanism regulating the admittance of clientsessions was developed by Cherkasova and Phaal [19]. Voigt [26] proposeda control mechanism that combines load control for the CPU with a queuelength control for the network interface. Bhoj [27] used a PI-controller inan admission control mechanism for a web server. However, no analysisis presented on how to design the controller parameters. Papers analyzingqueueing systems with control theoretic methods usually describe the systemwith linear deterministic models. Stidham Jr [28] argues that deterministic

Page 22: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

1.4. Further work 13

models cannot be used when analyzing queueing systems.

1.4 Further work

The next step in my research will be to investigate information systemswhere high demands are put on availability and stability. The work will bepart of a new project dealing with building robust systems during crises.Funded by the Swedish Emergency Management Agency, the project willfocus on designing control mechanisms that allow the site to function to someextent by reducing content, rejecting customers or through a combinationof both.

Page 23: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

14 1. Introduction

Page 24: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

BIBLIOGRAPHY

[1] “Statistics sweden,” http://www.scb.se.

[2] “Apache web server,” http://www.apache.org.

[3] W. Stallings, Data & Computer Communications. Prentice Hall, 2000,sixth Edition.

[4] “Microsoft internet information services,” http://www.microsoft.com/WindowsServer2003/iis/default.mspx.

[5] “Zeus web server,” http://www.zeus.com.

[6] “Flash web server,” http://www.cs.princeton.edu/∼vivek/flash/.

[7] T. Voigt, “Overload behaviour and protection of event-driven webservers,” in In proceedings of the International Workshop on Web En-gineering, May 2002, pisa, Italy.

[8] “Tux reference manual,” http://www.redhat.com/docs/manuals/tux/TUX-2.1-Manual/.

[9] “khttpd web server,” http://www.fenrus.demon.nl/.

[10] “Netcraft,” http://www.netcraft.com.

[11] “Apache developer documentation,” http://httpd.apache.org/docs-2.0/developer/.

[12] B. Laurie and P. Laurie, Apache, The Definitive Guide. O’Reilly, 2003.

[13] R. D. V. D. Mei, R. Hariharan, and P. K. Reeser, “Web server per-formance modeling,” Telecommunication Systems, vol. 16, no. 3,4, pp.361–378, 2001.

[14] T. Abdelzaher and N. Bhatti, “Web content adaptation to improveserver overload behavior,” Computer Networks, vol. 31, no. 11, 1999.

[15] L. C.-S. R. Mohan, J.R. Smith, “Adapting multimedia internet contentfor universal access,” IEEE Transactions on Multimedia, vol. 1, no. 1,pp. 104–114, 1999.

Page 25: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

16 Bibliography

[16] M. Kihl, “Overload control strategies for distributed communicationnetworks,” Department of Communication Systems, Lund Institute ofTechnology, Tech. Rep. 131, 2002, ph.D. Thesis.

[17] L. Wells, S. Christensen, L. M. Kristensen, and K. H. Mortensen, “Sim-ulation based performance analysis of web servers,” in Proceedings ofthe 9th International Workshop on Petri Nets and Performance Models(PNPM 2001). IEEE Computer Society, 2001, pp. 59–68.

[18] J. Dilley, R. Friedrich, T. Jin, and J. Rolia, “Web server perfor-mance measurement and modeling techniques,” Performance Evalu-ation, vol. 33, pp. 5–26, 1998.

[19] L. Cherkasova and P. Phaal, “Session-based admission control: A mech-anism for peak load management of commercial web sites,” IEEETransactions on computers, vol. 51, no. 6, pp. 669–685, June 2002.

[20] J. Beckers, I.Hendrawan, R.E.Kooij, and R. van der Mei, “Generalizedprocessor sharing performance model for internet access lines,” in 9thIFIP Conference on Performance Modelling and Evaluation of ATMand IP Networks, 2001, budapest.

[21] T. Abdelzaher and C. Lu, “Modeling and performance control of inter-net servers,” in Proceedings of the 39th IEEE Conference on Decisionand Control, 2000, pp. 2234–2239.

[22] K. S. T.F. Abdelzaher and N. Bhatti, “Performance guarantees for webserver end-systems: a control theoretic approach,” IEEE Transactionson Parallel and Distributed Systems, vol. 13, no. 1, pp. 80–96, January2002.

[23] J. S. C. Lu, T.F. Abdelzaher and S. So, “A feedback control approachfor guaranteeing relative delays in web servers,” in Proceedings of the7th IEEE Real-Time Technology and Applications Symposium, 2001,pp. 51–62.

[24] N. Bhatti and R. Friedrich, “Web server support for tiered services,”IEEE Network, pp. 64–71, Sept/Oct 1999.

[25] R. R. J. Carlstrom, “Application-aware admission control and schedul-ing in web servers,” in Proc. Infocom, 2002.

[26] P. G. T. Voigt, “Adaptive resource-based web server admission control,”in Proc. 7th International Symposium on Computers and Communica-tions, 2002.

[27] S. R. P. Bhoj and S. Singhal, “Web2k: Bringing qos to web servers,”HP Labs Technical report, HPL-2000-61, 2000.

Page 26: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

Bibliography 17

[28] S. S. Jr., “Optimal control of admission to a queueing system,” IEEETransactions on Automatic Control, vol. 30, no. 8, pp. 705–713, August1985.

Page 27: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

18 Bibliography

Page 28: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

2. PAPER I

Web Server Performance Modeling Using an M/G/1/K*PSQueue

Jianhua Cao, Mikael Andersson, Christian Nyberg and Maria KihlDepartment of Communication Systems, Lund Institute of Technology

Box 118, SE-221 00 Lund, SwedenEmail: {jcao, mike, cn, maria}@telecom.lth.se

Abstract

Performance modelling is an important topic in capacity planning and over-load control for web servers. We present an M/G/1/K*PS queueing modelof a web server. The arrival process of HTTP requests is assumed to bePoissonian and the service discipline is processor sharing. The total numberof requests that can be processed at one time is limited to K. We obtainclosed form expressions for web server performance metrics such as averageresponse time, throughput and blocking probability. Average service timeand maximum number of requests being served are model parameters. Themodel parameters are estimated by maximizing the log-likelihood functionof the measured average response time. Compared to other models, ourmodel is conceptually simple and it is easy to estimate model parameters.The model has been validated through measurements in our lab. The perfor-mance metrics predicted by the model fit well to the experimental outcome.

Page 29: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

20 2. Paper I

2.1 Introduction

Performance modelling is an important part of the research area of webservers. Without a correct model of a web server it is difficult to give anaccurate prediction of performance metrics. This is the basis of web servercapacity planning, where models are used to predict performance in differentsettings [1, 2].

Today web sites can receive millions of hits per day and as a resultweb servers may become overloaded, i.e. the arrival rate exceeds the servercapacity. To cope with this, overload control can be used, which meansthat some requests are allowed to be served by the web server and some arerejected. In this way the web server can achieve reasonable service timesfor the accepted requests. In overload control investigations for web servers,performance models predict improvements when using a certain overloadcontrol strategy [3, 4]. Overload control is a research area of its own, but itis still depending on performance models. It is therefore important to havea model that is valid also in the overloaded work region.

Several attempts have been made to create performance models for webservers. Van der Mei et al. [5] have modeled the web server as a tandemqueuing network. The model was used to predict web server performancemetrics and was validated through measurements and simulations. Wells etal. [6] have made a performance analysis of web servers using colored Petrinets. Their model is divided into three layers, where each layer models acertain aspect of the system. The model has several parameters, some ofwhich are known. Unknown parameters are determined by e.g. simulations.Dilley et al. [7] use layered queuing models in their performance studies.Cherkasova and Phaal [8] use a model that is similar to the one presented inthis paper, but with deterministic service times instead. In their work theyuse a session-based workload with different classes of work. Beckers et al.[9] proposed generalized processor sharing performance models for Internetaccess lines. The models are used to describe the flow-level characteristics ofthe traffic carried by Internet access line. They established simple relationsbetween the access line capacity and the utilization of the access line anddownload times of Internet objects.

However, several of the previous models are complicated. It lacks asimple model that is still valid in the overloaded work region. A simplemodel is also able to give accurate predictions of web server performance,but it renders a smaller parameter space compared to a complicated one,i.e. fewer parameters to estimate. Also, in a more complicated model someparameters can be difficult to estimate.

A model like the M/M/1/K or M/D/1/K with a First-Come-First-Served(FCFS) service discipline can predict web server performance quite well.But conceptually it is difficult to assume that the service time distributionis exponential or deterministic and that the service discipline is FCFS.

Page 30: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

2.2. Preliminaries 21

In this paper we describe a web server model that consists of a processorsharing node with a queue attached to it. The total number of jobs in thesystem is limited. The arrival process to the server is assumed to be Poisso-nian, whereas the service time distribution is arbitrary. A system like thisis called an M/G/1/K system with processor sharing. The average servicetime and the maximum number of jobs are model parameters that can bedetermined by a maximum likelihood estimation. We have derived closedform expressions for web server performance metrics such as throughput,average response time and blocking probability. Compared to others, ourmodel is simple but accurate enough when predicting performance.

We also investigate a slightly modified version of the model, where thearrival traffic is not assumed to be the Poisson process. Instead we let a two-state Markov Modulated Poisson Process (MMPP). MMPP’s are commonlyused to represent bursty arrival traffic to communication systems, such asweb servers (Scott et al. [10]). By simulating the system, we were able toobtain the web server performance metrics mentioned above.

Our validation environment consists of a server and two computers repre-senting the clients connected through a switch. The measurements validatethe model. Results show that the model can predict both lighter loaded andoverloaded region performance metrics.

The rest of the paper is organized as follows: The next section givesan overview of how a web server works. It also defines what an M/G/1/Ksystem with processor sharing is. In section 2.3 we describe our new webserver model and derive expressions for performance metrics of a web server.We explain maximum likelihood estimations of our model parameters inSection 2.4. Section 2.5 shows how we have validated the model throughexperiments and section 2.6 shows the results and gives a discussion on theresults. The last section gives a conclusion of the work.

2.2 Preliminaries

This section describes how web servers work and gives a background on thetheory of an M/G/1/K queue with processor sharing.

2.2.1 Web servers

A web server contains software that offers access to documents stored on theserver. Clients can browse the documents in a web browser. The documentscan be for example static Hypertext Markup Language (HTML) files, imagefiles or various script files, such as Common Gateway Interface (CGI), Java-script or Perl files. The communication between clients and server is basedon HTTP [11].

A HTTP transaction consists of three steps: TCP connection setup,HTTP layer processing and network processing. The TCP connection setup

Page 31: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

22 2. Paper I

is performed as a so called three-way handshake, where the client and theserver exchange TCP SYN, TCP SYN/ACK and TCP ACK messages. Oncethe connection has been established, a document request can be issued witha HTTP GET message to the server. The server then replies with a HTTPGET REPLY message. Finally, the TCP connection is closed by sendingTCP FIN and TCP ACK messages in both directions.

Apache [12], which is a well-known web server and widely used, is multi-threaded. This means that a request is handled by its own thread or processthroughout the life cycle of the request. Other types of web servers e.g.event-driven ones also exist [13]. However, in this paper we consider onlythe Apache web server. Apache also puts a limit on the number of processesallowed at one time in the server.

2.2.2 M/G/1/K*PS queue

Consider an M/G/1/K queue with processor sharing discipline. The arrivalof jobs is according to a Poisson process with rate λ. The service timerequirements have a general distribution with mean x. An arrival will beblocked if the total number of jobs in the system has reached a predeterminedvalue K. A job in the queue receives a small quantum of service and is thensuspended until every other job has received an identical quantum of servicein a round-robin fashion. When a job has received the amount of servicerequired, it leaves the queue. Such a system can also be viewed as a queueingnetwork with one node [14].

The probability mass function (pmf) of the total number of jobs in thesystem has the following expression,

P [N = n] =(1− ρ)ρn

(1− ρK+1), (2.1)

where ρ is the offered traffic and is equal to λx. We note that the M/M/1/Kqueue has the same pmf [15, 16]. However in M/M/1/K queue, the servicetime distribution must be exponential and service discipline must be FCFS.

2.3 Web Server Model

We model the web server using an M/G/1/K queue with processor sharingas Figure 2.1 shows. The requests arrive according to a Poisson process withrate λ. The average service requirement of each request is x. The servicecan handle at most K requests at a time. A request will be blocked if thenumber has been reached. The probability of blocking is denoted as Pb.Therefore the rate of blocked requests is given by λPb.

From (2.1) we can derive the following three performance metrics, aver-age response time, throughput and blocking probability.

Page 32: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

2.3. Web Server Model 23

λPb

λ

x

K

Fig. 2.1: An M/G/1/K-PS model of web servers

The blocking probability Pb is equal to the probability that there are Kjobs in the system, i.e. the system is full,

Pb = P [N = K] =(1− ρ)ρK

(1− ρK+1). (2.2)

where ρ = λx.The throughput H is the rate of completed requests. When web server

reaches equilibrium, H is equal to the rate of accepted requests,

H = λ(1− Pb). (2.3)

The average response time T is the expected sojourn time of a job.Following the Little’s law, we have that

T =N

H=

ρK+1(Kρ−K − 1) + ρ

λ(1− ρK)(1− ρ)(2.4)

2.3.1 Bursty Arrival Traffic

When it comes to modeling bursty arrival traffic, we use a different arrivalprocess. Let the requests arrive according to a two-state Markov ModulatedPoisson Process (MMPP) with parameters λ1, λ2, r1, r2. An MMPP is adoubly stochastic Poisson process where the rate process is determined by acontinuous-time Markov chain. A two-state MMPP (also known as MMPP-2) means that the Markov chain consists of two different states, S1 and S2.The Markov chain changes state from S1 to S2 with rate r1, and transitsback with rate r2. When the MMPP is in state S1, the arrival process is aPoisson process with rate λ1, and when the MMPP is in state S2, rate λ2

is used, according to Figure 2.2. The mean rate λ and the variance v in atwo-state MMPP are given as follows, see e.g. Heffes [17]:

λ =λ1r2 + λ2r1

r1 + r2(2.5)

and

v =r1r2(λ1 − λ2)2

(r1 + r2)2(2.6)

Page 33: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

24 2. Paper I

λ λ1 2

1

2r

r

1S 2S

Fig. 2.2: The MMPP state model

2.4 Parameter Estimation

There are two parameters, x and K, in our model. We assume that theaverage response time for a certain arrival rate can be estimated from mea-surements. The estimations, ˆx and K, are obtained by maximizing thelikelihood function of the observed average response time.

Let Ti be the average response time predicted from the model and Ti

be the average response time estimated from the measurements when thearrival intensity is λi, i = 1 . . . m. Since the estimated response time T is themean of samples, it is approximately a normal distributed random variablewith mean T and variance σ2

T /n when the number of samples n is very large.Hence, the model parameter pair (x,K) can be estimated by maximizing thelog-likelihood function

logm∏

i=1

1√2πσ2

i /ni

exp

(Ti − Ti

)2

2σ2i /ni

. (2.7)

Maximizing the log-likelihood function above is equivalent to minimizethe weighted sum of square errors as follows,

m∑i=1

(Ti − Ti

)2

σ2i /ni

. (2.8)

As an approximation, the estimated variance of response time, σi2, can be

used instead of σ2i .

Now, the problem of parameter estimation becomes a question of opti-mization,

(ˆx, K) = arg(x,K)

minm∑

i=1

(Ti − Ti

)2

σi2/ni

. (2.9)

Page 34: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

2.5. Experiments 25

The optimization can be solved in various ways, such as steepest decent,conjugate gradient, truncated Newton and even brute force searching. Inthis paper, we used a brute force approach. The optimum parameter isselected by examining every point of the discretized parameter space.

2.4.1 MMPP Parameters

To be able to use the MMPP in our experiments, its parameters had to bedetermined. We chose to set the mean arrival rate for the MMPP process,and then determine MMPP parameters from that value. r1 and r2 were setto 0.05 and 0.95 respectively. The low rate, λ1, was set to

λ1 = 0, 75 · λ (2.10)

Equation 2.5 then gives:

λ2 =((r1 + r2) · λ− λ1r2)

r1(2.11)

This means that λ2 is a high rate and that it can be seen as a sudden burstrate. λ2 will be used 5 % of the time according to the settings of r1 and r2.The parameters have been set this way in order to simulate bursty trafficwith random peaks in the arrival rate in both measurements and simulations.

2.5 Experiments

2.5.1 Setup

Our validation experiments used one server computer and two client com-puters connected through a 100 Mbits/s Ethernet switch. The server was aPC Pentium III 1700 MHz with 512 MB RAM. The two clients were bothPC Pentium III 700 with 256 MB RAM.

All computers used RedHat Linux 7.3 as operating system. Apache1.3.9 [12] was installed in the server. We used the default configuration,except for the maximum number of connections. The client computers wereinstalled with a HTTP load generator, which was a modified version of S-Client [18]. The S-Client is able to generate high request rates even withfew client computers by aborting TCP connection attempts that take toolong time. The original version of S-Client uses deterministic waiting timebetween requests. We used exponential distributed waiting time instead.This makes the arrival process Poissonian [19].

The clients were programmed to request dynamically generated HTMLfiles from the server. The CGI script was written in Perl. It generates afix number, Nr, of random numbers, adds them together and returns thesummation. By varying Nr, we can simulate different loads on the webserver.

Page 35: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

26 2. Paper I

Tab. 2.1: The configuration of four experimentsNr = 1000 Nr = 2000

Nconn,max = 75 A1 B1Nconn,max = 150 A2 B2

Tab. 2.2: Estimated Parameters of the ModelA1 A2 B1 B2

ˆx 0.00708 0.00708 0.00866 0.00834K 208 286 215 298

The system was also implemented as a discrete event simulation programin Java to be able to compare the results from the measurements with burstyarrival traffic.

2.5.2 Performance metrics

We were interested in the following performance metrics: average responsetime, throughput, and blocking probability. The throughput was estimatedby taking the ratio between the total number of successful replies and thetime span of measurement. The response time is the time difference betweenwhen a request is sent and when a successful reply is fully received. Theaverage response time was calculated as the sample mean of the responsetimes after removing transients. An HTTP request sent by a client computerwill be blocked either when the maximum number of connections, denotedas Nconn,max, in the server has been reached or the TCP connection is timedout at the client computer. A TCP connection will be timed out by a clientcomputer when it takes too long time for the server to return an ACK of theTCP-SYN. The blocking probability was then estimated as the ratio betweenthe number of blocking events and the number of connection attempts in ameasurement period.

For both Poisson and MMPP traffic, we carried out the experiments infour cases by varying Nr and Nconn,max. Table 2.1 shows the configurationsof four experiments: A1, A2, B1 and B2. In each case, the performancemetrics were collected while the arrival rate (in number of requests/second)changed from 20 to 300 with step size 20.

The performance metrics can be seen in figures 2.3, 2.4, 2.5 and 2.6.The results from the different measurements are compared in the figures tomathematical expressions and simulations respectively.

Page 36: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

2.5. Experiments 27

0

0.5

1

1.5

2

2.5

3

0 50 100 150 200 250 300

mill

isec

onds

requests/second

(a)

modelmeasurement

0

0.5

1

1.5

2

2.5

3

0 50 100 150 200 250 300m

illis

econ

ds

requests/second

(b)

modelmeasurement

0

50

100

150

200

0 50 100 150 200 250 300

requ

ests

/sec

ond

requests/second

(c)

modelmeasurement

0

50

100

150

200

0 50 100 150 200 250 300

requ

ests

/sec

ond

requests/second

(d)

modelmeasurement

0

0.2

0.4

0.6

0.8

1

0 50 100 150 200 250 300

requests/second

(e)

modelmeasurement

0

0.2

0.4

0.6

0.8

1

0 50 100 150 200 250 300

requests/second

(f)

modelmeasurement

Fig. 2.3: Poissonian traffic: (a) Average response time of A1. (b) Average responsetime of A2. (c) Throughput of A1. (d) Throughput of A2. (e) Blockingprobability of A1. (f) Blocking probability of A2.

Page 37: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

28 2. Paper I

0

0.5

1

1.5

2

2.5

3

0 50 100 150 200 250 300

mill

isec

onds

requests/second

(a)

modelmeasurement

0

0.5

1

1.5

2

2.5

3

0 50 100 150 200 250 300

mill

isec

onds

requests/second

(b)

modelmeasurement

0

50

100

150

200

0 50 100 150 200 250 300

requ

ests

/sec

ond

requests/second

(c)

modelmeasurement

0

50

100

150

200

0 50 100 150 200 250 300

requ

ests

/sec

ond

requests/second

(d)

modelmeasurement

0

0.2

0.4

0.6

0.8

1

0 50 100 150 200 250 300

requests/second

(e)

modelmeasurement

0

0.2

0.4

0.6

0.8

1

0 50 100 150 200 250 300

requests/second

(f)

modelmeasurement

Fig. 2.4: Poissonian traffic: (a) Average response time of B1. (b) Average responsetime of B2. (c) Throughput of B1. (d) Throughput of B2. (e) Blockingprobability of B1. (f) Blocking probability of B2.

Page 38: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

2.5. Experiments 29

0

500

1000

1500

2000

2500

0 50 100 150 200 250 300 350

mill

isec

onds

requests/second

(a)

measurementsimulation

0

500

1000

1500

2000

2500

0 50 100 150 200 250 300 350

mill

isec

onds

requests/second

(b)

measurementsimulation

0

50

100

150

200

250

300

0 50 100 150 200 250 300 350

depa

rtur

es/s

econ

d

requests/second

(c)

measurementsimulation

0

50

100

150

200

250

300

0 50 100 150 200 250 300 350

depa

rtur

es/s

econ

d

requests/second

(d)

measurementsimulation

0

10

20

30

40

50

60

0 50 100 150 200 250 300 350

per

cent

age(

%)

requests/second

(e)

measurementsimulation

0

10

20

30

40

50

60

0 50 100 150 200 250 300

per

cent

age(

%)

requests/second

(f)

measurementsimulation

Fig. 2.5: MMPP traffic: (a) Average response time of A1. (b) Average responsetime of A2. (c) Throughput of A1. (d) Throughput of A2. (e) Blockingprobability of A1. (f) Blocking probability of A2.

Page 39: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

30 2. Paper I

0

500

1000

1500

2000

2500

0 50 100 150 200 250 300 350

mill

isec

onds

requests/second

(a)

measurementsimulation

0

500

1000

1500

2000

2500

0 50 100 150 200 250 300 350

mill

isec

onds

requests/second

(b)

measurementsimulation

0

50

100

150

200

250

300

0 50 100 150 200 250 300 350

depa

rtur

es/s

econ

d

requests/second

(c)

measurementsimulation

0

50

100

150

200

250

300

0 50 100 150 200 250 300 350

depa

rtur

es/s

econ

d

requests/second

(d)

measurementsimulation

0

10

20

30

40

50

60

0 50 100 150 200 250 300 350

per

cent

age(

%)

requests/second

(e)

measurementsimulation

0

10

20

30

40

50

60

0 50 100 150 200 250 300

per

cent

age(

%)

requests/second

(f)

measurementsimulation

Fig. 2.6: MMPP traffic: (a) Average response time of B1. (b) Average responsetime of B2. (c) Throughput of B1. (d) Throughput of B2. (e) Blockingprobability of B1. (f) Blocking probability of B2.

Page 40: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

2.6. Results and Discussion 31

2.6 Results and Discussion

The method developed in section 2.4 was used to estimate the parametersfrom the measurements. The results are presented in Table 2.2.

Using the estimated parameters we can compare measured and predictedweb server performance. Figure 2.3 and 2.4 shows average response time,throughput and blocking probability curves. To facilitate the discussion, wedivide four experiments into two groups. The first group called α containsexperiments A1 and A2 and the second group β contains B1 and B2.

We notice the following relations in Table 2.2

ˆxA1 = ˆxA2 < ˆxB1 ≈ ˆxB2.

Recall that the same CGI script is used for experiments in the same group.The script for group β is more computational intensive than the one forgroup α. The script for group α adds 1000 numbers but the script for groupβ adds 2000 numbers. However xB1(or xB2) is not twice as large as xA1(orxA2). This can be understood as that the time spent on the summations isonly a fraction of the sojourn time of a job in the system. Other parts of xinclude the connection setup time, the file transferring time, etc., which canbe considered as constants in all experiments.

We find that the estimated K in all experiments is much greater thanNconn,max which is a parameter in the configuration of the Apache. Onemay expect that K ≈ Nconn,max. However, recognize that in our model Kis the limit of the total number of jobs in the system. The jobs can be inthe HTTP processing phase as well as in the TCP connection setup phasein which the Apache has no control. On the other hand, Nconn,max is themaximum number of jobs handled by the Apache which runs on top of theTCP layer. Therefore K should be greater than Nconn,max.

One can reasonably predict that within the same experiment group, αor β, the difference of K should be approximately equal to the difference ofNconn,max which is 75. In our experiments, KA2−KA1 = 78, KB2−KB1 = 83.There is a reason why the differences are close but greater than 75. WhenNconn,max is increased, the average load of CPU will increase besides theincrease of the total number of jobs in the system. As a result, the TCPlistening queue will be visited less frequently by the operating system. Thisimplies that the TCP listening queue size will increase. So the increase ofK will be close but greater than the increase of Nconn,max. This explanationis also supported by the fact that the increase of K in the experiment groupβ is larger than in group α. As we mentioned early, the CGI script of groupβ is more CPU demanding than that of group α.

Now we turn our attention from the estimated parameters to the pre-dicted performance metrics. The measured and the predicted average re-sponse time in all four experiments fit well. This should be of a little sur-

Page 41: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

32 2. Paper I

prise because the measured average response times at various arrival ratesare used to estimate the parameters of the model.

The predicted blocking probability is slightly less than the measurementsin all four experiments. According to (2.3), the error in the prediction of Pb

will also affect the prediction of throughput. Such divergence is expectedsince we only use the measured average response time in our parameterestimation.

2.7 Conclusions

We have presented an M/G/1/K*PS queueing model of a web server. Weobtained closed form expressions for web server performance metrics such asaverage response time, throughput and blocking probability. Model param-eters were estimated from the measured average response time. A modifiedarrival traffic model was also investigated. We validated the two versionsof the model through four sets of experiments. The performance metricspredicted by the model fitted well to the experimental outcome.

Future work will include more validation under different types of loadssuch as network intensive and hard-disk intensive cases. It would also beinteresting to see how well the model fits web servers that use an event-drivenapproach instead of multi-threading.

2.8 Acknowledgments

We would like to thank Thiemo Voigt for sharing his code with us and NiklasWidell for useful and interesting discussions. The work has been supportedby The Swedish Research Council under contract no. 621-2001-3053.

Page 42: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

BIBLIOGRAPHY

[1] D. A. Menasce and V. A. F. Almeida, Capacity Planning for Web Ser-vices. Prentice Hall, 2002.

[2] J. Hu, S. Mungee, and D. Schmidt, “Principles for developing and mea-suring high-performance web servers over ATM,” in Proceedings of IN-FOCOM ’98, March/April 1998, 1998.

[3] N. Widell, “Performance of distributed information systems,” Depart-ment of Communication Systems, Lund Institute of Technology, Tech.Rep. 144, 2002, lic. Thesis.

[4] J. Cao and C. Nyberg, “On overload control through queue length forweb servers,” in 16th Nordic Teletraffic Seminar, 2002, espoo, Finland.

[5] R. D. V. D. Mei, R. Hariharan, and P. K. Reeser, “Web server per-formance modeling,” Telecommunication Systems, vol. 16, no. 3,4, pp.361–378, 2001.

[6] L. Wells, S. Christensen, L. M. Kristensen, and K. H. Mortensen, “Sim-ulation based performance analysis of web servers,” in Proceedings ofthe 9th International Workshop on Petri Nets and Performance Models(PNPM 2001). IEEE Computer Society, 2001, pp. 59–68.

[7] J. Dilley, R. Friedrich, T. Jin, and J. Rolia, “Web server perfor-mance measurement and modeling techniques,” Performance Evalu-ation, vol. 33, pp. 5–26, 1998.

[8] L. Cherkasova and P. Phaal, “Session-based admission control: A mech-anism for peak load management of commercial web sites,” IEEETransactions on computers, vol. 51, no. 6, pp. 669–685, June 2002.

[9] J. Beckers, I.Hendrawan, R.E.Kooij, and R. van der Mei, “Generalizedprocessor sharing performance model for internet access lines,” in 9thIFIP Conference on Performance Modelling and Evaluation of ATMand IP Networks, 2001, budapest.

[10] P. S. S.L. Scott, “The markov modulated poisson process and markvopoisson cascade with applications to web traffic modelling”,” BayesianStatistics, 2003.

Page 43: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

34 Bibliography

[11] W. Stallings, Data & Computer Communications. Prentice Hall, 2000,sixth Edition.

[12] “Apache web server,” http://www.apache.org.

[13] T. Voigt, “Overload behaviour and protection of event-driven webservers,” in In proceedings of the International Workshop on Web En-gineering, May 2002, pisa, Italy.

[14] P. J. B. King, Computer and Communication Systems PerformanceModelling. Prentice Hall, 1990.

[15] L. Kleinrock, Queueing Systems, Volume 1: Theory. John Wiley &Sons, 1975.

[16] S. Lam, “Queueing networks with population size constraints,” IBMJournal of Research and Development, vol. 21, no. 4, pp. 370–378, July1977.

[17] H. Heffes, “A class of data traffic processes - covariance function char-acterization and related queuing results,” The Bell System TechnicalJournal, vol. 59, no. 6, 1980.

[18] G. Banga and P. Druschel, “Measuring the capacity of a web server,” inUSENIX Symposium on Internet Technologies and Systems, December1997, pp. 61–71.

[19] R. Jain, The Art of Computer Systems Performance Analysis. JohnWiley & Sons, 1991.

Page 44: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

3. PAPER II

Modeling and Design of Admission Control Mechanisms forWeb Servers using Non-linear Control Theory

Mikael Andersson, Maria Kihl, Anders Robertsson, Bjorn WittenmarkDepartment of Communication Systems, Lund Institute of Technology

Email: {mike, maria}@telecom.lth.seDepartment of Automatic Control, Lund Institute of Technology

Email: {andersro,bjorn}@control.lth.seBox 118, SE-221 00 Lund, Sweden

Abstract

Web sites are exposed to high rates of incoming requests. Since websites are sensitive to overload, admission control mechanisms are often im-plemented. The purpose of such a mechanism is to prevent requests from en-tering the web server during high loads. This paper presents how admissioncontrol mechanisms can be designed and implemented with a combination ofqueueing theory and control theory. Since web servers behave non-linear andstochastic, queueing theory can be used for web server modeling. However,there are no mathematical tools in queueing theory to use when designingadmission control mechanisms. Instead, control theory contains the neededmathematical tools. By analyzing queueing systems with control theoreticmethods, good admission control mechanisms can be designed for web serversystems. In this paper we model an Apache web server as a GI/G/1-system.Then, we use control theory to design a PI-controller, commonly used in au-tomatic control, for the web server. In the paper we describe the design ofthe controller and also how it can be implemented in a real system. Thecontroller has been implemented and tested together with the Apache webserver. The server was placed in a laboratory network together with a trafficgenerator which was used to represent client requests. Measurements in thelaboratory setup show how robust the implemented controller is, and howit correspond to the results from the theoretical analysis.

Page 45: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

36 3. Paper II

3.1 Introduction

Web sites on the Internet can be seen as server systems with one or more webservers processing incoming requests at a certain rate. The web servers havea waiting-queue where requests are queued while waiting for service. There-fore, a web server can be modeled as a queueing system including a serverwith finite or infinite queues. One problem with web servers is that theyare sensitive to overload. The servers may become overloaded during tem-porary traffic peaks when more requests arrive than the server is designedfor. Because overload usually occur rather seldom, it is not economicalto overprovision the servers for these traffic peaks, instead admission con-trol mechanisms can be implemented in the servers. The admission controlmechanism rejects some requests whenever the arriving traffic is too highand thereby maintains an acceptable load in the system. The mechanismcan either be static or dynamic. A static mechanism admits a predefinedrate of requests whereas a dynamic mechanism contains a controller that,with periodic time intervals, calculates a new admission rate depending onsome control objective. The controller bases its decision from measurementsof some control variable, for example the queue length, processor occupancy,or processing delays. The control objective is usually that the value of thecontrol variable should be kept at a reference value. The choice of con-trol variable is an important issue when developing an admission controlscheme. First, the control variables must be easy to measure. Second, thecontrol variable must in some way relate to the QoS demands that the usersmay have on the system. Traditionally, server utilization or queue lengthshave been the variables mostly used in admission control schemes. For webservers, the main objective of the control scheme is to protect it from over-load. As long as the average server utilization or queue length is below acertain level, the response times are low.

One well-known controller in automatic control is the PID-controller,which enables a stable control for many types of systems (see, for exampleAstrom [1]). The PID-controller uses three actions: one proportional, oneintegrating, and one derivative. In order to get the system to behave well itis necessary to decide proper control parameters. Therefore, before design-ing the PID-controller, the system must be analysed so that its dynamicsduring overload are known. This means that the system must be describedwith a control theoretic method. If the model is linear, it is easily anal-ysed with linear control theoretic methods. However, a queueing system isboth non-linear and stochastic. The main problem is that nonlinear modelsare much harder to analyse with control theoretic methods. Very few papershave investigated admission control mechanisms for server systems with con-trol theoretic methods. Abdelzaher [2,3] modelled the web server as a staticgain to find optimal controller parameters for a PI-controller. A schedulingalgorithm for an Apache web server was designed using system identifica-

Page 46: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

3.2. Admission Control Mechanism 37

tion methods and linear control theory by Lu et al [4]. Bhatti [5] developeda queue length control with priorities. By optimizing a reward function, astatic control was found by Carlstrom [6]. An on-off load control mechanismregulating the admittance of client sessions was developed by Cherkasova [7].Voigt [8] proposed a control mechanism that combines a load control for theCPU with a queue length control for the network interface. Bhoj [9] used aPI-controller in an admission control mechanism for a web server. However,no analysis is presented on how to design the controller parameters. Papersanalyzing queueing systems with control theoretic methods usually describethe system with linear deterministic models. Stidham Jr [10]. argues thatdeterministic models cannot be used when analyzing queueing systems. Un-til now, no papers have designed admission control mechanisms for serversystems using non-linear control theory. In this paper we implement an ad-mission control mechanism for the Apache [11] web server. Measurementsin the laboratory setup show how robust the implemented controller is, andthat it corresponds to the results from the theoretical analysis. Section 3.2describes a general admission control mechanism. Section 3.3 shows howthis can be applied on a web server. In section 3.4, we describe a non-linearcontrol theoretic model of an admission control mechanism for a web server.We describe the controller design in section 3.5, where examples of good andbad parameters are given. The control theoretic model is used to design andimplement an admission control mechanism for the Apache web server. Themeasurements are shown in section 3.6, and section 3.7 concludes the work.

3.2 Admission Control Mechanism

A good admission control mechanism improves the performance of a serversystem during overload by only admitting a certain amount of requests ata time into the system. Admission control mechanisms for server systemsusually have the same structure and are based on the same type of rejectionmechanisms.

Figure 3.1 shows a general admission control mechanism that consistsof three parts: a gate, a controller, and a monitor. The monitor measuresa so called control variable, x. Using the control variable, the controllerdecides the rate, u, at which requests can be admitted to the system. Theobjective is to keep the value of the control variable as close as possibleto a reference value, xref . The gate rejects those requests that cannot beadmitted. The requests that are admitted proceed to the rest of the system.Since the admittance rate may never be larger than the arrival rate, λ, theactual admittance rate is u=min[u, λ] requests per second. A survey ofdifferent admission control mechanisms for communication systems is givenby Kihl [12].

Page 47: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

38 3. Paper II

Gate

Controller

System

Monitor

x

u

λ u σ

ref

x

Fig. 3.1: An admission control mechanism

3.2.1 Gate

Several gates have been proposed in the literature. One example is Percentblocking. In this mechanism, a certain fraction of the requests is admitted.Another example is Token bucket. Here, tokens are generated at a certainrate. An arriving request is admitted if there is a token available. Thegate can also use a Dynamic window mechanism, that sets an upper limitto the number of requests that may be processed or waiting in the systemthe same time. The window size may be increased or decreased if the trafficconditions change.

3.2.2 Controllers

There are a variety of controllers to choose from when designing an admis-sion control mechanism. Some of the most common controllers are the Staticcontroller, the Step controller, and the PID-controller.

Static controller. A static controller uses a fixed acceptance rate, ufix,that is set so that the average value of the control variable should be equalto the reference value. In this case, ufix is given by

ufix =ρref

x

Step controller. The objective of the control law is to keep the controlvariable between an upper and a lower level. If the value of the variable ishigher than the upper level, the admittance rate is decreased linearly. If thevalue is below the lower level, the admittance rate is increased. This meansthat the control law is as follows:

Page 48: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

3.3. Investigated System 39

u(t+ 1) ={

u(t)− s y(t) > yref + εu(t) + s y(t) > yref − ε

where the value of s decides how much the rate is increased/decreased andthe value of ε decides how much the control variable may deviate from thereference value.

PID-controller. The PID-controller uses three actions: one proportional,one integrating, and one derivative. The control law in continuous time isas follows:

u(t) = K · e(t) + K

Ti·∫ t

0e(v)dv +K · Td · d

dt· e(t)

where e(t) is the error between the control variable and the reference value,that is e(t) = yref − y(t). The gain K, the integral time Ti, and thederivative time Td are the controller parameters that are set so that thecontrolled system behaves as desired. A large value of K makes the con-troller faster, but weakens the stability. The integrating action eliminatesstationary errors, but may also make the system less stable. The derivativeaction improves the stability, however, in a system with a bursty arrivalprocess the derivative action may cause problems. Therefore, the derivativeaction is usually either deleted (i.e. Td = 0) or low pass filtered to removethe high frequencies.

3.3 Investigated System

The system we have investigated in this work, is a web server with an admis-sion control mechanism. The web server is Apache, described below. Theweb server is connected to the admission control according to Figure 3.2,where the admission control runs as a stand-alone application, independentof Apache. Not all admission control mechanisms in the literature are imple-mented like this. It is for example possible to have admission control withinthe kernel or within the Apache code. This architecture however, makes thesystem independent of web server.

3.3.1 Web servers

A web server like Apache, contains software that offers access to docu-ments stored on the server. Clients can browse the documents in a webbrowser. The documents can be for example static Hypertext Markup Lan-guage (HTML) files, image files or various script files, such as CommonGateway Interface (CGI), Java script or Perl files. The communicationbetween clients and server is based on HTTP [13]. A HTTP transactionconsists of three steps: TCP connection setup, HTTP layer processing and

Page 49: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

40 3. Paper II

Gate

Controller

Apache

Monitor

u Measurements

Requests

Rejected

Accepted Served

refρ

ρ

Fig. 3.2: The Apache web server with admission control

network processing. The TCP connection setup is performed through athreeway handshake, where the client and the server exchange TCP SYN,TCP SYN/ACK and TCP ACK messages. Once the connection has beenestablished, a document request can be issued with a HTTP GET messageto the server. The server then replies with a HTTP GET REPLY message.Finally, the TCP connection is closed by sending TCP FIN and TCP ACKmessages in both directions. Apache, which is a well-known web server andwidely used, is multi-threaded. This means that a request is handled by itsown thread or process throughout the life cycle of the request. Other typesof web servers e.g. event-driven ones also exist (Voigt [14]).

3.3.2 Admission control

Since continuous control is not possible in computer systems, time is dividedinto control intervals of length h seconds. At the end of interval k, that iswhen the time is kh, the controller calculates the desired admittance ratefor interval [kh, kh + h], denoted u(kh), from the measured average serverutilization during the interval, ρ(kh), and the reference value ρref . Thereare three main parts in our admission control architecture:

Gate. The Gate thread runs a loop that accepts or rejects incoming re-quests on its own TCP port. It copies the requests to Apache’s TCP socket,and then sends back the responses to the clients as the web server replies.In this paper we use the token bucket algorithm to reject those requests thatcannot be admitted. New tokens are generated at a rate of u(kh) tokens

Page 50: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

3.4. Control Theoretic Model 41

H

yu

Fig. 3.3: A system with transfer function H

per second during time interval [kh, kh + h]. If there is an available tokenupon the arrival of a request, the request consumes the token and enters theweb server. If there are no available tokens, the request is rejected. When arequest is rejected, the TCP socket to the client is closed. Rejected requestsare assumed to leave the system without retrials.

Monitor. The Monitor thread constantly samples the server utilizationevery control interval. The server utilization is calculated as one minus thefraction of time an idle process has been able to run during the last controlinterval. The idle process’ priority level is set to the lowest possible, whichmeans that it only runs whenever there is no request requiring CPU work.This way of measuring the load on the CPU results in a quantization effectin server utilization. The reason to this is that the operating system wherethe admission control mechanism runs has a certain time resolution in func-tion calls regarding process uptimes. This means that the control intervalcannot be chosen arbitrary. It has to be long enough not to be affected bythe time resolution effects, and short enough so that the controller respondsquickly.

Controller. The Controller is a PI-controller. The Controller is possible toturn on/off in order to be able to measure on an un-controlled system. TheController’s output is forwarded to the Gate thread. The Controller designis discussed more extensively in section 3.4.

3.4 Control Theoretic Model

Control theory is a powerful tool for performance analysis of computer con-trolled systems. The system must be described in terms of transfer functionsor differential (or difference) equations. A transfer function describes the re-lationship between the z-transforms (or Laplace transforms) of the input andthe output of a system, see Figure 3.3. In this case, the input to the systemis the actual admittance rate, u, whereas the output is either the serverutilization, denoted ρ, or the number of jobs in the server, here denoted x.

We use discrete-time control theoretic model of web server developed byKihl et al. [15]. We assume that the be modeled as a GI/G/1-system with anadmission control mechanism. Kihl et al. showed that the queueing modelis a good model for admission control purposes. The input to the system is

Page 51: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

42 3. Paper II

Gate

u(kh)

α kh( )

Σ

arrival departure generatorgenerator

σmax

(kh)

Gc z( ) Σ

ρre f

- x 0≥1z---

delayx(kh+h)u(kh)

Controller

Queue

minu x+σmax-------------- 1, 1

z---

Monitor

-ρ kh( )

x(kh)

Fig. 3.4: A control theoretic model of a GI/G/1-system with admission control.

the actual admittance rate, u, whereas the output is the server utilization,ρ. The model is a flow or liquid model in discrete-time. The model is anaveraging model in the sense that we are not considering the specific timingof different events, arrivals, or departures from the queue. We assume thatthe sampling period, h, is sufficiently long to guarantee that the quantizationeffects around the sampling times are small. The model is shown in Figure3.4. The system consists of an arrival generator, a departure generator, acontroller, a queue and a monitor.

There are two stochastic traffic generators in the model. The arrival gen-erator feeds the system with new requests. The number of new requests dur-ing interval kh is denoted α(kh). α(kh) is an integrated stochastic processover one sampling period with a distribution obtained from the underlyinginterarrival time distribution. If, for example, the arrival process is Poissonwith mean λ, then α(kh) is Poisson distributed with mean λh. The depar-ture generator decides the maximum number of departures during intervalkh, denoted σmax(kh). σmax(kh) is also a stochastic process with a distribu-tion given by the underlying service time distribution. If, for example, theservice times are exponentially distributed with mean 1/µ, then σmax(kh) is

Page 52: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

3.5. Controller Design 43

Poisson distributed with mean µh. It is assumed that α(kh) and σmax(kh)are independent from between sampling instants and uncorrelated to eachother. The gate is constructed as a saturation block that limits u(kh) to be

u(kh) =

0 u(kh) < 0u(kh) 0 ≤ u(kh) ≤ α(kh)α(kh) u(kh) > α(kh)

The queue is represented by its state x(kh), which corresponds to the numberof requests in the system at the end of interval kh. The difference equationfor the queue is given by

x(kh+ h) = f(x(kh) + u(kh)− σmax(kh))

where the limit function, f(w), equals zero if w < 0 and w otherwise. Thelimit function assures that x(kh + h) ≥ 0. When the limit function isdisregarded then the queue is a discrete-time integrator.

Themonitor must estimate the server utilization since this is not directlymeasurable in the model. The server utilization during interval kh, ρ(kh),is estimated as

ρ(kh) = min(u(kh) + x(kh)

σmax(kh), 1)

The objective of the controller is to minimize the difference between theserver utilization during interval kh, ρ(kh), and the reference value, ρref .The control law is given by the transfer function, Gc(z).

3.5 Controller Design

The PI-controller is commonly used in automatic control. The controlleruses two actions: one proportional, and one integrating by using the follow-ing discrete-time control law (see Astrom1 for more details):

u(kh) = Ke(kh) +k−1∑i=0

K

Tie(ih)

where e(kh) = ρref − ρ(kh). The gain, K, and the integral time, Ti, arethe controller parameters that are set so that the controlled system behavesas desired. Since the controller is discrete, the controller parameter for theintegration action, Ti, is given by Ti = Tsi/h where Tsi would be the integraltime in continuous-time. Note that the control signal, u(kh), is allowed tobecome negative. A negative control signal will be treated as a zero signalin the gate.

Design and analysis. The control law for the PI-controller expressedin z-transform is given by

Gc(z) = K(1 +1Ti

· h

z − 1)

Page 53: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

44 3. Paper II

In this paper we use a linear design method, which means that we duringthe design analysis consider a deterministic system with no active satura-tions. However, it is important to note that we can take into account thesaturations in the system during the design, since the underlying model isnon-linear. This is performed by choosing the controller parameters care-fully, since some controller parameters may cause oscillations in a systemwith saturations. This is the main difference between our work and the pre-vious published work about control theoretic analysis of queueing systems.In those papers, the underlying system models are linear and deterministic,which means that the non-linearitities and stochastic processes in the realsystems are ignored.

The linear transfer function from the desired utilization, ρref , to the(delayed) output, ρ(kh), will be

Gcl =Gc(1 +Gq)Gm

1 +Gc(1 +Gq)Gm=

(z + 1)K(TiZ − Ti + h)z3σTi + (KTi − σTiz2 +Kzh+ (−KTi +Kh))

where

Gc = K(1 + 1Ti

hz−1)

Gq = 1z−1

Gm = 1σ

1z

are the transfer functions for the controller, for the queue, and for the mon-itor, respectively. σ is the average value of σmax. The characteristic poly-nomial for the linear closed loop system will be

z · (z2 +K − 2σ

σ+

−KTi +Kh+ σTi

σTi) (3.1)

where the pole at z=0 is cancelled in the transfer function from the input(the load reference) to the desired output (the load). Assume that thedesired characteristic equation is

z(z2 + a1z + a2) = 0

The values of the controller parameters that gives this are

K = 2σ + a1σTi = h · 2 + a1

1 + a1 + a2

The controller parametersK and Ti influence the closed loop response for thesystem and need to be determined with respect to stability and robustness.

3.6 Experiments

The admission control mechanism was implemented on a real web server.We tested the system by running tests on it and collecting performance

Page 54: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

3.6. Experiments 45

metrics such as the server utilization distribution and step responses. Theadmission control mechanism was written in Java and tested on the Win-dows platform. We also compared the measurements with simulations. Thequeueing model was represented by a discrete-event simulation program im-plemented in C, and the control theoretic models were implemented withthe Matlab Simulink package. The traffic generators in the discrete-timemodel were built as Matlab programs. They generate arrivals and depar-tures according to the given statistical distributions.

3.6.1 Setup

Our measurements used one server computer and one computer represent-ing the clients connected through a 100 Mbits/ s Ethernet switch. Theserver was a PC Pentium III 1700 MHz with 512 MB RAM running Win-dows 2000 as operating system. The computer representing the clients wasa PC Pentium II 400 MHz with 256 MB RAM running RedHat Linux 7.3.Apache 2.0.45 was installed in the server. We used the default configurationof Apache. The client computer was installed with an HTTP load gener-ator, which was a modified version of S-Client [16]. The S-Client is ableto generate high request rates even with few client computers by abortingTCP connection attempts that take too long time. The original versionof S-Client uses deterministic waiting times between requests. We modi-fied the code to use Poissonian arrivals instead. The client program wasprogrammed to request dynamically generated HTML files from the server.The CGI script was written in Perl. It generates a random number of ran-dom numbers, adds them together and returns the summation. The averagerequest rate was set to 100 requests per second in all experiments exceptfor the measurements in Figure 3.5. Apache was installed on the server andset to listen to port 8080. The Gate thread listened to port 80, the normalweb server port, and then copied the admitted requests to port 8080. Theadmission control mechanism and the web server ran on the same computer.In all experiments, the control interval was set to one second.

3.6.2 Validation of the Model

We have validated that the open system, that is without control feedback, isaccurate in terms of average server utilization. The average server utilisationfor varying arrival rates are shown in Figure 3.5. For a single-server queue,the server utilization is proportional to the arrival rate, and the slope of theserver utilization curve is given by the average service time. The measure-ments in Figure 3.5 gives an estimation of the average service time in theweb server, 1/µ=0.0255.

Page 55: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

46 3. Paper II

0

20

40

60

80

100

0 5 10 15 20 25 30 35 40

Ser

ver

utili

zatio

n

requests/second

’load.dat’ us 1:2

Fig. 3.5: Average server utilization for the open system.

3.6.3 Controller parameters

Root locus arguments show that reasonable parameters give a stable closedloop system. Figure 3.6 shows the root locus diagram when Ti =2.8 and thegain K varies between [0,40].

”Good” controller parameters. By choosing {K,Ti}={20, 2.8} theroots of the characteristic polynomial in Equation 3.1 will be rather welldamped and the transients from the pole on the real axis will decay fast.This controller design can, therefore, be seen as a good design.

”Bad” controller parameters. If the controller parameters are chosenbadly, the system will not behave well. One example is {K,T i}={20, 0.1},which for the linear systems gives unstable poles placed outside the unitcircle.

3.6.4 Performance metrics

An admission control mechanism have two control objectives. First, itshould keep the control variable at a reference value, i.e. the error, e =yref − y, should be as small as possible. Second, it should react rapidly tochanges in the system, i.e. the so-called settling time should be short. There-fore, we test the mechanism in two ways. First, we show the steady-statedistribution of the control variable, by plottting the estimated distributionfunction. The distribution function is estimated from measurements during1000 seconds with the specific parameter setting. The distribution func-tion shows how well the control mechanism meets the first control objective.Second, we plot the step response during 60 seconds when starting with anempty system. The step response shows the settling time for the controlmechanism.

Page 56: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

3.6. Experiments 47

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

0.80.7

0.3

0.1π/T

0.5π/T

0.9π/T

0.9π/T

0.6

0.3π/T

0.5

0.7π/T

0.4

0.1

0.8π/T

0.9

0.2π/T

0.1π/T

0.4π/T

0.2π/T

0.6π/T

0.3π/T

0.8π/T

0.4π/T

π/T

0.5π/T

0.2

0.6π/T

0.7π/T

π/T

Real Axis

Imag

inar

y A

xis

Fig. 3.6: Root locus diagram for Ti=2.8. The gain K varies between [0,40].

Page 57: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

48 3. Paper II

0

0.2

0.4

0.6

0.8

1

0 20 40 60 80 100

P(u

tilis

atio

n <

= x

)

x

(20, 2.8)

0

0.2

0.4

0.6

0.8

1

0 20 40 60 80 100

P(u

tilis

atio

n <

= x

)

x

(20, 2.8)

(20, 0.1)

0

0.2

0.4

0.6

0.8

1

0 20 40 60 80 100

P(u

tilis

atio

n <

= x

)

x

(20, 2.8)

(20, 0.1)

(5, 0.185)

0

0.2

0.4

0.6

0.8

1

0 20 40 60 80 100

P(u

tilis

atio

n <

= x

)

x

(20, 2.8)

(20, 0.1)

(5, 0.185)

M/M/1

0

0.2

0.4

0.6

0.8

1

0 20 40 60 80 100

P(u

tilis

atio

n <

= x

)

x

(20, 2.8)

(20, 0.1)

(5, 0.185)

M/M/1

M/D/1

Fig. 3.7: Server utilization distribution of measurements from the real system to-gether with simulations of the M/M/1 and the M/D/1 system.

3.6.5 Distribution function

Figure 3.7 shows the estimated distribution function for the PI-controller.Both good and bad parameter settings were used. An ideal admission controlmechanism would show a distribution function that is zero until the wantedload, and is one thereafter. In this case, the load was kept at 0.8, and theparameter setting, {K, Ti}={20, 2.8}, results in a controller that behavesvery well in this sense. The parameter setting, {K,Ti}={20, 0.1}, as can beseen, perform worse. Also, as comparison, results from simulations of theM/D/1-system and the M/M/1-system are given in Figure 3.7, when using{K,T i}={20, 2.8}. They show that the system behaves as expected.

3.6.6 Step response

Figure 3.8 shows the behaviour of the web server during the transient period.The measurements were made on an empty system that was exposed to100 requests per second. The good parameter setting, {K,T i}={20, 2.8},exhibits a short settling time with a relatively steady server utilization. Thebad parameter setting, {K,T i}={20, 0.1} has its poles outside the unit circleand behaves badly, the load oscillates and is never stable. Comparisons toM/D/1 and M/M/1 simulations, also in Figure 3.8, show that the model isaccurate.

Page 58: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

3.7. Conclusions 49

3.6.7 Limitations with linear design

All papers published earlier about control theoretic analysis of queueingsystems have only used linear deterministic models that can be analyzedwith linear design methods. However, it is important to know that a linearmodel of a non-linear system is not accurate. The strength with our work isthat we can try the controllers in the non-linear model, and thereby see howthe real system behaves. For example, the controller parameters {5, 0.185}gives unstable poles outside the unit circle. Therefore, they should not beused. However, the non-linear system behaves very well, as shown in Figure3.7. We have found that this is due to the non-linearity in the queue, sincethe queue length can never be negative.

3.7 Conclusions

Admission control mechanisms have since long been developed for variousserver systems. Traditionally, queueing theory has been used when inves-tigating server systems, since they usually can be modelled as queueingsystems. However, there are no mathematical tools in queueing theory thatcan be used when designing admission control mechanisms. Therefore, thesemechanisms have mostly been developed with empirical methods. Controltheory contains many mathematical tools that can be used when designingadmission control mechanisms. The main problem here is that queueing sys-tems are non-linear and stochastic, which means that they are difficult tomodel and analyse with control theoretic methods. The main objective withour work has been to find models and methods from control theory that canbe used when designing admission control mechanisms for server systems. Inthis paper, we have designed admission control mechanisms for this systemwith control theoretic methods. We have shown that the model is accurateenough for this purpose, and have also shown an example of how to performthe controller design. We have used the PI-controller, commonly used in au-tomatic control. The admission control mechanism has been implementedon a real web server, running the well-known Apache web server software.Measurements were made to examine the performance of the system. Theexperiments show that the control mechanism behaves as expected. Themain conclusion of this paper is that it is possible to use control theoreticmethods when designing admission control mechanisms for server systems.However, linear deterministic models, as have been used in previous papers,are not enough for this purpose. A server system is both non-linear andstochastic, and if this fact is ignored during modeling and analysis, the be-haviour of the real system may not be as expected. It is obvious that moreresearch is needed in this field. We will, therefore, continue investigatingnon-linear, stochastic control theoretic models of queueing systems.

Page 59: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

50 3. Paper II

10

20

30

40

50

60

70

80

90

100

0 10 20 30 40 50 60

Ser

ver

utili

satio

n (%

)

Time (s)

(a) Good Parameters

0

10

20

30

40

50

60

70

80

90

100

0 10 20 30 40 50 60 70S

erve

r ut

ilisa

tion

(%)

Time (s)

(b) Bad Parameters

0

0.2

0.4

0.6

0.8

1

0 10 20 30 40 50 60

Ser

ver

utili

satio

n (%

)

Time (s)

(c) M/D/1 Simulation

0

0.2

0.4

0.6

0.8

1

0 10 20 30 40 50 60

Ser

ver

utili

satio

n (%

)

Time (s)

(d) M/M/1 Simulation

Fig. 3.8: (a) Example of a realisation with good parameters. (b) Example of arealisation with bad parameters. (c) Simulation of M/D/1-system withgood parameters. (d) Simulation of M/M/1-system with good parameters.

Page 60: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

3.8. Acknowledgments 51

3.8 Acknowledgments

This work has partially been supported by the Swedish Research Councilthrough the Multi Project Grant 621-2001-3020 and contract 621-2001-3053.

Page 61: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

52 3. Paper II

Page 62: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

BIBLIOGRAPHY

[1] K. Astrom and B. Wittenmark, Computer-controlled systems, theoryand design. Prentice Hall Internation Editions, 1997, third Edition.

[2] T. Abdelzaher and C. Lu, “Modeling and performance control of inter-net servers,” in Proceedings of the 39th IEEE Conference on Decisionand Control, 2000, pp. 2234–2239.

[3] K. S. T.F. Abdelzaher and N. Bhatti, “Performance guarantees for webserver end-systems: a control theoretic approach,” IEEE Transactionson Parallel and Distributed Systems, vol. 13, no. 1, pp. 80–96, January2002.

[4] J. S. C. Lu, T.F. Abdelzaher and S. So, “A feedback control approachfor guaranteeing relative delays in web servers,” in Proceedings of the7th IEEE Real-Time Technology and Applications Symposium, 2001,pp. 51–62.

[5] N. Bhatti and R. Friedrich, “Web server support for tiered services,”IEEE Network, pp. 64–71, Sept/Oct 1999.

[6] R. R. J. Carlstrom, “Application-aware admission control and schedul-ing in web servers,” in Proc. Infocom, 2002.

[7] P. P. L. Cherkasova, “Predictive admission control strategy for over-loaded commerical web servers,” in Proc. 8th International IEEE Sym-posium on modeling, analysis and simulation of computer and telecom-munication systems, 2000, pp. 500–507.

[8] P. G. T. Voigt, “Adaptive resource-based web server admission control,”in Proc. 7th International Symposium on Computers and Communica-tions, 2002.

[9] S. R. P. Bhoj and S. Singhal, “Web2k: Bringing qos to web servers,”HP Labs Technical report, HPL-2000-61, 2000.

[10] S. S. Jr., “Optimal control of admission to a queueing system,” IEEETransactions on Automatic Control, vol. 30, no. 8, pp. 705–713, August1985.

[11] “Apache web server,” http://www.apache.org.

Page 63: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

54 Bibliography

[12] M. Kihl, “Overload control strategies for distributed communicationnetworks,” Department of Communication Systems, Lund Institute ofTechnology, Tech. Rep. 131, 2002, ph.D. Thesis.

[13] W. Stallings, Data & Computer Communications. Prentice Hall, 2000,sixth Edition.

[14] T. Voigt, “Overload behaviour and protection of event-driven webservers,” in In proceedings of the International Workshop on Web En-gineering, May 2002, pisa, Italy.

[15] B. W. M. Kihl, A. Robertsson, “Performance modelling and control ofserver systems using non-linear control theory,” in Proc. 18th Interna-tional Teletraffic Congress, 2003.

[16] G. Banga and P. Druschel, “Measuring the capacity of a web server,” inUSENIX Symposium on Internet Technologies and Systems, December1997, pp. 61–71.

Page 64: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

4. PAPER III

Admission Control of the Apache Web Server

Mikael Andersson, Maria Kihl, Anders Robertsson, Bjorn WittenmarkDepartment of Communication Systems, Lund Institute of Technology

Email: {mike, maria}@telecom.lth.seDepartment of Automatic Control, Lund Institute of Technology

Email: {andersro,bjorn}@control.lth.seBox 118, SE-221 00 Lund, Sweden

Abstract

Web sites are exposed to high rates of incoming requests. The serversmay become overloaded during temporary traffic peaks when more requestsarrive than the server is designed for. An admission control mechanism re-jects some requests whenever the arriving traffic is too high and therebymaintains an acceptable load in the system. This paper presents how ad-mission control mechanisms can be designed with a combination of queueingtheory and control theory. By analyzing queueing systems with control the-oretic methods, good admission control mechanisms can be designed forweb server systems. In this paper we model an Apache web server as aG/G/1-system. Then we design a PI-controller, commonly used in auto-matic control, for the server. We describe how it can be implemented in areal system. The controller has been implemented as a module inside theApache source code. Measurements from the laboratory setup show howrobust the implemented controller is, and how it correspond to the resultsfrom the theoretical analysis.

Page 65: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

56 4. Paper III

4.1 Introduction

Web sites on the Internet can be seen as server systems with one or moreweb servers processing incoming requests at a certain rate. The web servershave a queue where requests wait for service. Therefore, a web server canbe modeled as a queueing system including a server with finite or infinitequeues. One problem with web servers is that they are sensitive to over-load. The servers may become overloaded during temporary traffic peakswhen more requests arrive than the server is designed for. Because over-load usually occurs rather seldom, it is not economical to overprovision theservers for these traffic peaks, instead admission control mechanisms can beimplemented in the servers. The admission control mechanism rejects somerequests whenever the arriving traffic is too high and thereby maintains anacceptable load in the system. Traditionally, server utilization or queuelengths have been the variables mostly used in admission control schemes.For web servers, the main objective of the control scheme is to protect itfrom overload. As long as the average server utilization or queue length isbelow a certain level, the response times are low.

One well-known controller in automatic control is the PID-controller,which enables a stable control for many types of systems (see, for exampleAstrom, [1]). The PID-controller uses three actions: one proportional, oneintegrating, and one derivative. In order to get the system to behave well it isnecessary to decide proper control parameters. Therefore, before designingthe PID-controller, the system must be analyzed so that its dynamics duringoverload are known. This means that the system must be described with acontrol theoretic method. If the model is linear, it is easily analyzed withlinear control theoretic methods. However, a queueing system is both non-linear and stochastic. The main problem is that nonlinear models are muchharder to analyze with control theoretic methods. Very few papers haveinvestigated admission control mechanisms for server systems with controltheoretic methods. Abdelzaher ( [2, 3]) modeled the web server as a staticgain to find optimal controller parameters for a PI-controller. A schedulingalgorithm for an Apache [4] web server was designed using system identifica-tion methods and linear control theory by Lu et al [5]. Bhatti [6] developeda queue length control with priorities. By optimizing a reward function, astatic control was found by Carlstrom [7]. An on-off load control mechanismregulating the admittance of client sessions was developed by Cherkasova [8].Voigt [9] proposed a control mechanism that combines a load control for theCPU with a queue length control for the network interface. Bhoj [10] used aPI-controller in an admission control mechanism for a web server. However,no analysis is presented on how to design the controller parameters. Papersanalyzing queueing systems with control theoretic methods usually describethe system with linear deterministic models. Stidham Jr [11] argues thatdeterministic models cannot be used when analyzing queueing systems. Un-

Page 66: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

4.2. Admission Control Mechanism 57

Gate

Controller

System

Monitor

x

u

λ u σ

ref

x

Fig. 4.1: An admission control mechanism

til now, no papers have designed admission control mechanisms for serversystems using nonlinear control theory. In this paper we implement an ad-mission control mechanism for the Apache web server. Measurements inthe laboratory setup show how robust the implemented controller is, andthat it corresponds to the results from the theoretical analysis. Section 4.2describes a general admission control mechanism. Section 4.3 shows howthis can be applied on a web server. In section 4.4, we describe a nonlinearcontrol theoretic model of an admission control mechanism for a web server.We give an analysis of the closed loop system in section 4.5. The controltheoretic model is used to design and implement an admission control mech-anism for the Apache web server. The measurements are shown in section4.6, section 4.7 discusses the results and section 4.8 concludes the work.

4.2 Admission Control Mechanism

Figure 4.1 shows a general admission control mechanism that consists ofthree parts: a gate, a controller, and a monitor. The monitor measuresa so called control variable, x. Using the control variable, the controllerdecides the rate, u, at which requests can be admitted into the system. Theobjective is to keep the value of the control variable as close as possibleto a reference value, xref . The gate rejects those requests that cannot beadmitted. The requests that are admitted proceed to the rest of the system.Since the admittance rate may never be larger than the arrival rate, λ, theactual admittance rate is u=min[u, λ] requests per second. A survey ofdifferent admission control mechanisms for communication systems is givenby Kihl [12].

Page 67: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

58 4. Paper III

4.2.1 Gate

Several gates have been proposed in the literature, for example Percentblocking, Token bucket and the Dynamic window mechanism. In this work,we use the Token bucket, where tokens are generated at a certain rate. Anarriving request is admitted if there is a token available.

4.2.2 Controllers

There are a variety of controllers to choose from when designing an admissioncontrol mechanism. Some of the most common controllers are the Staticcontroller, the Step controller, and the PID-controller. The PID-controlleruses three actions: one proportional, one integrating, and one derivative.The control law in continuous time is as follows:

u(t) = K · e(t) + K

Ti·∫ t

0e(v)dv +K · Td · d

dt· e(t)

where e(t) is the error between the control variable and the reference value,that is e(t) = yref−y(t). The gain K, the integral time Ti, and the derivativetime Td are the controller parameters that are set so that the controlled sys-tem behaves as desired. A large value of K makes the controller faster, butweakens the stability. The integrating action eliminates stationary errors,but may also make the system less stable. The derivative action improves thestability, however, in a system with a bursty arrival process the derivativeaction may cause problems. Therefore, the derivative action is usually eitherdeleted (i.e. Td = 0) or low pass filtered to remove the high frequencies.

4.3 Investigated System

The system we have investigated in this work, is a web server with an ad-mission control mechanism. The web server is Apache, described below.

4.3.1 Web servers

A web server like Apache, contains software that offers access to docu-ments stored on the server. Clients can browse the documents in a webbrowser. The documents can be for example static Hypertext Markup Lan-guage (HTML) files, image files or various script files, such as CommonGateway Interface (CGI), Java scripts or Perl files. The communicationbetween clients and server is based on HTTP [13]. An HTTP transactionconsists of three steps: TCP connection setup, HTTP layer processing andnetwork processing. The TCP connection setup is performed through athreeway handshake, where the client and the server exchange TCP SYN,TCP SYN/ACK and TCP ACK messages. Once the connection has beenestablished, a document request can be issued with an HTTP GET message

Page 68: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

4.3. Investigated System 59

to the server. The server then replies with an HTTP GET REPLY message.Finally, the TCP connection is closed by TCP FIN and TCP ACK messagesin both directions. Apache, which is a well-known web server and widelyused, is multi-threaded. This means that a request is handled by its ownthread or process throughout the life cycle of the request. Other types ofweb servers e.g. event-driven ones and admission control for such also exist(Voigt [14]).

4.3.2 Admission control

Since continuous control is not possible in computer systems, time is dividedinto control intervals of length h seconds. At the end of interval k, that iswhen the time is kh, the controller calculates the desired admittance ratefor interval [kh, kh + h], denoted u(kh), from the measured average serverutilization during the interval, ρ(kh), and the reference value ρref . Thereare three main parts in our admission control architecture:

Gate. The Gate module gets notified whenever the web server gets anincoming request. It takes a decision whether to admit the request andthen notifies the web server of the result. In this paper we use the tokenbucket algorithm to reject those requests that cannot be admitted. New to-kens are generated at a rate of u(kh) tokens per second during time interval[kh, kh + h]. If there is an available token upon the arrival of a request,the request consumes the token and enters the web server. If there are noavailable tokens, the request is rejected. When a request is rejected, theTCP socket to the client is closed. Rejected requests are assumed to leavethe system without retrials.

Monitor. The Monitor thread constantly samples the server utilizationevery control interval. The server utilization is calculated as one minus thefraction of time an idle process has been able to run during the last controlinterval. The idle process’ priority level is set to the lowest possible, whichmeans that it only runs whenever there is no request requiring CPU work.This way of measuring the load on the CPU results in a quantization effectin server utilization. The reason to this is that the operating system wherethe admission control mechanism runs has a certain time resolution in func-tion calls regarding process uptimes. This means that the control intervalcannot be chosen arbitrary. It has to be long enough not to be affected bythe time resolution effects, and short enough so that the controller respondsquickly.

Controller. The Controller is a PI-controller. The Controller’s outputis forwarded to the Gate module. The Controller design is discussed moreextensively in section 4.4.

Page 69: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

60 4. Paper III

4.4 Control Theoretic Model

Control theory is a powerful tool for performance analysis of computer con-trolled systems. The system must be described in terms of transfer functionsor differential (or difference) equations. A transfer function describes the re-lationship between the z-transforms (or Laplace transforms) of the input andthe output of a system. In this case, the input to the system is the actual ad-mittance rate, u, whereas the output is either the server utilization, denotedρ, or the number of jobs in the server, here denoted x.

We use the discrete-time control theoretic model of web server developedby Kihl et al. [15]. We assume that the system can be modeled as a GI/G/1-system with an admission control mechanism. Kihl et al. showed that thequeueing model is a good model for admission control purposes. The inputto the system is the actual admittance rate, u, whereas the output is theserver utilization, ρ. The model is a flow or liquid model in discrete-time.The model is an averaging model in the sense that we are not consideringthe specific timing of different events, arrivals, or departures from the queue.We assume that the sampling period, h, is sufficiently long to guarantee thatthe quantization effects around the sampling times are small. The model isshown in Figure 4.2. The system consists of an arrival generator, a departuregenerator, a controller, a queue and a monitor.

There are two stochastic traffic generators in the model. The arrival gen-erator feeds the system with new requests. The number of new requests dur-ing interval kh is denoted α(kh). α(kh) is an integrated stochastic processover one sampling period with a distribution obtained from the underlyinginterarrival time distribution. If, for example, the arrival process is Poissonwith mean λ, then α(kh) is Poisson distributed with mean λh. The depar-ture generator decides the maximum number of departures during intervalkh, denoted σmax(kh). σmax(kh) is also a stochastic process with a distribu-tion given by the underlying service time distribution. If, for example, theservice times are exponentially distributed with mean 1/µ, then σmax(kh) isPoisson distributed with mean µh. It is assumed that α(kh) and σmax(kh)are independent from between sampling instants and uncorrelated to eachother. The gate is constructed as a saturation block that limits u(kh) to be

u(kh) =

0 u(kh) < 0u(kh) 0 ≤ u(kh) ≤ α(kh)α(kh) u(kh) > α(kh)

The queue is represented by its state x(kh), which corresponds to the numberof requests in the system at the end of interval kh. The difference equationfor the queue is given by

x(kh+ h) = f(x(kh) + u(kh) − σmax(kh))

Page 70: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

4.4. Control Theoretic Model 61

Gate

u(kh)

α kh( )

Σ

arrival departure generatorgenerator

σmax

(kh)

Gc z( ) Σ

ρre f

- x 0≥1z---

delayx(kh+h)u(kh)

Controller

Queue

minu x+σmax-------------- 1, 1

z---

Monitor

-ρ kh( )

x(kh)

Fig. 4.2: Discrete-time model with controller saturation and saturation ϕ for posi-tive queue lengths.

Page 71: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

62 4. Paper III

where the limit function, f(w), equals zero if w < 0 and w otherwise. Thelimit function assures that x(kh + h) ≥ 0. When the limit function isdisregarded then the queue is a discrete-time integrator.

The monitor must estimate the server utilization since this is not directlymeasurable in the model. The server utilization during interval kh, ρ(kh),is estimated as

ρ(kh) = min(u(kh) + x(kh)

σmax(kh), 1)

The objective of the controller is to minimize the difference between theserver utilization during interval kh, ρ(kh), and the reference value, ρref .The control law is given by the transfer function, Gc(z).

4.5 Stability analysis of closed loop system

In this section we will consider the stability properties of the controlled servernode, when using a PI-controller for admission control. First we will consideran approach based on a linear queue model and compare with the admissioncontrol parameters derived from nonlinear analysis. The analysis is based onthe Tsypkin/Jury-Lee stability criterion (discrete-time versions of the Popovcriterion) [16]. In the analysis only the dominating ’queue-limitation’ ϕ willbe considered. See Section 4.7 for comments on the saturation.

4.5.1 Linear design (neglecting saturations)

Neglecting the nonlinearities in Figure 4.2 (assuming ϕ(z) = z, i.e., linearand no saturation) and using a standard PI-controller Gc(z) = K(1+ 1

Ti· hz−1)

will result in the closed loop dynamics

Gc =Gc(1 +Gq)Gm

1 +Gc(1 +Gq)Gm

=z ·K/σ (z − 1 + h/Ti)

z · (z2 + (K/σ − 2)z + (1−K/σ +Kh/(σTi))

(4.1)

where Gq and Gm represent the queue and monitor dynamics, respectively.To match the characteristic polynomial

z · (z2 + (K/σ − 2)z + (1−K/σ +Kh/(σTi)) (4.2)

with a desired characteristic polynomial

z · (z2 + a1z + a2) (4.3)

we get the control parameters

K = (2 + a1)σ, Ti = h (2 + a1)/(1 + a1 + a2)

Page 72: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

4.5. Stability analysis of closed loop system 63

x

lambda

fi

ρref

ρ(kh)

∑∑∑ −

1/σ

σ

1/z

1/z

ϕ(·)

Gc(z)u(kh)

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

A B

−1 Gz

−yz

yz

uz

φ

Fig. 4.3: Decomposition into a linear block (Gz) and a nonlinear block (φ) undernegative feedback.

Using the parameters of the PI-controller it is thus possible to make anarbitrary pole-placement, except for the pole z = 0, which corresponds toa time delay. A simplified linear analysis will thus predict stability for theclosed loop for all coefficients {a1, a2} belonging to the stability triangle

{ a2 < 1, a2 > −1 + a1, a2 > −1− a1 }, (4.4)

see [1].

4.5.2 Model with queue limitation

Consider the admission control scheme in Figure 4.3 where we have intro-duced the states {x1, x2, x3} corresponding to the queue length, the (de-layed) utilization ρ and the integrator state in the PI-controller, respectively.

The state space model will be

x1(kh+ h) = ϕ (u+ x1(kh)− σ)

x2(kh+ h) =1σ(u+ x1(kh))

x3(kh+ h) = Kh/Ti(ρref − x2(kh)) + x3(kh)

(4.5)

Page 73: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

64 4. Paper III

where u = K(ρref − x2) + x3 and ϕ(·) is the saturation function in Figure4.3. By introducing the forward shift operator and leaving out the timearguments, we get

q x1 = ϕ (K(ρref − x2) + x3 + x1 − σ) (4.6)

q x2 =1σ(K(ρref − x2) + x3 + x1) (4.7)

q x3 = Kh/Ti (ρref − x2) + x3 (4.8)

The equilibrium for the system (4.6–4.8) satisfies qx = x. From (4.8) we get

x3 = Kh/Ti (ρref − x2) + x3 ⇒ xo2 = ρref

Inserting this in (4.6) and (4.7) we get

xo1 = ϕ(xo

3 + xo1 − σ)

xo2 = ρref =

1σ(xo

3 + xo1)

⇒xo

1 = ϕ (σ(ρref − 1))

(4.9)

As ρref ∈ [0, 1] and using the fact that ϕ(z) = 0, ∀z ≤ 0 we get

xo1 = 0

xo2 = ρref

xo3 = σxo

2 = σρref

(4.10)

By introducing the change of variables

z1 = x1 − 0 x1 = z1

z2 = x2 − ρref or x2 = z2 + ρref

z3 = x3 − σρref x3 = z3 + σρref

we get

q z1 = q x1 − 0 =ϕ (−Kz2 + z3 + σρref + z1 − σ)

q z2 = q x2 − ρref =1σ(−Kz2 + z3 + σρref + z1)− ρref

q z3 = q x3 − σρref =−Kh/Ti z2 + z3 + σρref − σρref

Rewriting this as a linear system in negative feedback with the nonlinear

Page 74: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

4.5. Stability analysis of closed loop system 65

y y

ϕφ

σ(1− ρref )

Fig. 4.4: φ(y) = ϕ(y − σ(1 − ρref )) where σ > 0 and ρref ∈ [0, 1].

function φ : y → ϕ(y − σ(1− ρref )), we get

qz = Azz +Bzuz = Azz +Bzφ(−y)y = Czz

q

z1

z2

z3

=

0 0 01/σ −K/σ 1/σ0 −Kh/Ti 1

z1

z2

z3

+

100

φ(−y)

y =[−1 K −1]

z1

z2

z3

Note that for ρref ∈ [0, 1] the function φ(·) will belong to the same cone asϕ(·), namely [α, β] = [0, 1], see Figure 4.4. The incremental variation willalso have the same maximal value (=1).

The transfer function Gz = Guz→yz(z) from cut B to cut A in Figure4.3 will be

Gz = Cz(zI −Az)−1Bz

=−z · (z − 1)

z · (z2 + (−1 +K/σ) z +K (h− Ti) /(σTi))(4.11)

For the forthcoming stability analysis we determine for which control pa-rameters the linear subsystem Gz is stable.

The poles of (4.11) are stable for the area depicted in Figure 4.5 for thenormalized parameters K/σ and h/Ti.

4.5.3 Stability analysis for discrete-time nonlinear system

To determine the stability for the nonlinear system in (4.11) we can usethe Tsypkin criterion or the Jury-Lee criterion which are the discrete-timecounterparts of the Popov criterion for continuous time systems [17].

Page 75: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

66 4. Paper III

−3 −2 −1 0 1 2 3−2

−1

0

1

2

a1

a 2

−0.4 −0.2 0 0.2 0.4−60

−40

−20

0

20

40

60

K/σ

h/T

i

Fig. 4.5: (Upper:) The internal of the triangle corresponds to the stability area forthe characteristic polynomial z · (z2 + a1z + a2) of Gz . (Lower:) Corre-sponding stabilizing control parameters {K/σ, h/Ti}.

Sufficient conditions for stability are that Gz has all its poles within theunit circle |z| < 1 and that there exists a (positive) constant η such that

Re[(1 + η(1 − z−1))Gz(z)] +1k≥ 0 for z = eiω, ω ≥ 0 (4.12)

where the nonlinearity φ belongs to the cone [0, k = 1].In the upper plot of Figure 4.6 we have the stability triangle for the char-

acteristic polynomial of Eq.(4.2). By choosing coefficients for the character-istic polynomial (4.2) in the upper left triangle (A1) we will get controllerparameters {K, Ti} which also will give a stable transfer function Gz. Thecorresponding poles are plotted in the lower diagram of Figure 4.6. Figure4.7 shows a graphical representation of the Tsypkin condition (4.12) for thisset of control parameters. The dashed non-intersecting line in Figure 4.7corresponds to the existence of a positive parameter η satisfying Eq.(4.12).Thus, absolute stability for the nonlinear system also is guaranteed for thischoice of parameters.

Remark: The Tsypkin criterion guarantees stability for any cone bounded

Page 76: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

4.6. Experiments 67

−6 −4 −2 0 2 4 6−2

−1

0

1

2

a1

a 2

Stability region of characteristic polynomial z2+a1z+a

2

A1

−3 −2 −1 0 1 2 3

−0.5

0

0.5

pole location

Fig. 4.6: (Upper:) The large triangle is the stability area a linear model wouldpredict. However, from this parameter set, nonlinear analysis guaranteesonly stability for parameters {a1, a2} in the upper left triangle (A1, ′∗′).(Lower:) Pole location corresponding to {a1, a2}∈ A1.

nonlinearity in [0, 1] and we can thus expect to have some robustness in ad-dition to stability in our case.

4.6 Experiments

The admission control mechanism was implemented in the Apache webserver. Apache is made up of a core package and several modules that handledifferent operations, such as Common Gateway Interface (CGI) execution,logging, caching etc. A new module was created that contains the admis-sion control mechanisms. The new module was then hooked into the coreof Apache, so that it was called every time a request was made to the webserver. The module could then either reject or admit the request accordingto the control mechanism. The admission control mechanism was writtenin C and tested on a Windows platform. We tested the system by runningtests on it and collecting performance metrics such as the server utilizationdistribution and step responses. We also compared the measurements withsimulations. The queueing model was represented by a discrete-event sim-ulation program implemented in C, and the control theoretic models wereimplemented with the Matlab Simulink package. The traffic generators inthe discrete-time model were built as Matlab programs. They generate ar-rivals and departures according to the given statistical distributions.

Page 77: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

68 4. Paper III

−5 0 5 10−5

0

5

10Tsypkin plot

Re(G(z))

Re(

1−1/

z)G

(z)

Fig. 4.7: Set of Tsypkin plots which all satisfy the frequency condition (4.12) forGz = Gz(K, Ti), where (K, Ti) correspond to pole locations in Figure 4.6

4.6.1 Setup

Our measurements used one server computer and one computer representingthe clients connected through a 100 Mbits/s Ethernet switch. The server wasa PC Pentium III 1700 MHz with 512 MB RAM running Windows 2000 asoperating system. The computer representing the clients was a PC PentiumII 400 MHz with 256 MB RAM running RedHat Linux 7.3. Apache 2.0.45was installed in the server. We used the default configuration of Apache.The client computer was installed with an HTTP load generator, whichwas a modified version of S-Client [18]. S-Client is able to generate highrequest rates even with few client computers by aborting TCP connectionattempts that take too long time. The original version of S-Client usesdeterministic waiting times between requests. We modified the code to usePoissonian arrivals instead. The client program was programmed to requestdynamically generated HTML files from the server. The CGI script waswritten in Perl. It generates a number of random numbers, adds themtogether and returns the summation. The average request rate was set to100 requests per second in all experiments except for the measurements inFigure 4.8. In all experiments, the control interval was set to one second.

4.6.2 Validation of the Model

We have validated that the open system, that is without control feedback,is accurate in terms of average server utilization. The average server uti-

Page 78: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

4.6. Experiments 69

0

20

40

60

80

100

0 5 10 15 20 25 30 35 40

Ser

ver

utili

zatio

n

requests/second

Fig. 4.8: Average server utilization for the open system.

lization for varying arrival rates are shown in Figure 4.8. For a single-serverqueue, the server utilization is proportional to the arrival rate, and the slopeof the server utilization curve is given by the average service time. The mea-surements in Figure 4.8 gives an estimation of the average service time inthe web server, 1/µ=0.0225.

4.6.3 Controller parameters

Control parameters for the PI-controller are chosen from the stability areaA1 in Figure 4.6. In the simulations and experiments below we use {K,Ti}={20,2.8}. The parameter setting is also compared to {K,Ti}={20, 0.1}, foundoutside the stability area.

4.6.4 Performance metrics

An admission control mechanism has two control objectives. First, it shouldkeep the control variable at a reference value, i.e. the error, e = yref − y,should be as small as possible. Second, it should react rapidly to changes inthe system, i.e. the so-called settling time should be short. Therefore, wetest the mechanism in two ways. First, we show the steady-state distributionof the control variable, by plottting the estimated distribution function. Thedistribution function is estimated from measurements during 1000 secondswith the specific parameter setting. The distribution function shows howwell the control mechanism meets the first control objective. Second, we plotthe step response during 60 seconds when starting with an empty system.The step response shows the settling time for the control mechanism.

Page 79: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

70 4. Paper III

4.6.5 Distribution function

Figure 4.9 shows the estimated distribution function for the PI-controller.Both good and bad parameter settings were used. An ideal admission controlmechanism would show a distribution function that is zero until the wantedload, and is one thereafter. In this case, the load was kept at 0.8, and theparameter setting, {K, Ti}={20, 2.8}, chosen from results in a controllerthat behaves very well in this sense. The parameter setting, {K,Ti}={20,0.1}, as can be seen, perform worse. Also, as comparison, results fromsimulations of the M/D/1 system and the M/M/1 system are given in Figure4.9, when using {K,T i}={20, 2.8}. They show that the system behaves asexpected.

4.6.6 Step response

Figure 4.10 shows the behaviour of the web server during the transientperiod. The measurements were made on an empty system that was exposedto 100 requests per second. The good parameter setting, {K,T i}={20, 2.8},exhibits a short settling time with a relatively steady server utilization. Thebad parameter setting, {K,T i}={20, 0.1} has its poles outside the unit circleand behaves badly, the load oscillates and is never stable. Comparisons toM/D/1 and M/M/1 simulations, also in Figure 4.10, show that the modelis accurate.

4.7 Discussion

The analysis in Section 4.5.3 gives sufficient conditions and a region forcontrol parameters which guarantee stability of the nonlinear closed loop aswell as for the simplified linear model. We are of course not restricted tochoose parameters from only this region as the main objective is that thenonlinear system should be stable. However, we can conclude that

• Pole-placement based on a linear model is OK in a restricted area(region A1 in Figure 4.6).

• There are choices of parameters that gives stable closed loop poles,but where the linear analysis would indicate an unstable closed loopsystems.

During simulation studies the dominant nonlinear effect has come fromthe queue nonlinearity ϕ. The saturation due to limited arrival rate can behandled with a standard implementation of an anti-reset windup scheme,see [19].

Page 80: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

4.7. Discussion 71

0

0.2

0.4

0.6

0.8

1

0 20 40 60 80 100

P(u

tilis

atio

n <

= x

)

x

(20, 2.8)

0

0.2

0.4

0.6

0.8

1

0 20 40 60 80 100

P(u

tilis

atio

n <

= x

)

x

(20, 2.8)

(20, 0.1)

0

0.2

0.4

0.6

0.8

1

0 20 40 60 80 100

P(u

tilis

atio

n <

= x

)

x

(20, 2.8)

(20, 0.1)

(5, 0.185)

0

0.2

0.4

0.6

0.8

1

0 20 40 60 80 100

P(u

tilis

atio

n <

= x

)

x

(20, 2.8)

(20, 0.1)

(5, 0.185)

M/M/1

0

0.2

0.4

0.6

0.8

1

0 20 40 60 80 100

P(u

tilis

atio

n <

= x

)

x

(20, 2.8)

(20, 0.1)

(5, 0.185)

M/M/1

M/D/1

Fig. 4.9: Server utilization distribution of measurements from the real system to-gether with simulations of the M/M/1 and the M/D/1 system.

Page 81: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

72 4. Paper III

10

20

30

40

50

60

70

80

90

100

0 10 20 30 40 50 60

Ser

ver

utili

satio

n (%

)

Time (s)

(a) Good Parameters

0

10

20

30

40

50

60

70

80

90

100

0 10 20 30 40 50 60 70

Ser

ver

utili

satio

n (%

)

Time (s)

(b) Bad Parameters

0

0.2

0.4

0.6

0.8

1

0 10 20 30 40 50 60

Ser

ver

utili

satio

n (%

)

Time (s)

(c) M/D/1 Simulation

0

0.2

0.4

0.6

0.8

1

0 10 20 30 40 50 60S

erve

r ut

ilisa

tion

(%)

Time (s)

(d) M/M/1 Simulation

Fig. 4.10: (a) Example of a realisation with good parameters. (b) Example of arealisation with bad parameters. (c) Simulation of M/D/1-system withgood parameters. (d) Simulation of M/M/1-system with good parame-ters.

4.8 Conclusion

Traditionally, queuing theory has been used when investigating server sys-tems. However, within queuing theory there are few mathematical tools fordesign and stability analysis of, for instance, admission control mechanisms.Therefore, these mechanisms have mostly been developed with empiricalmethods. In this paper, we have designed load control mechanisms for aweb server system with control theoretic methods and analyzed its stabil-ity properties. The controller structure considered is a PI-controller and aregion for stabilizing control parameters is presented.

The designs have been experimentally verified with simulations and ex-periments on an Apache web server system.

4.9 Acknowledgments

This work has partially been supported by the Swedish Research Councilthrough the Multi Project Grant 621-2001-3020 and contract 621-2001-3053.

Page 82: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

BIBLIOGRAPHY

[1] K. Astrom and B. Wittenmark, Computer-controlled systems, theoryand design. Prentice Hall Internation Editions, 1997, third Edition.

[2] T. Abdelzaher and C. Lu, “Modeling and performance control of inter-net servers,” in Proceedings of the 39th IEEE Conference on Decisionand Control, 2000, pp. 2234–2239.

[3] K. S. T.F. Abdelzaher and N. Bhatti, “Performance guarantees for webserver end-systems: a control theoretic approach,” IEEE Transactionson Parallel and Distributed Systems, vol. 13, no. 1, pp. 80–96, January2002.

[4] “Apache web server,” http://www.apache.org.

[5] J. S. C. Lu, T.F. Abdelzaher and S. So, “A feedback control approachfor guaranteeing relative delays in web servers,” in Proceedings of the7th IEEE Real-Time Technology and Applications Symposium, 2001,pp. 51–62.

[6] N. Bhatti and R. Friedrich, “Web server support for tiered services,”IEEE Network, pp. 64–71, Sept/Oct 1999.

[7] R. R. J. Carlstrom, “Application-aware admission control and schedul-ing in web servers,” in Proc. Infocom, 2002.

[8] P. P. L. Cherkasova, “Predictive admission control strategy for over-loaded commerical web servers,” in Proc. 8th International IEEE Sym-posium on modeling, analysis and simulation of computer and telecom-munication systems, 2000, pp. 500–507.

[9] P. G. T. Voigt, “Adaptive resource-based web server admission control,”in Proc. 7th International Symposium on Computers and Communica-tions, 2002.

[10] S. R. P. Bhoj and S. Singhal, “Web2k: Bringing qos to web servers,”HP Labs Technical report, HPL-2000-61, 2000.

[11] S. S. Jr., “Optimal control of admission to a queueing system,” IEEETransactions on Automatic Control, vol. 30, no. 8, pp. 705–713, August1985.

Page 83: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

74 Bibliography

[12] M. Kihl, “Overload control strategies for distributed communicationnetworks,” Department of Communication Systems, Lund Institute ofTechnology, Tech. Rep. 131, 2002, ph.D. Thesis.

[13] W. Stallings, Data & Computer Communications. Prentice Hall, 2000,sixth Edition.

[14] T. Voigt, “Overload behaviour and protection of event-driven webservers,” in In proceedings of the International Workshop on Web En-gineering, May 2002, pisa, Italy.

[15] B. W. M. Kihl, A. Robertsson, “Performance modelling and control ofserver systems using non-linear control theory,” in Proc. 18th Interna-tional Teletraffic Congress, 2003.

[16] Y. Z. Tsypkin, “Frequency criteria for the absolute stability of nonlinearsampled-data systems,” Automation and Remote Control, vol. 25, no. 3,pp. 261–267, 1964.

[17] M. Larsen and P. V. Kokotovic, “A brief look at the tsypkin crite-rion: from analysis to design,” Int. J. of Adaptive Control and SignalProcessing, vol. 15, no. 2, pp. 121–128, 2001.

[18] G. Banga and P. Druschel, “Measuring the capacity of a web server,” inUSENIX Symposium on Internet Technologies and Systems, December1997, pp. 61–71.

[19] B. W. A. Robertsson and M. Kihl, “Analysis and design of admissioncontrol in web server systems,” in Proceedings of ACC03, 2003.

Page 84: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

5. PAPER IV

Admission Control with Service Level Agreements for aWeb Server

Mikael Andersson, Jianhua Cao, Maria Kihl and Christian NybergDepartment of Communication Systems, Lund Institute of Technology

Box 118, SE-221 00 Lund, SwedenEmail: {mike, jcao, maria, cn}@telecom.lth.se

Abstract

One problem with web servers is that they are sensitive to overload. Theservers may become overloaded during temporary traffic peaks when morerequests arrive than the server is designed for. Because overload usually oc-curs rather seldom, it is not economical to overprovision the servers for thesetraffic peaks, instead admission control mechanisms can be implemented inthe servers. This paper investigates two overload control strategies withperformance bounds for a web server. In service level agreements, we boundaverage response times and throughputs for all service classes. Each requestis sorted into a class, where each class is assigned a weight representing theincome for the web site owner. Then a linear optimization algorithm is ap-plied so that the total revenue for the web site during overload is maximized.

Page 85: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

76 5. Paper IV

5.1 Introduction

Web sites on the Internet can be seen as server systems with one or more webservers processing incoming requests at a certain rate. The web servers havea waiting-queue where requests are queued while waiting for service. There-fore, a web server can be modelled as a queueing system including a serverwith finite or infinite queue. One problem with web servers is that theyare sensitive to overload. The servers may become overloaded during tem-porary traffic peaks when more requests arrive than the server is designedfor. Because overload usually occurs rather seldom, it is not economicalto overprovision the servers for these traffic peaks, instead admission con-trol mechanisms can be implemented in the servers. The admission controlmechanism rejects some requests whenever the arriving traffic is too highand thereby maintains an acceptable load in the system. In this paper westudy two admission control strategies based on percent blocking where weassume that the traffic rate are known.

Other papers have been presented in this area of research. Chen et al.describes in [1] an admission control scheme that divides requests into classesand then tries to guarantee a maximum response time for prioritized classes.Lee et al. describe a similar admission control scheme in [2]. Zhang etal. [3] develop a profit-aware QoS policy for web servers, where each requestgenerates a certain profit to the site owner depending on the response time.Kanodia and Knightly propose an admission control scheme without profitoptimization where requests are given priorities and response time limitscalled Latency-Targeted Multiclass Admission Control (LMAC) [4].

Also, control theoretic methods have been applied to web servers, Ab-delzaher [5, 6] modelled the web server as a static gain to find optimal con-troller parameters for a PI-controller. A scheduling algorithm for an Apacheweb server was designed using system identification methods and linear con-trol theory by Lu et al [7]. Bhatti [8] developed a queue length control withpriorities. By optimizing a reward function, a static control was found byCarlstrom [9]. An on-off load control mechanism regulating the admittanceof client sessions was developed by Cherkasova [10]. Voigt [11] proposed acontrol mechanism that combines a load control for the CPU with a queuelength control for the network interface. Bhoj [12] used a PI-controller inan admission control mechanism for a web server.

In this paper we use a web server model that consists of a processorsharing node with a queue attached to it. A more thorough investigationof the model can be found in previous works, [13] and [14], by Cao et al.From the studies by Kihl and Widell [15] and Menasce et al. [16], we haveintroduced a set of classes that each request to a typical E-commerce sitecan be sorted into. The classes have different attributes such as revenue,throughput, service time requirements. Together with the class definition,we set up a service level agreement that the E-commerce site should uphold.

Page 86: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

5.2. Preliminaries 77

The service level agreement regulate the throughput for each class as wellas the maximum allowed average response time.

Requests can be rejected in numerous ways, but since the requests gen-erate different revenues for the site owner, it is a good idea to optimize thetotal profit during overload. Two different control strategies are thereforeinvestigated that optimizes the total profit. One controller acknowledgesthe request’s class attribute whereas the other one disregards the class at-tribute. The latter one is introduced as a comparison to the class dependentcontroller. Their performance regarding the ability to hold the service levelagreement and the generated profit during overload is studied. One im-portant thing to consider is that a rejection requires processing. It is notenough to simply disconnect the client, instead some ”rejection page” shouldbe sent. The rejection action therefore costs about the same amount of workas a small static web page. This is included in our model and the simula-tions show that this affects the total profit in an overloaded server. Also,the connection setup processing is considered. Before any rejections can beperformed, the web server must set up a connection to see what kind of re-quest that is coming. This connection setup processing has to be performedfor all requests, not only the admitted ones.

The rest of the paper is organized as follows; Section 5.2 gives an in-troduction to web servers. It describes the web server model we use andexplains the concept of classes and the service level agreement. Section 5.4defines the admission control problem that can be formulated as two al-ternate linear programming problems. Section 5.5 shows simulations thatcompare the two methods investigated in this paper. Section 5.6 discussesthe results while the last section concludes the work.

5.2 Preliminaries

This section describes how a web server works. We describe the web servermodel that we use and we also define classes in a commercial web site con-text.

5.2.1 Web servers

A web server contains software that offers access to documents stored on theserver. Clients can browse the documents in a web browser. The documentscan be for example static Hypertext Markup Language (HTML) files, imagefiles or various script files, such as Common Gateway Interface (CGI), Java-script or Perl files. The communication between clients and server is basedon HTTP [17].

An HTTP transaction consists of three steps: TCP connection setup,HTTP layer processing and network processing. The TCP connection setupis performed as a so called three-way handshake, where the client and the

Page 87: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

78 5. Paper IV

server exchange TCP SYN, TCP SYN/ACK and TCP ACK messages. Oncethe connection has been established, a document request can be issued witha HTTP GET message to the server. The server then replies with a HTTPGET REPLY message. Finally, the TCP connection is closed by sendingTCP FIN and TCP ACK messages in both directions.

5.2.2 Classes

It is natural to define a set of request classes when it comes to a serversystem like the web server. The type of classes that are considered dependson the web site. In this work, as will be shown, we have chosen to adoptand extend the request types found in the works of Kihl and Widell [15]and Menasce et al. [16]. In [15] they investigate admission control strategiesfor commercial web sites using different types of requests, for example Buy,Browse and Pay requests. The request types correspond to the differentstages that a visitor to the site goes through in a typical session.

5.2.3 Admission Control

A good admission control mechanism improves the site performance duringoverload by only admitting a certain amount of customers at a time into thesite. The fundamental observation is that it is sometimes better to rejectsome customers so that other customers may finish their tasks and therebygenerate some revenue for the site. Several kinds of blocking mechanismsto use in admission control have been proposed in the literature, a survey isgiven by Kihl in [18]. In this paper, we use percent blocking in the admissioncontrol. In this mechanism, a certain fraction of the requests is admitted.

5.2.4 Model description

To be able to predict the web server’s performance it is important to havea good performance model.

In [13] and [14] we show how a web server can be modeled as a singleserver queue with a processor sharing discipline. The queue length is re-stricted to a certain number of jobs. The model used here is similar (Figure5.1).

The difference is that in this work, there is no maximum number ofthreads in the web server. As will be seen, the admission control is handledwith another technique based on percent blocking. The server serves Nclasses of requests. The arrival processes of all classes are assumed to bePoisson. The arrival rate for the customers of class i is λi. The mean servicerequirement for the customers of class i is vi besides the connection setuptime, denoted as vinit. The connection setup time is the same for all classes.For each received request a TCP connection has to be set up. To be able

Page 88: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

5.3. Admission Control 79

Requests

Rejected

Admitted

Served

Processor sharing

Fig. 5.1: The web server model.

to determine what class the request belongs to, the HTTP header must beparsed in the HTTP layer. The total arrival rate of all classes is therefore

Λ =N∑

i=1

λi (5.1)

Since the service discipline is processor sharing, the actual service timedistribution can be neglected. Let the customer of class (N + 1) representthe ”rejection service”. In some papers dealing with admission control, therejection service is neglected. If an admission controller should work in arealistic way, it is not suitable to just drop connections. Some sort of messageshould be sent to the rejected visitor that notifies about the rejection. Therejection service required must be less than the originally requested serviceto be of any practical use. We assume that a rejection requires vrej amountof service and

vrej ≤ mini(vi), (i = 1..N) (5.2)

For requests of class i, the probability that the request will be servednormally, that is without rejection is denoted xi. If the request is rejected,it will become a request of class (N + 1). This gives

λN+1 =N∑

i=1

(1− xi)λi (5.3)

5.3 Admission Control

We will investigate two admission controllers based on percent blocking:

CAC-CI, Contract-based Admission Control - Class Independent: The cus-tomers are accepted with probability xi = x, disregarding their class identity.

CAC-CD, Contract-based Admission Control - Class Dependent: The cus-tomers of class i are accepted based on their class identity, with probability

Page 89: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

80 5. Paper IV

xi. For the CAC-CI controller the server utilization is

ρ =N∑

i=1

λi · (vinit + x · vi + (1− x) · vrej) (5.4)

and for the CAC-CD controller

ρ =N∑

i=1

λi · (vinit + x · vi + (1− xi) · vrej) (5.5)

It follows from the model that the average response time for served customersof class i is

wi =vinit + vi

1− ρ(5.6)

where ρ is the server utilization and thus depends on the type of admissioncontrol in question.

The purpose of admission control is to guarantee that the served cus-tomers enjoy reasonable service times. Let τi be the upper bound of theaverage response time for customers of class i. We want

wi ≤ τi, ∀i = 1, .., N. (5.7)

We require that for customers of class i, the minimum acceptance probabilitymust be αi. For the CAC-CI controller, this means

max αi ≤ x ≤ 1 (5.8)

and for type CAC-CD admission control

αi ≤ xi ≤ 1 (5.9)

Now, given w1, w2, ...wN and α1, α2, ...αN we define the so called servicelevel agreement to be

S = ({wi}Ni=1, {αi}N

i=1). (5.10)

The service level agreement is considered broken if one or more of its con-straints are violated. For example, if the response time for a certain class iexceeds τi or less than αi requests gets served, the service level agreementis broken.

Usually there are infinitely many admission control policies that satisfiesthe service level agreement.

Let γi be the revenue (potential or real) for serving a class i customer.We can therefore restrict our attention to those policies that maximize thereward. Since the CAC-CI controller accepts customers regardless of classidentity, this is equivalent to maximize the throughput i.e.

max x ·N∑

i=1

γi · λi (5.11)

Page 90: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

5.4. Linear programming formulations 81

Tab. 5.1: Parameter listVariable DescriptionN number of customer classesi,j=1..N indices of the customer classλi arrival rate for class ivi average service requirement for class iγi revenue for request of class ivinit,rej service requirements for connection setup and rejectionαi acceptance rate guaranteeτi mean service time guaranteeρ server utilization

For type CAC-CD, it is slightly more complicated but still, the objectivefunction is linear,

maxN∑

i=1

γi · λi · xi (5.12)

To summarize we give a list of parameters and variables in Table 5.1.

5.4 Linear programming formulations

Since both of the objective functions for the controllers are linear, it is nowfeasible to set up linear programming formulations. For the CAC-CI andCAC-CD controllers they can be formulated as follows:

CAC-CI: maximize

x ·N∑

i=1

γi · λi

subject to (for all i = 1..N)

vinit + vi ≤ τi(1−N∑

j=1

λj(vinit + xvj + (1− x)vrej) (5.13)

maxi

αi ≤ x ≤ 1 (5.14)

Page 91: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

82 5. Paper IV

CAC-CD: maximize

N∑i=1

γi · λi · xi

subject to (for all i = 1..N)

vinit + vi ≤ τi(1 −N∑

j=1

λj(vinit + xjvj + (1− x)vrej) (5.15)

maxi

αi ≤ x ≤ 1 (5.16)

CAC-CI. The CAC-CI problem can be solved explicitly as follows:From 5.13, we have

x ≤ 1− (vinit + vrej)∑N

j=1 λj − vinit+viτi∑N

j=1 λj(vj − vrej)= li

Let K:= arg maxjvinit+vj

τj. Clearly the CAC-CI problem has a solution

max xi ≤ lK .

If the condition above is satisfied the optimal solution for the CAC-CI prob-lem is

x = lK .

CAC-CD. The CAC-CD problem can be solved by any linear programmingsolver, e.g. CPLEX [19] quite easily.

We will first examine the necessary and sufficient conditions for the ex-istence of a solution and then study the special case when (vinit = vrej =0).

By the definition of wi and 5.7, we have

ρ ≤ 1− vinit + vi

τi∀i = 1, .., N

On the other hand, we can achieve the smallest server utilization when wereject all customers and still fulfill the service level agreement:

Let K:= arg maxjvinit+vj

τj. Hence the problem has a solution

N∑j=1

λj(vinit + αj + (1− αj)vrej) ≤ 1− vinit + vK

τK

Page 92: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

5.5. Experiments 83

Let ρi := λi/Λ where Λ =∑N

j=1 λj . The condition above implies

Λ ≤1− vinit+vj

τj∑Nj=1 ρj(vinit + αj + (1− αj)vrej) ≤ 1− vinit+vK

τK

The similar condition for the CAC-CI controller is

Λ ≤1− vinit+vj

τj∑Nj=1 ρj(vinit + αj + (1− αj)vrej) ≤ 1− vinit+vK

τK

where αs = maxi αi.

5.5 Experiments

In all simulations we set a total arrival rate, Λ. The arrival rates for thedifferent classes were then determined by the request type distribution de-rived from [15] where the ratio of ”leaving customers” were ignored. Thedistribution originally comes from the work of Menasce et al. [16], wherethe occasional buyer on a web site is studied. The buyer’s requests are cat-egorized into the classes shown in Table 5.2 and then the rates of each classare determined. The service times for each class has been taken from thesimulation values in [15].

In all experiments, the work required in the connection setup phase wasset to 0.005 seconds. The rejection work was also set to 0.005 seconds. Thequeueing model and the admission control algorithms were implemented asa discrete event simulation program in Java. Two sets of simulations wereperformed; one set where the CAC-CI controller was used, and one wherethe CAC-CD controller was used. Both methods were evaluated for theirability to enforce the service level agreement. In all simulations, the totalarrival rate was increased from 10 to 60 requests per second, in steps of 5requests per second. Table 5.2 shows the simulation configuration for bothcontrollers with required service times vi, distribution di, request revenue γi,acceptance rate guarantee αi and mean service time guarantee τi for classes1 to 5. For the CAC-CD controller optimization of the linear programmingformulation was performed by using the Java version of lpsolver [20].

The simulations evaluated the controllers in terms of response times,throughput counted as admitted requests and the total profit generated ateach arrival rate.

5.6 Results and Discussion

Figure 5.2 and 5.3 shows the response time for each class as a function ofthe total arrival rate. The solid lines in the diagrams represent the agreed

Page 93: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

84 5. Paper IV

Tab. 5.2: Class ParametersDescription vi di γi αi τi

1 Browse 0.015 0.41 1 0.2 1.52 Search 0.030 0.40 1 0.4 3.03 Select 0.015 0.17 1 0.6 1.54 Add 0.015 0.014 5 0.8 1.55 Pay 0.035 0.006 10 1.0 3.0

0 20 40 600

1

2

3

4Class 1

Res

pons

e tim

e

Arrival rate0 20 40 60

0

1

2

3

4Class 2

Res

pons

e tim

e

Arrival rate0 20 40 60

0

1

2

3

4Class 3

Res

pons

e tim

e

Arrival rate

0 20 40 600

1

2

3

4Class 4

Res

pons

e tim

e

Arrival rate0 20 40 60

0

1

2

3

4Class 5

Res

pons

e tim

e

Arrival rate

Fig. 5.2: Response times per class (CAC-CD)

response time limits. Figure 5.2 shows that the CAC-CD is capable of keep-ing the agreed response time limits whereas the CAC-CI controller cannotat higher arrival rates.

Figure 5.4 and 5.5 shows the throughput as a percentage, of completedrequests for each class. The solid lines in the diagrams represent the agreedminimum service level. When it comes to throughput, each class receivesthe contracted amount of throughput with the CAC-CD controller. TheCAC-CI breaks the contract at higher rates for classes 3, 4 and 5.

The two methods were compared from a profit perspective in Figures5.6 and 5.7. The figure shows the profit per second versus arrival totalrate. As can be seen for the CAC-CD controller, requests from classes 4and 5 are more likely to be admitted at the expense of requests in class 1,

Page 94: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

5.6. Results and Discussion 85

0 20 40 600

1

2

3

4Class 1

Res

pons

e tim

e

Arrival rate0 20 40 60

0

1

2

3

4Class 2

Res

pons

e tim

e

Arrival rate0 20 40 60

0

1

2

3

4Class 3

Res

pons

e tim

e

Arrival rate

0 20 40 600

1

2

3

4Class 4

Res

pons

e tim

e

Arrival rate0 20 40 60

0

1

2

3

4Class 5

Res

pons

e tim

e

Arrival rate

Fig. 5.3: Response times per class (CAC-CI)

20 40 600

0.2

0.4

0.6

0.8

1Class 1

Thr

ough

put (

%)

Arrival rate20 40 60

0

0.2

0.4

0.6

0.8

1Class 2

Thr

ough

put (

%)

Arrival rate20 40 60

0

0.2

0.4

0.6

0.8

1Class 3

Thr

ough

put (

%)

Arrival rate

20 40 600

0.2

0.4

0.6

0.8

1Class 4

Thr

ough

put (

%)

Arrival rate20 40 60

0

0.2

0.4

0.6

0.8

1Class 5

Thr

ough

put (

%)

Arrival rate

Fig. 5.4: Throughput per class (CAC-CD)

Page 95: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

86 5. Paper IV

20 40 600

0.2

0.4

0.6

0.8

1Class 1

Thr

ough

put (

%)

Arrival rate20 40 60

0

0.2

0.4

0.6

0.8

1Class 2

Thr

ough

put (

%)

Arrival rate20 40 60

0

0.2

0.4

0.6

0.8

1Class 3

Thr

ough

put (

%)

Arrival rate

20 40 600

0.2

0.4

0.6

0.8

1Class 4

Thr

ough

put (

%)

Arrival rate20 40 60

0

0.2

0.4

0.6

0.8

1Class 5

Thr

ough

put (

%)

Arrival rate

Fig. 5.5: Throughput per class (CAC-CI)

2 and 3 in higher arrival rates. The reason is that higher individual requestrevenue is generated in class 4 and 5. It may seem strange that the totalprofit decreases after its peak at λ = 40. The decline of total profit whenthe aggregrated traffic rate reaches a certain limit is mainly due to that theserver is busy with rejection most of the time in that traffic rate region. Thisimplies that the server should be properly dimensioned in order to achievethe best performance, i.e. maximum profit, when the service of rejectioncannot be neglected. The same trend can be found in Figure 5.7. For CAC-CI however, the total profit is lower at higher arrival rates. This is shown inthe comparison in Figure 5.8. The controllers behave the same, profit-wise,up until λ = 35, after which the CAC-CD yields more total profit.

5.7 Conclusions

In this paper we have presented and compared two admission control strate-gies for a web server. The CAC-CI controller disregards the request’s classproperty resulting in inferior performance compared to the CAC-CD con-troller that does regard class property. Both controllers optimize the totalprofit given the constraints given in the service level agreement concerningresponse times and throughput. The fact that each request is associatedwith an initialization work (even for rejected requests) and that rejections

Page 96: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

5.7. Conclusions 87

20 40 605

10

15

20

25Class 1

Pro

fit

Arrival rate20 40 60

7

8

9

10

11

12

13

14Class 2

Pro

fit

Arrival rate20 40 60

3

4

5

6

7

8Class 3

Pro

fit

Arrival rate

20 40 601

1.5

2

2.5

3

3.5

4

4.5Class 4

Pro

fit

Arrival rate20 40 60

1

1.5

2

2.5

3

3.5

4Class 5

Pro

fit

Arrival rate20 40 60

20

25

30

35

40

45Total

Pro

fitArrival rate

Fig. 5.6: Profit per class (CAC-CD)

20 40 608

10

12

14

16Class 1

Pro

fit

Arrival rate20 40 60

6

8

10

12

14

16Class 2

Pro

fit

Arrival rate20 40 60

3

3.5

4

4.5

5

5.5

6

6.5Class 3

Pro

fit

Arrival rate

20 40 601.4

1.6

1.8

2

2.2

2.4

2.6

2.8Class 4

Pro

fit

Arrival rate20 40 60

1.5

2

2.5

Class 5

Pro

fit

Arrival rate20 40 60

20

25

30

35

40

45Total

Pro

fit

Arrival rate

Fig. 5.7: Profit per class (CAC-CI)

Page 97: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

88 5. Paper IV

20 25 30 35 40 45 50 55 6020

25

30

35

40

45

Pro

fit

Arrival rate

CAC−CDCAC−CI

Fig. 5.8: Total profit

also cost in terms of processing power is considered. It results in decliningtotal profit at higher arrival rates.

Acknowledgments

The work has been supported by The Swedish Research Council under con-tract no. 621-2001-3053.

Page 98: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

BIBLIOGRAPHY

[1] H. C. Xiangping Chen and P. Mohapatra, “Aces: An efficient admissioncontrol scheme for qos-aware web servers,” Computer Communications,no. 26, p. 1581, 2003.

[2] J. C. L. Sam C.M. Lee and D. K. Yau, “A proportional-delay diffserv-enabled web server: Admission control and dynamic adaptation,” IEEETransactions on Parallel and Distributed Systems, vol. 15, no. 5, 2004.

[3] E. S. Qi Zhang and G. Ciardo, “Profit-driven service differentiation intransient environments,” in In Proceedings of MASCOTS, 2003, p. 230.

[4] V. Kanodia and E. W. Knightly, “Ensuring latency targets in multiclassweb servers,” IEEE Transactions on Parallel and Distributed Systems,vol. 14, no. 1, 2003.

[5] T. Abdelzaher and C. Lu, “Modeling and performance control of inter-net servers,” in Proceedings of the 39th IEEE Conference on Decisionand Control, 2000, pp. 2234–2239.

[6] K. S. T.F. Abdelzaher and N. Bhatti, “Performance guarantees for webserver end-systems: a control theoretic approach,” IEEE Transactionson Parallel and Distributed Systems, vol. 13, no. 1, pp. 80–96, January2002.

[7] J. S. C. Lu, T.F. Abdelzaher and S. So, “A feedback control approachfor guaranteeing relative delays in web servers,” in Proceedings of the7th IEEE Real-Time Technology and Applications Symposium, 2001,pp. 51–62.

[8] N. Bhatti and R. Friedrich, “Web server support for tiered services,”IEEE Network, pp. 64–71, Sept/Oct 1999.

[9] R. R. J. Carlstrom, “Application-aware admission control and schedul-ing in web servers,” in Proc. Infocom, 2002.

[10] P. P. L. Cherkasova, “Predictive admission control strategy for over-loaded commerical web servers,” in Proc. 8th International IEEE Sym-posium on modeling, analysis and simulation of computer and telecom-munication systems, 2000, pp. 500–507.

Page 99: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

90 Bibliography

[11] P. G. T. Voigt, “Adaptive resource-based web server admission control,”in Proc. 7th International Symposium on Computers and Communica-tions, 2002.

[12] S. R. P. Bhoj and S. Singhal, “Web2k: Bringing qos to web servers,”HP Labs Technical report, HPL-2000-61, 2000.

[13] C. N. M. K. Jianhua Cao, Mikael Andersson, “Web server performancemodeling using an m/g/1/k*ps queue,” in In Proceedings of Interna-tional Conference on Telecommunication (ICT), 2003.

[14] M. K. C. N. Mikael Andersson, Jianhua Cao, “Performance modelingof an apache web server with bursty arrival traffic,” in In Proceedingsof International Conference on Internet Computing (IC), 2003.

[15] M. K. Niklas Widell, “Admission control schemes guaranteeing cus-tomer qos in commercial web sites,” in In Proceedings of IFIP andIEEE Conference on Network Control and Engineering (NETCON),2002.

[16] R. F. D. Menasce, V. Almeida and M. Mendes, “Business-orientedresource management policies for e-commerce servers,” PerformanceEvaluation, vol. 42, 2000.

[17] W. Stallings, Data & Computer Communications. Prentice Hall, 2000,sixth Edition.

[18] M. Kihl, “Overload control strategies for distributed communicationnetworks,” Department of Communication Systems, Lund Institute ofTechnology, Tech. Rep. 131, 2002, ph.D. Thesis.

[19] “Cplex,” http://www.ilog.com/products/cplex/.

[20] “Linear programming solver, washington university in saint louis,” http://www.cs.wustl.edu/∼javagrp/help/LinearProgramming.html.

Page 100: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

Reports on Communication Systems

101. On Overload Control of SPC-systemsUlf Korner, Bengt Wallstrom, and Christian Nyberg, 1989.CODEN: LUTEDX/TETS- -7133- -SE+80P

102. Two Short Papers on Overload Control of Switching NodesChristian Nyberg, Ulf Korner, and Bengt Wallstrom, 1990.ISRN LUTEDX/TETS- -1010- -SE+32P

103. Priorities in Circuit Switched NetworksAke Arvidsson, Ph.D. thesis, 1990.ISRN LUTEDX/TETS- -1011- -SE+282P

104. Estimations of Software Fault Content for Telecommunication Sys-temsBo Lennselius, Lic. thesis, 1990.ISRN LUTEDX/TETS- -1012- -SE+76P

105. Reusability of Software in Telecommunication SystemsAnders Sixtensson, Lic. thesis, 1990.ISRN LUTEDX/TETS- -1013- -SE+90P

106. Software Reliability and Performance Modelling for Telecommuni-cation SystemsClaes Wohlin, Ph.D. thesis, 1991.ISRN LUTEDX/TETS- -1014- -SE+288P

107. Service Protection and Overflow in Circuit Switched NetworksLars Reneby, Ph.D. thesis, 1991.ISRN LUTEDX/TETS- -1015- -SE+200P

108. Queueing Models of the Window Flow Control MechanismLars Falk, Lic. thesis, 1991.ISRN LUTEDX/TETS- -1016- -SE+78P

109. On Efficiency and Optimality in Overload Control of SPC SystemsTobias Ryden, Lic. thesis, 1991.ISRN LUTEDX/TETS- -1017- -SE+48P

110. Enhancements of Communication ResourcesJohan M Karlsson, Ph.D. thesis, 1992.ISRN LUTEDX/TETS- -1018- -SE+132P

111. On Overload Control in Telecommunication SystemsChristian Nyberg, Ph.D. thesis, 1992.ISRN LUTEDX/TETS- -1019- -SE+140P

112. Black Box Specification Language for Software SystemsHenrik Cosmo, Lic. thesis, 1994.ISRN LUTEDX/TETS- -1020- -SE+104P

113. Queueing Models of Window Flow Control and DQDB AnalysisLars Falk, Ph.D. thesis, 1995.ISRN LUTEDX/TETS- -1021- -SE+145P

Page 101: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

92 Bibliography

114. End to End Transport Protocols over ATMThomas Holmstrom, Lic. thesis, 1995.ISRN LUTEDX/TETS- -1022- -SE+76P

115. An Efficient Analysis of Service Interactions in Telecommunica-tionsKristoffer Kimbler, Lic. thesis, 1995.ISRN LUTEDX/TETS- -1023- -SE+90P

116. Usage Specifications for Certification of Software ReliabilityPer Runeson, Lic. thesis, May 1996.ISRN LUTEDX/TETS- -1024- -SE+136P

117. Achieving an Early Software Reliability EstimateAnders Wesslen, Lic. thesis, May 1996.ISRN LUTEDX/TETS- -1025- -SE+142P

118. On Overload Control in Intelligent NetworksMaria Kihl, Lic. thesis, June 1996.ISRN LUTEDX/TETS- -1026- -SE+80P

119. Overload Control in Distributed-Memory SystemsUlf Ahlfors, Lic. thesis, June 1996.ISRN LUTEDX/TETS- -1027- -SE+120P

120. Hierarchical Use Case Modelling for Requirements EngineeringBjorn Regnell, Lic. thesis, September 1996.ISRN LUTEDX/TETS- -1028- -SE+178P

121. Performance Analysis and Optimization via SimulationAnders Svensson, Ph.D. thesis, September 1996.ISRN LUTEDX/TETS- -1029- -SE+96P

122. On Network Oriented Overload Control in Intelligent NetworksLars Angelin, Lic. thesis, October 1996.ISRN LUTEDX/TETS- -1030- -SE+130P

123. Network Oriented Load Control in Intelligent Networks Based onOptimal DecisionsStefan Pettersson, Lic. thesis, October 1996.ISRN LUTEDX/TETS- -1031- -SE+128P

124. Impact Analysis in Software Process ImprovementMartin Host, Lic. thesis, December 1996.ISRN LUTEDX/TETS- -1032- -SE+140P

125. Towards Local Certifiability in Software DesignPeter Molin, Lic. thesis, February 1997.ISRN LUTEDX/TETS- -1033- -SE+132P

126. Models for Estimation of Software Faults and Failures in Inspectionand TestPer Runeson, Ph.D. thesis, January 1998.ISRN LUTEDX/TETS- -1034- -SE+222P

Page 102: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

Bibliography 93

127. Reactive Congestion Control in ATM NetworksPer Johansson, Lic. thesis, January 1998.ISRN LUTEDX/TETS- -1035- -SE+138P

128. Switch Performance and Mobility Aspects in ATM NetworksDaniel Søbirk, Lic. thesis, June 1998.ISRN LUTEDX/TETS- -1036- -SE+91P

129. VPC Management in ATM NetworksSven-Olof Larsson, Lic. thesis, June 1998.ISRN LUTEDX/TETS- -1037- -SE+65P

130. On TCP/IP Traffic ModelingPar Karlsson, Lic. thesis, February 1999.ISRN LUTEDX/TETS- -1038- -SE+94P

131. Overload Control Strategies for Distributed Communication Net-worksMaria Kihl, Ph.D. thesis, March 1999.ISRN LUTEDX/TETS- -1039- -SE+158P

132. Requirements Engineering with Use Cases - a Basis for SoftwareDevelopmentBjorn Regnell, Ph.D. thesis, April 1999.ISRN LUTEDX/TETS- -1040- -SE+225P

133. Utilisation of Historical Data for Controlling and Improving Soft-ware DevelopmentMagnus C. Ohlsson, Lic. thesis, May 1999.ISRN LUTEDX/TETS- -1041- -SE+146P

134. Early Evaluation of Software Process Change ProposalsMartin Host, Ph.D. thesis, June 1999.ISRN LUTEDX/TETS- -1042- -SE+193P

135. Improving Software Quality through Understanding and Early Es-timationsAnders Wesslen, Ph.D. thesis, June 1999.ISRN LUTEDX/TETS- -1043- -SE+242P

136. Performance Analysis of BluetoothNiklas Johansson, Lic. thesis, March 2000.ISRN LUTEDX/TETS- -1044- -SE+76P

137. Controlling Software Quality through Inspections and Fault Con-tent EstimationsThomas Thelin, Lic. thesis, May 2000ISRN LUTEDX/TETS- -1045- -SE+146P

138. On Fault Content Estimations Applied to Software Inspections andTestingHakan Petersson, Lic. thesis, May 2000.ISRN LUTEDX/TETS- -1046- -SE+144P

139. Modeling and Evaluation of Internet ApplicationsAjit K. Jena, Lic. thesis, June 2000.ISRN LUTEDX/TETS- -1047- -SE+121P

Page 103: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

94 Bibliography

140. Dynamic traffic Control in Multiservice Networks - Applicationsof Decision ModelsUlf Ahlfors, Ph.D. thesis, October 2000.ISRN LUTEDX/TETS- -1048- -SE+183P

141. ATM Networks Performance - Charging and Wireless ProtocolsTorgny Holmberg, Lic. thesis, October 2000.ISRN LUTEDX/TETS- -1049- -SE+104P

142. Improving Product Quality through Effective Validation MethodsTomas Berling, Lic. thesis, December 2000.ISRN LUTEDX/TETS- -1050- -SE+136P

143. Controlling Fault-Prone Components for Software EvolutionMagnus C. Ohlsson, Ph.D. thesis, June 2001.ISRN LUTEDX/TETS- -1051- -SE+218P

144. Performance of Distributed Information SystemsNiklas Widell, Lic. thesis, February 2002.ISRN LUTEDX/TETS- -1052- -SE+78P

145. Quality Improvement in Software Platform DevelopmentEnrico Johansson, Lic. thesis, April 2002.ISRN LUTEDX/TETS- -1053- -SE+112P

146. Elicitation and Management of User Requirements in Market-DrivenSoftware DevelopmentJohan Natt och Dag, Lic. thesis, June 2002.ISRN LUTEDX/TETS- -1054- -SE+158P

147. Supporting Software Inspections through Fault Content Estimationand Effectiveness AnalysisHakan Petersson, Ph.D. thesis, September 2002.ISRN LUTEDX/TETS- -1055- -SE+237P

148. Empirical Evaluations of Usage-Based Reading and Fault ContentEstimation for Software InspectionsThomas Thelin, Ph.D. thesis, September 2002.ISRN LUTEDX/TETS- -1056- -SE+210P

149. Software Information Management in Requirements and Test Doc-umentationThomas Olsson, Lic. thesis, October 2002.ISRN LUTEDX/TETS- -1057- -SE+122P

150. Increasing Involvement and Acceptance in Software Process Im-provementDaniel Karlstrom, Lic. thesis, November 2002.ISRN LUTEDX/TETS- -1058- -SE+125P

151. Changes to Processes and Architectures; Suggested, Implementedand Analyzed from a Project viewpointJosef Nedstam, Lic. thesis, November 2002.ISRN LUTEDX/TETS- -1059- -SE+124P

Page 104: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

Bibliography 95

152. Resource Management in Cellular Networks -Handover Prioritiza-tion and Load Balancing ProceduresRoland Zander, Lic. thesis, March 2003.ISRN LUTEDX/TETS- -1060- -SE+120P

153. On Optimisation of Fair and Robust Backbone NetworksPal Nilsson, Lic. thesis, October 2003.ISRN LUTEDX/TETS- -1061- -SE+116P

154. Exploring the Software Verification and Validation Process withFocus on Efficient Fault DetectionCarina Andersson, Lic. thesis, November 2003.ISRN LUTEDX/TETS- -1062- -SE+134P

155. Improving Requirements Selection Quality in Market-Driven Soft-ware DevelopmentLena Karlsson, Lic. thesis, November 2003.ISRN LUTEDX/TETS- -1063- -SE+132P

156. Fair Scheduling and Resource Allocation in Packet Based RadioAccess NetworksTorgny Holmberg, Ph.D. thesis, November 2003.ISRN LUTEDX/TETS- -1064- -SE+187P

157. Increasing Product Quality by Verification and Validation Improve-ments in an Industrial SettingTomas Berling, Ph.D. thesis, December 2003.ISRN LUTEDX/TETS- -1065- -SE+208P

158. Some Topics in Web Performance AnalysisJianhua Cao, Lic. thesis, June 2004.ISRN LUTEDX/TETS- -1066- -SE+99P

159. Overload Control and Performance Evaluation in a Parlay/OSAEnvironmentJens K. Andersson, Lic. thesis, August 2004.ISRN LUTEDX/TETS- -1067- -SE+100P

160. Performance Modeling and Control of Web ServersMikael Andersson, Lic. thesis, September 2004.ISRN LUTEDX/TETS- -1068- -SE+105P

Page 105: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson

96 Bibliography

Page 106: Performance modeling and control of web servers Andersson ...lup.lub.lu.se/search/ws/files/4363215/625298.pdf · ii ISSN1101-3931 ISRNLUTEDX/TETS–1068–SE+105P cMikaelAndersson