July 2003SPECTS Network-Level Impacts on User-Level Web Performance Carey Williamson Nayden Markatchev University of Calgary
SPECTS July 2003 Introduction Blessing made the Internet available to the masses shields users from the low-layer technical details of networking provides seamless exchange of information, in a time- independent, location- independent, and platform- independent manner Curse made the Internet available to the masses placed a lot of stress on the Internet infrastructure traffic volume, sustained growth demands on the TCP/IP protocol suite (i.e.,TCP is not really a good “fit” for Web traffic demands) “The Web has been both a blessing and a curse.” -- CLW 2001
SPECTS July 2003 Related Work: TCP and the Web Persistent-connection HTTP [Mogul 1995] Larger TCP initial window size [Allman et al 1998] TCP “fast start” to reduce Web transfer latency [Padmanabhan/Katz 1998] Parallel (concurrent) TCP connections supported in most Web browsers today (e.g., 4) Ensemble-TCP to manage aggregation of TCP connections to same dest. [Eggert et al 2000] Rate-based pacing of TCP packets for the Web [Aggarwal et al 2000] [Ke/Williamson 2000] Context-aware TCP/IP [Williamson/Wu 2002]
SPECTS July 2003 Motivation Most of the current Web performance literature is focused on either: Web caching simulation studies (i.e., with an application-layer view, focusing on hit ratios, but ignoring network-level issues and protocol effects); or TCP performance studies (i.e., packet-level studies, but often focusing on throughput for bulk transfers, rather than response times for (short) Web transfers) Our Objective: To explore the relationships between TCP, network-level effects, Web caching, and user-perceived Web response time
SPECTS July 2003 Research Methodology Overview Network simulation (ns2) Synthetic Web workloads (WebTraff) Simple network model: two-level Web proxy caching hierarchy settable parameters for link capacity, propagation delay, cache hit ratio, etc Packet-level simulation study (TCP Reno) Performance metric: object transfer time
SPECTS July 2003 Network Model Web Server Proxy1 Proxy2 Clients C1C1 C2C2 C3C3 d1d1 d2d2 d3d3
SPECTS July 2003 Network Model Web Server Proxy1 Proxy2 Clients (Hit at Proxy1)
SPECTS July 2003 Network Model Web Server Proxy1 Proxy2 Clients (Hit at Proxy2)
SPECTS July 2003 Network Model Web Server Proxy1 Proxy2 Clients (Download from server)
SPECTS July 2003 Simulation Model Assumptions Two-level Web proxy caching hierarchy All Web content is cacheable static content Data transfers are unidirectional toward the clients (i.e., we ignore the HTTP request step) One-way TCP model (i.e., models the data transfer only, using DATA/ACK; no SYN/FIN) TCP Reno, with segment size of 512 bytes Proxy caches behave as store-and-forward routers (on a per-packet basis)
SPECTS July 2003 Simulation Methodology Multi-step process: Workload generation using WebTraff (makes a time-ordered sequence of 5000 Web object transfer sizes, with desired request arrival rate) Modify workload file to randomly associate transfers with either Proxy1, Proxy2, or Server based on desired cache hit ratios (HR1, HR2) Use the ns2 network simulator to model the TCP transfers on the desired network model
SPECTS July 2003 Experimental Design FactorsLevels Link Capacity C (Mbps)10, 100, 1000 Propagation Delay d (msec)1, 5, 10, 30, 60 Request Arrival Rate (req/sec)10, 20, 40, 80 Child Proxy Hit Ratio HR120%, 30%, 40% Parent Proxy Hit Ratio HR27%, 10%, 15% Full-factorial experiment (540 possible combinations) Performance metric: TCP transfer time for each Web object download (plotted versus transfer size) Network Parameters Workload Parameters
SPECTS July 2003 Web Workload Model 5000 HTTP transfers synthetically generated by the WebTraff tool [Markatchev/Williamson 2002] Poisson arrival process assumed for Web requests Four different request arrival rates considered: Light: 10 req/sec (approx Mbps offered load) Moderate: 20 req/sec (approx Mbps offered load) Medium: 40 req/sec (approx Mbps offered load) Heavy: 80 req/sec (approx Mbps offered load)
SPECTS July 2003 Web Workload Characteristics
SPECTS July 2003 Baseline Scenario Link Capacity C1 = C2 = C3 = 10 Mbps Propagation Delay d1 = 1 msec; d2 = 5 msec; d3 = 30 msec Hit Ratios HR1 = 40%; HR2 = 15% Request Arrival Rate Light: 10 requests/sec
SPECTS July 2003 Simulation Results ( Baseline Scenario )
SPECTS July 2003 Simulation Results ( Baseline Scenario )
SPECTS July 2003 Simulation Results ( Baseline Scenario )
SPECTS July 2003 Simulation Results ( Baseline Scenario ) “slower” “faster”
SPECTS July 2003 Simulation Results ( Baseline Scenario ) Queueing Delays
SPECTS July 2003 Simulation Results ( Baseline Scenario ) Packet Losses/Retransmissions
SPECTS July 2003 Results Interpretation TCP slow start is evident (for large RTT) The “width” of steps increases exponentially The vertical separation reflects propagation delay component of RTT Queuing delays, packet losses, timeouts, and retransmissions manifest themselves as deviations from the normal structure
SPECTS July 2003 Effects of Network Link Capacity To model current network infrastructures, we considered four sets of link capacities: C1 =10 Mbps, C2 =10 Mbps, C3 =10 Mbps (baseline) C1 =100 Mbps, C2 =10 Mbps, C3 =10 Mbps C1 =100 Mbps, C2 =100 Mbps, C3 =10 Mbps C1 =1000 Mbps, C2 =100 Mbps, C3 =10 Mbps This models increasingly faster client network access to the Internet, while the WAN backbone to the server remains slow (10 Mbps)
SPECTS July 2003 Results for Link Capacity C1 = 10 Mbps (baseline)
SPECTS July 2003 Results for Link Capacity C1 = 100 Mbps (upgrade)
SPECTS July 2003 Effect of Propagation Delay Values for propagation delay d1 = 1 msec, d2 = 5 msec, d3 = 30 msec d1 = 1 msec, d2 = 5 msec, d3 = 60 msec d1 = 1 msec, d3 = 10 msec, d3 = 30 msec d1 = 1 msec, d2 = 10 msec, d3 = 60 msec Representing LAN, MAN, WAN scenarios
SPECTS July 2003 Propagation Delay ( d2 = 5 msec )
SPECTS July 2003 Propagation Delay ( d2 = 10 msec )
SPECTS July 2003 Effect of Request Arrival Rate Vary the offered load: 10 requests/sec 20 requests/sec 40 requests/sec 80 requests/sec Makes network more and more congested
SPECTS July 2003 Effect of Request Arrival Rate ( Light Offered Load: 10 req/sec )
SPECTS July 2003 Effect of Request Arrival Rate ( Moderate Offered Load: 20 req/sec )
SPECTS July 2003 Effect of Request Arrival Rate ( Medium Offered Load: 40 req/sec )
SPECTS July 2003 Effect of Request Arrival Rate ( Heavy Offered Load: 80 req/sec )
SPECTS July 2003 Effect of Cache Hit Ratio Vary the Cache Hit Ratio at each of the Web proxy caches in the simulated network “Good”: HR1 = 40%, HR2 = 15% (baseline) “Average”: HR1 = 30%, HR2 = 10% “Poor”: HR1 = 20%, HR2 = 7% Assess user-perceived Web response time for fairly realistic range of possible cache hit ratios, and consideration of “cache filter effects”
SPECTS July 2003 Effect of Cache Hit Ratio (“Good” HR1 = 40%; HR2 = 15%)
SPECTS July 2003 Effect of Cache Hit Ratio (“Average” HR1 = 30%; HR2 = 10%)
SPECTS July 2003 Effect of Cache Hit Ratio (“Poor” HR1 = 20%; HR2 = 7%)
SPECTS July 2003 Effect of Cache Hit Ratio
SPECTS July 2003 Effect of Cache Management Policy Suppose that the two caches are coordinated using a size- based thresholding policy One cache for “small” items One cache for “large” items Is this a good idea? Scenario considered: Child Proxy: items <= 8 KB Parent Proxy: items > 8 KB Same hit ratios as in baseline
SPECTS July 2003 Cache Management Policies ( Default Policy; C1 = 10 Mbps )
SPECTS July 2003 Cache Management Policies ( Threshold Policy; C1 = 10 Mbps )
SPECTS July 2003 Cache Management Policies ( Default Policy; C1 = 100 Mbps )
SPECTS July 2003 Cache Management Policies ( Threshold Policy; C1 = 100 Mbps )
SPECTS July 2003 Summary of Simulation Results for Cache Management Policies
SPECTS July 2003 Summary and Conclusions Packet-level network simulation study of TCP effects on user-perceived Web perf. Link capacity, propagation delay, network congestion, and TCP protocol behaviors can all have significant impact on the user-perceived Web response time Relationship between Web cache hit ratio and user-perceived response time tricky Cache management and placement hard!
SPECTS July 2003 The End! Thanks for your attention! For more information: