1 part vii component-level performance models for the web © 1998 menascé & almeida. all rights...
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)