Title: The Effects of Wide-Area Conditions on WWW Server Performance
1The Effects of Wide-Area Conditions on WWW Server
Performance
- Erich Nahum, Marcel Rosu,
- Srini Seshan, Jussara Almeida
IBM T.J. Watson Research Center, CMU, Univ.
of Wisconsin
2Motivation Benchmarking Today
3Motivation Real Life
4Web Server Performance
- Workload Generators
- Webstone, SpecWeb, SURGE, s-client, httperf,
etc. - Based on measured traffic behavior
- Reproducible
- - WAN case is ignored no drops, delays, etc.
- Live Server Analysis
- California elections, 96 Olympics, WAWM
- Capture real WAN conditions
- - But not reproducible
5Outline
- Motivation and Background
- The WASP Environment
- Hardware and software
- Workload generators
- Results
- Effects of packet loss
- Effects of packet delay
- Effects of TCP variants
- Summary and Conclusions
6Wide-Area Server Performance
- What WASP is
- Realistic emulates the WAN environment
- Reproducible allows iterative analysis
- Configurable can vary many parameters
- Scalable scales to very large workloads
- What WASP is not
- Doesnt reproduce a specific web site
- Doesnt reproduce a specific network topology
7Centralized Approach
1 Gbps
100 Base-T
Gigabit Ethernet switch
server
clients
8WASP Approach
- Each client acts as a WAN emulator
- Use DummyNet to drop and delay packets
9Scaling with Load
10Packet Loss Model
Good
Bad
- Two-state loss model based on work by
- Bolot 93, Paxson 97, Rubenstein et al. 2000
- Packets forwarded in good state, dropped in bad
- Transitions based on desired loss rate
11Workload Generators
Responses
Requests
- S-client (from Rice), SURGE (from BU)
- WaspClient integrates the two
12Putting it all together
Workload generator (WaspClient)
Web server software ( Apache, Flash)
Gigabit Ethernet
Fast Ethernet
200 MHz PowerPC w/AIX 4.3.3
500 MHz P/3 w/ FreeBSD 3.3 DummyNet
13Experimental Methodology
- Performance Metrics
- Server throughput, utilization, response time,
capacity - Sensitivity Analysis
- Vary generated load in SURGE UEs
- Vary loss rate from 0 to 9
- Vary RTT from 0 to 400 msec
- Parameters taken from Paxson97, Allman2000
- Methodology
- Average of 10 runs
- Each run lasts 10 minutes
- 90 confidence intervals
14Outline
- Motivation and Background
- The WASP Environment
- Hardware and software
- Workload generators
- Results
- Effects of packet loss
- Effects of packet delay
- Effects of TCP variants
- Summary and Conclusions
15Throughput vs. Loss Rate
16Utilization vs. Loss Rate
17Whats going on?
Simple model for TCP throughput, where B max
segment size (MSS), R round-trip time, and p
loss rate. More elaborate models available
from Padhye et al. (SigComm98), Cardwell et al.
(Infocom2000)
18Latency vs. Loss Rate
19Capacity vs. Loss Rate
20Outline
- Motivation and Background
- The WASP Environment
- Hardware and software
- Workload generators
- Results
- Effects of packet loss
- Effects of packet delay
- Effects of TCP variants
- Summary and Conclusions
21Throughput vs. RTT
22Utilization vs. RTT
23Latency vs. RTT
24Capacity vs. RTT
25Many Variants of TCP
- Reno (current baseline in the Internet)
- Coarse-grained timeouts, fast retransmit
- Recovers 1 lost segment every 3 RTTs
- New Reno
- Uses partial acknowledgement to improve loss
recovery - Recovers 1 lost segment every RTT
- Sender-side only modification
- Selective Acknowledgements (SACK)
- Uses SACK option bit field to improve loss
recovery - Recovers up to 3 segments per RTT
- Requires modifications to both sender and
receiver - Other schemes exist (e.g., Vegas)
How do variants affect server performance?
26TCP Variants Latency
27Summary
- Presented the WASP environment
- Emulates WAN conditions in a controlled setting
- Scalable, reproducible, configurable
- Several results
- Delays and losses affect performance
- Loss reduces capacity, increases latency
- Delays increase latency but not capacity
- SACK, New Reno can reduce response time,
- dont affect capacity
- Other fallout
- Used to find bugs in AIX, Flash, AFPA (IBM
server) - Convinced AIX group to deploy SACK New Reno
28Future Directions
- HTTP 1.1
- Linux
- Bandwidth limitations
- Dynamic content
- Other workloads
- Proxies
- Clients
- SSL
29Apache Capacity vs. Loss
30Apache Capacity vs. RTT