Learning Objectives Present server architecture and performance issues
Discuss perception of performance
Introduce Web infrastructure components
Discuss Web server workload
Examine bandwidth, latency, and traffic in the Web
Introduce capacity planning questions
Learning Objectives
Present server architecture and performance issues
Discuss perception of performance
Introduce Web infrastructure components
Discuss Web server workload
Examine bandwidth, latency, and traffic in the Web
Introduce capacity planning questions
Web Server Performance Problems
Unpredictable nature of information retrieval and service request over the
World-Wide web
load spikes: 8 to 10 greater than avg.
high variability of document sizes: from 103 to 107 bytes
Web Server Elements hardware O.S. TCP/IP HTTP
server Contents:
. HTML
. graphics
. audio
. video
. other
Combination of HTTP and TCP/IP
HTTP defines a request-response interaction;
HTTP is a ``stateless’’ protocol;
one connection per object;
TCP connection setup overhead;
mandatory delays due to the protocols;
small Web objects and the TCP ``slow start’’ algorithm
HTTP request-response steps
map the server to an IP address;
establish a TCP/IP connection with the server;
transmit the request (URL,method,etc);
receive the response (HTML text or other information);
close the TCP/IP connection.
HTTP 1.0 interaction
0 RTT 1 RTT 2 RTT 3 RTT 4 RTT TCP conn. client sends
HTTP req. client parses
HTML doc. client sends
req. for image image begins
to arrive syn syn ack dat dat ack syn syn dat dat Server
time Server
time
HTTP 1.1 interaction
3 RTT 0 RTT 1 RTT image begins
to arrive syn syn ack dat dat ack ack dat dat Server
time Server
time TCP conn. client sends
HTTP req client parses
HTML doc.
client sends
req. for image ack 2 RTT
HTTP 1.0 and 1.1 interaction
0 RTT 1 RTT 2 RTT 3 RTT 4 RTT TCP conn. client sends
HTTP req. client parses
HTML doc. client sends
req. for image image begins
to arrive syn syn ack dat dat ack syn syn dat dat HTTP 1.0 HTTP 1.1 Server
time Server
time 0 RTT 1 RTT 3 RTT image begins
to arrive syn syn ack dat dat ack ack dat dat Server
time Server
time TCP conn. client sends
HTTP req client parses
HTML doc.
client sends
req. for image ack 2 RTT
Where are the delays?
Browser
Rbrowser
Network
Rnetwork
Server
Rserver
User response time: Rr
Rr = Rbrowser + Rnetwork + Rserver or
Rr = Rcache
Anatomy of an HTTP transaction
End user Client Browser Network Server click Data returned
from cache Display HTTP Request Data R’ s C R’ R’ r R’ N1 R’ N2 Server
residence
time
Average Response Time
Usually Rcache << Rnetwork + Rserver
pc denotes the fraction of time the data are found in the local cache
Rcache: response time when the data are found in a local cache
R = pc x Rcache + (1-pc) x Rr
Impact of the Browser’s Cache(example 4.3)
20% of the requests are serviced by the local cache
local cache response time = 400 msec
average response time for remote Web sites = 3 seconds
Impact of the Browser’s Cache (example 4.3)
20% of the requests are serviced by the local cache
local cache response time = 400 msec
average response time for remote Web sites = 3 seconds
R = pc x Rcache + (1-pc) x Rr
R = 0.20x 0.4 + (1-0.20) x 3.0
R = 2.48 sec
Impact of the Browser’s Cache (example 4.3)
What if we increase the size of the local cache?
Previous experiments show that tripling the cache size would raise the hit ratio to 45%. Thus,
Impact of the Browser’s Cache (example 4.3)
What if we increase the size of the local cache?
Previous experiments show that tripling the cache size would raise the hit ratio to 45%. Thus,
R = pc x Rcache + (1-pc) x Rr
R = 0.45x 0.4 + (1-0.45) x 3.0
R = 1.83 sec
Bottlenecks
As the number of clients and servers grow, overall performance is constrained by the performance of some components along the path from the client to the server.
The components that limit system performance are called bottlenecks
Example of a Bottleneck
A home user is unhappy with access times to Internet services. To cut response time down, the user is considering replacing the processor of his/her desktop with one twice as fast.
What will be the response time improvement if I upgrade the speed of my desktop computer?
Example of a Bottleneck(example 4.4)
for an average page:
avg. network residence time:
7,500 msec
avg. server residence time:
3,600 msec
avg browser time:
300 msec
Rr = Rbrowser + Rnetwork + Rserver = 300+7,500+3,600
Rr = 11,400 msec = 11.4 sec
Comments