1 Part VII Component-level Performance Models for the Web © 1998 Menascé & Almeida. All Rights...

Post on 29-Jan-2016

215 views 0 download

transcript

1

Part VII

Component-level Performance Models for the Web

© 1998 Menascé & Almeida. All Rights Reserved.

2

Part VII: Learning Objectives

• Characterize component-level models

• Compute demands on system resources.

• Compute waiting times, response times, throughputs.– open models (e.g., web servers)– closed models (e.g., intranets)

3

Component-level Models

• The internal components of a server (e.g., processors, disks) as well as network links are modeled explicitly.

• Changes in server architecture, component upgrades (e.g., use of a faster CPU or faster network connections) can be evaluated with component-level models.

4

Component-level models

server

incominglink

outgoinglink

server

5

Component-level models

server

cpu

disk 1

disk 2

incominglink

outgoinglink

server

6

Component-level models

server

cpu

disk 1

disk 2

incominglink

outgoinglink

server

7

Component-level Models

• Each component is represented by a resource (e.g. CPU, disk, communication link) and a queue of requests waiting for the resource.

resource

queue

8

Component-level ModelsParameters

• Service demand of a request at a resource: total service time of the request at the device.

cpu

Dcpu= total CPU time of a request

9

Computing Service Demandscpu

disk 1

disk 2

incominglink

outgoinglink

server

•The average size of a file retrieved per request is 20KBytes. •The average disk service time per KByte accessed is 10msec.• 40% of the files are on disk 1 and 60% on disk 2.•The speed of the link connecting the server to the Internet is 1.5 Mbps (a T1 link).•The CPU processing time per request is 2 msec + 0.05 msec per KByte accessed.•The average size of an HTTP request is 200 bytes.

10

Disk Service Demandcpu

disk 1

disk 2

incominglink

outgoinglink

server•The average size of a file retrieved per request is 20KBytes. •The average disk service time per KByte accessed is 10 msec.• 40% of the files are on disk 1 and 60% on disk 2.

Ddisk1= 0.4*10 msec/Kbyte * 20KBytes = 80 msec = 0.080 sec

Ddisk2= 0.6*10 msec/Kbyte * 20KBytes = 120 msec = 0.120 sec

11

CPU Service Demand

cpu

disk 1

disk 2

incominglink

outgoinglink

server

•The average size of a file retrieved per request is 20KBytes. •The CPU processing time per request is 2 msec + 0.05 msec per KByte accessed.

Dcpu = 2 msec + 0.05 msec/KByte * 20 Kbyte = 3 msec = 0.003 sec

12

Incoming Link Service Demand

• The speed of the link connecting the server to the Internet is 1.5 Mbps (a T1 link).•The average size of an HTTP request is 200 bytes.

DIncLink = 200 * 8 bits / 1,500,000 bps = 0.00107 sec

cpu

disk 1

disk 2

incominglink

outgoinglink

server

13

Outgoing Link Service Demand

cpu

disk 1

disk 2

incominglink

outgoinglink

server

•The average size of a file retrieved per request is 20KBytes. •The speed of the link connecting the server to the Internet is 1.5 Mbps (a T1 link).

DOutLink = 20 * 1024 * 8 bits / 1,500,000 bps = 0.109 sec

14

Computing Service Demands

cpu

disk 1

disk 2

incominglink

outgoinglink

server

0.109 sec0.00107 sec

0.003 sec

0.08 sec

0.12 sec

Service demands do not include any queuing time! It is justservice time.

15

• Your company decided to add multimedia content to the Web-based training application. The average size of a Web document will increase from 10 Kbytes to 80Kbytes. Assuming the same disk will be used, what changes need to be made to the model to predict the performance in this new scenario?

Practice DrillPractice DrillUsing Models for Decision Making

16

• The web-based human resources application is being rewritten. CGI scripts will be replaced by Java applets. Early prototyping showed that the Java -based solution uses 80% less CPU than its CGI-based counterpart. How should the model be changed to reflect the new software architecture?

Practice DrillPractice DrillUsing Models for Decision Making

17

Computing Waiting Times

Waiting times depend on the load (arrival rate of requests) and on the service demands.

cpu

disk 1

disk 2

incominglink

outgoinglink

server

0.109 sec0.00107 sec

0.003 sec

0.08 sec

0.12 sec

18

Computing Residence Times•n transactions seen, on the avg, by arriving request J.•Each of the n requests found by J need D sec of total service.•So, J has to wait for n * D seconds before being served.•If we add J’s total service time D we get J’s residence time R at the resource:

D

J

n

R

R = D + n*D

From Little’s Law: n = R *

So, R = D + R * * D

R = D / (1 - * D )

19

Computing Residence Times

Di

Ri

i

ii D

DR

1

Service demandat resource i

Utilization of resource i (Ui)

20

Residence Time at Incoming Link

cpu

disk 1

disk 2

incominglink

outgoinglink

Webserver

0.109 sec0.00107 sec0.003 sec

0.08 sec

0.12 sec req/sec

sec 00108.0

00107.051

00107.0

1

IncLink

IncLinkIncLink D

DR

21

Residence Time at Outgoing Link

cpu

disk 1

disk 2

incominglink

outgoinglink

Webserver

0.109 sec0.00107 sec0.003 sec

0.08 sec

0.12 sec req/sec

sec 239.0

109.051

109.0

1

OutLink

OutLinkOutLink D

DR

22

Residence Time at the CPUcpu

disk 1

disk 2

incominglink

outgoinglink

Webserver

0.109 sec0.00107 sec0.003 sec

0.08 sec

0.12 sec req/sec

sec 00305.0

003.051

003.0

1

cpu

cpuCPU D

DR

23

Residence Time at Disk 1

cpu

disk 1

disk 2

incominglink

outgoinglink

Webserver

0.109 sec0.00107 sec0.003 sec

0.08 sec

0.12 sec req/sec

sec 133.0

08.051

08.0

1 1

11

disk

diskdisk D

DR

24

Residence Time at Disk 2

cpu

disk 1

disk 2

incominglink

outgoinglink

Webserver

0.109 sec0.00107 sec0.003 sec

0.08 sec

0.12 sec req/sec

sec 3.0

12.051

12.0

1 2

22

disk

diskdisk D

DR

25

Summary of Results

ResourceServiceDemand

(sec)Utilization

ResidenceTime(sec)

Inc. LinkCPUDisk 1Disk 2Out. Link

0.001070.003000.080000.120000.109000.31307

0.54%1.50%

40.00%60.00%54.50%

0.001080.003050.133330.300000.239560.67702

Average Response Time

26

Response vs. Arrival Rate

0.0

2.0

4.0

6.0

8.0

10.0

12.0

14.0

0 1 2 3 4 5 6 7 8 9 9.1

Arrival Rate (req/sec)

Av

g. R

esp

on

se T

ime

(se

c)

27

• Your company’s Web site is becoming popular. It is expected that the load will double in the next two months from its current load of 6 HTTP requests/sec. Management is considering installing an additional T1 link. Before making the investment, the company wants to know what is the performance gain?

Practice DrillPractice DrillUsing Models for Decision Making

28

• Which model parameters need to be changed?

Practice DrillPractice DrillUsing Models for Decision Making

29

Open vs. Closed QN Models

• The models presented so far are open QN models because there is no limit on the number of requests in the system.

• When the number of requests in the system is limited, we need closed QN models.– e.g., servers with limited degree of MPL.– C/S systems with known number of clients.

30

Open Model Equations

iUU

DR

DU

i

i

ii

ii

allfor 11

31

Multiple Classes of Requests• Different HTTP requests may have different

file sizes, frequency of arrival and different resource service demands.

ClassAvg. File Size (KB) % Requests

CPU Time per

HTTP request

(sec)

1 5.0 25% 0.006452 10.0 30% 0.008163 38.5 19% 0.019554 350.0 1% 0.142625 1.0 25% 0.35000

32

Equations for Open Multiple Class QN Models

K

irir

i

riri

R

rrii

riri

RR

U

DR

UU

DU

1,

,,

1,

,,

1

33

Multiclass Example• A Web server has one CPU and two disks. It

receives two types of HTTP requests: for small text files and for large images. The average arrival rates are 5 requests/sec for text and 2 requests/sec for images. What is the response times for each type of request?

34

Open Multiclass Queuing Networks This w okbook comes w ith the book "Capacity Planning for Web Performance",

by D. A. Menascé and V. A. F. Almeida, Prentice Hall, 1998.

No. Queues: 3No. of Classes: 2

Classes Arrival Rates: 5 2

Service Demand MatrixClasses

Queues Type (LI/D/MPn) Text Image

CPU LI 0.100 0.150Disk 1 LI 0.080 0.200Disk 2 LI 0.070 0.100

Initialize Solve HelpInitialize

Restore

35

Open Multiclass Queuing Networks - Residence Times This wokbook comes with the book "Capacity Planning for Web Performance",

by D. A. Menascé and V. A. F. Almeida, Prentice Hall, 1998.

Classes Queues Text Images

1 0.500 0.7502 0.400 1.0003 0.156 0.222

Total 1.056 1.972

36

Open Multiclass Queuing Networks - Utilizations This w okbook comes w ith the book "Capacity Planning for Web Performance",

by D. A. Menascé and V. A. F. Almeida, Prentice Hall, 1998.

Classes Queues Text Image TotalCPU 0.500 0.300 0.800Disk 1 0.400 0.400 0.800Disk 2 0.350 0.200 0.550

37

A Complete Web Server Example

Web server

10 Mbps Ethernet

router(50sec/packet)

T1 link

ISPInternet

6 HTTP req/sec

38

A Complete Web Server Example (cont’d)

incominglink

outgoinglink

router LAN

cpu

disk

Web server

39

A Complete Web Server Example (cont’d)

Workload

ClassAvg. File Size (KB) % requests

CPU time per HTTP

requests (sec)

1 5.0 35 0.006452 10.0 50 0.008163 38.5 14 0.019554 350.0 1 0.14262

40

Server Side Model This wokbook comes with the book "Capacity Planning for Web Performance",

by D. A. Menascé and V. A. F. Almeida, Prentice Hall, 1998.

Parameters:Lan Bandwidth (Mbps): 10Max. LAN PDU (bytes): 1518LAN Frame Overhead (bytes): 18Router Latency (microseconds/packet): 50Internet Link Bandwidth (Kbps) 1500Average Size of HTTP requests (bytes): 100Number of Classes of Documents: 4Average Document Size (Kbytes): 15.64Total Arrival Rate of HTTP requests (req/sec): 6CPU time per HHTP request (sec): 0.00645 0.00816 0.01955 0.14262Average Disk Service Time/Kbyte (msec) 6Number of Web Servers 1 Number of Disks at File Server 0 (use 0 if no file server is used)CPU time at the File Server Request per Kbyte (sec): 0.00100Row for Document Sizes 21Document Sizes per Class (Kbytes): 5 10 38.5 350Percent of Documents per Class: 0.35 0.5 0.14 0.01Class Arrival Rates: 2.10 3.00 0.84 0.06

A Web Server Example (cont’d)

41

Classes:Service Demands (sec): 1 2 3 4LAN 0.0044 0.0085 0.0325 0.2942Router 0.0006 0.0007 0.0017 0.0124Outgoing Link 0.0269 0.0535 0.2055 1.8679Incoming Link 0.0016 0.0016 0.0016 0.0016Web Server CPU (per web server) 0.0064 0.0082 0.0196 0.1426Web Server Disk (per web server) 0.0300 0.0600 0.2310 2.1000

A Web Server Example (cont’d)

42

Open Multiclass Queuing Networks This wokbook comes with the book "Capacity Planning for Web Performance",

by D. A. Menascé and V. A. F. Almeida, Prentice Hall, 1998.

No. Queues: 6No. of Classes: 4

Classes Arrival Rates: 2.1 3 0.84 0.06

Service Demand MatrixClasses

Queues Type

(LI/D/MPn) 1 2 3 4LAN LI 0.0044 0.0085 0.0325 0.2942Router LI 0.0006 0.0007 0.0017 0.0124Outgoing Link LI 0.0269 0.0535 0.2055 1.8679Incoming Link LI 0.0016 0.0016 0.0016 0.0016Web Server CPU LI 0.0064 0.0082 0.0196 0.1426Web Server Disk LI 0.0300 0.0600 0.2310 2.1000

A Web Server Example (cont’d)

43

Open Multiclass Queuing Networks - Utilizations This wokbook comes with the book "Capacity Planning for Web Performance",

by D. A. Menascé and V. A. F. Almeida, Prentice Hall, 1998.

Classes Queues 1 2 3 4 TotalLAN 0.009 0.026 0.027 0.018 0.080Router 0.001 0.002 0.001 0.001 0.005Outgoing Link 0.056 0.161 0.173 0.112 0.502Incoming Link 0.003 0.005 0.001 0.000 0.009Web Server CPU 0.014 0.024 0.016 0.009 0.063Web Server Disk 0.063 0.180 0.194 0.126 0.563

A Web Server Example (cont’d)

44

Open Multiclass Queuing Networks - Queue Lengths This wokbook comes with the book "Capacity Planning for Web Performance",

by D. A. Menascé and V. A. F. Almeida, Prentice Hall, 1998.

Classes Queues 1 2 3 4 TotalLAN 0.010 0.028 0.030 0.019 0.087Router 0.001 0.002 0.001 0.001 0.005Outgoing Link 0.113 0.322 0.347 0.225 1.007Incoming Link 0.003 0.005 0.001 0.000 0.009Web Server CPU 0.014 0.026 0.018 0.009 0.067Web Server Disk 0.144 0.412 0.444 0.288 1.289

A Web Server Example (cont’d)

45

Open Multiclass Queuing Networks - Residence Times This wokbook comes with the book "Capacity Planning for Web Performance",

by D. A. Menascé and V. A. F. Almeida, Prentice Hall, 1998.

Classes Queues 1 2 3 4LAN 0.005 0.009 0.035 0.320Router 0.001 0.001 0.002 0.012Outgoing Link 0.054 0.107 0.413 3.749Incoming Link 0.002 0.002 0.002 0.002Web Server CPU 0.007 0.009 0.021 0.152Web Server Disk 0.069 0.137 0.529 4.806Total 0.136 0.265 1.001 9.041

major contributionto service demand

A Web Server Example (cont’d)

46

Closed QN Model

• A Web server has one CPU and one disk. Assume that n requests are in execution concurrently. Each request takes 3 msec of CPU and 10 msec of disk time. What is the throughput and response time of the Web server?

47

Closed QN Model

cpu

disk

Web server

n

48

Closed QN Model

• Residence Time Equations:

R n D D n ncpu cpu cpu cpu( ) ( ) 1

my service timeavg. number of requestsin the CPU found uponmy arrival

my total waiting time at the CPU

49

Closed QN Model

• Residence Time Equations:

R n D n ncpu cpu cpu( ) ( ) 1 1

R n D n ndisk disk disk( ) ( ) 1 1

50

Closed QN Model• Throughput Equation. Using Little’s Law:

n X n R no o ( ) ( )

total response time

throughput

R n R n R no cpu disk( ) ( ) ( )

51

Closed QN Model

• Throughput Equation:

X nn

R n

n

R n R noo cpu disk

( )( ) ( ) ( )

52

Closed QN Model

• Queue Length Equations. Applying Little’s Law and the Forced Flow Law to the CPU and disk.

n n X n R ncpu o cpu( ) ( ) ( )

n n X n R ndisk o disk( ) ( ) ( )

53

Putting It All Together

R n D n ncpu cpu cpu( ) ( ) 1 1

R n D n ndisk disk disk( ) ( ) 1 1

54

Putting It All Together

X nn

R n

n

R n R noo cpu disk

( )( ) ( ) ( )

R n D n ncpu cpu cpu( ) ( ) 1 1

R n D n ndisk disk disk( ) ( ) 1 1

55

Putting It All Together

n n X n R ncpu o cpu( ) ( ) ( ) n n X n R ndisk o disk( ) ( ) ( )

X nn

R n

n

R n R noo cpu disk

( )( ) ( ) ( )

R n D n ncpu cpu cpu( ) ( ) 1 1

R n D n ndisk disk disk( ) ( ) 1 1

56

Solving the Model

n X Rcpu o cpu( ) ( ) ( )1 1 1 n X Rdisk o disk( ) ( ) ( )1 1 1

XR R Ro

o cpu disk

( )( ) ( ) ( )

11

1

1

1 1

R D n Dcpu cpu cpu cpu( ) ( )1 1 0

R D n Ddisk disk disk disk( ) ( )1 1 0

57

Solving the Model

n X Rcpu o cpu( ) ( ) ( )2 2 2 n X Rdisk o disk( ) ( ) ( )2 2 2

XR R Ro

o cpu disk

( )( ) ( ) ( )

21

2

1

2 2

R D ndisk disk disk( ) ( )2 1 1

58

Solution to the Closed QN model

n Rcpu Rdisk Ro Xo ncpu ndisk0 0.000 0.000 0.000 0.0001 3.000 10.000 13.000 0.077 0.231 0.7692 3.692 17.692 21.385 0.094 0.345 1.6553 4.036 26.547 30.583 0.098 0.396 2.6044 4.188 36.041 40.229 0.099 0.416 3.5845 4.249 45.836 50.085 0.100 0.424 4.5766 4.273 55.758 60.031 0.100 0.427 5.5737 4.281 65.730 70.011 0.100 0.428 6.5728 4.284 75.720 80.004 0.100 0.428 7.572

59

Solution to the Closed QN modelXo

0.00

0.02

0.04

0.06

0.08

0.10

0.12

0 1 2 3 4 5 6 7 8

Number of Requests

Th

rou

gh

pu

t (r

eq

/se

c)

60

Closed Models Equations

R n D n n

X nn

R n

n n X n R n

n i

i i i

ii

K

i o i

i

( ) [ ( )]

( )( )

( ) ( ) ( )

( ) .

1 1

0 0

0

1

Initialization: for all

61

An Intranet Example with Proxy Cache ServerClients

ProxyServer External Web

Servers

router(50sec/packet)

Internet

LAN (10 Mbps Ethernet)

.

.

.

62

An Intranet Example (cont’d)Cache Hit

routerLAN

cpu

disk

proxy cache server

incominglink

outgoinglink

ISP Internet web server

clients

63

An Intranet Example (cont’d)Cache Miss

routerLAN

cpu

disk

proxy cache server

incominglink

outgoinglink

ISP Internet web server

clients

64

Client Side Model - Proxy Case This wokbook comes with the book "Capacity Planning for Web Performance",

by D. A. Menascé and V. A. F. Almeida, Prentice Hall, 1998.

Parameters: Service Demands (sec):Lan Bandwidth (Mbps): 10 Client 3.33333Max. LAN PDU (bytes): 1518 LAN 0.01546LAN Frame Overhead (bytes): 18 Router 0.00040Router Latency (microseconds/packet): 50 Outgoing Link 0.02093Internet Link Bandwidth (Kbps) 56 Internet 0.37692Internet Round Trip Time (msec): 100 Incoming Link 0.86542Internet Data Transfer Rate (Kbytes/sec): 20 Proxy CPU 0.00038Browser Rate (HTTPops/sec): 0.3 Proxy Disk 0.07246Number of Clients: 150Percent of Active Clients: 0.1Average Size of HTTP requests (bytes): 100Number of Classes of Documents: 4Average Document Size (Kbytes): 12.0768Proxy Cache Hit Ratio (0..1) 0.5Proxy CPU Time in case of Hit (sec) 0.00025Proxy CPU Time in case of Miss (sec) 0.00050Average Disk Service Time/Kbyte (msec) 6Document Sizes per Class (Kbytes): 0.8 5.5 80 800Percent of Documents per Class: 0.35 0.5 0.14 0.01

65

Closed Multiclass Queuing Networks This worksheet comes with the book "Capacity Planning for Web Performance",

by D. A. Menascé and V. A. F. Almeida, Prentice Hall, 1998.

No. Queues: 8 Tolerance: 0.0005No. of Classes: 1

Classes No. Requests per Class: 15Throughput per Class: 1.12535315

Service Demand MatrixClasses

Queues Type

(LI/D/MPn) 1Client D 3.33330LAN LI 0.01546Router D 0.00040Outgoing Link LI 0.02093Internet D 0.37692Incoming Link LI 0. 8654 .Proxy CPU LI 0. 0003 8Proxy Disk LI 0.07246

No. Iterations Error9 0.00018352

largest service demand

throughput in HTTP req/sec

66

Closed Multiclass Queuing Networks - Residence Times This worksheet comes with the book "Capacity Planning for Web Performance",

by D. A. Menascé and V. A. F. Almeida, Prentice Hall, 1998.

Classes Queues 1Client 3.333 this is think time (not part of response time)LAN 0.016Router 0.000Outgoing Link 0.021Internet 0.377Incoming Link 9.503Proxy CPU 0.000Proxy Disk 0.078Total 9.996

67

Intranet ExampleIncreasing the Bandwidth of the link to

the ISPLink

Bandwidth (Kbps)

Throughput (HTTP

req/sec)

Resp. Time (sec) Bottleneck

56 1.125 9.996 Link to ISP128 2.393 2.935 ISP+Internet+External Web Server256 3.475 0.984 ISP+Internet+External Web Server

1500 3.883 0.530 ISP+Internet+External Web Server

68

Part VII: Summary• Component-level models are used to represent

the various components of a networked system.

• Parameters for component-level models include the service demands on system resources, i.e. total time spent by a request receiving service from a resource.

69

Part VII: Summary (cont’d)

• Waiting times, response times, throughputs can be computed using– open models (e.g., web servers)– closed models (e.g., intranets)