zhichun li the robust and secure systems group at nec research labs northwestern university ...
TRANSCRIPT
Zhichun Li
The Robust and Secure Systems group at NEC Research Labs
Northwestern University
Tsinghua University
2
5
Almost everything is related to Web
Web search Web mail Maps Online shopping Online Social network Calendar
Amazon: 100ms extra delay 1% sale loss Google search: 500 ms extra delay reduce
display ads revenues by up to 20%
6
Example of Yahoo Maps 110 embedded objects Complex object dependencies 670KB JavaScript multiple data‐centers around the world
9
A/B test (controlled experiments)
Idea: • Measure through experiments by various
service setting
Problems:• Hard to fully automated• Expensive to set up• Quite slow: brute force
11
Service provider based techniques (WISE SIGCOMM2008)
Idea: • Based on server logs
Problems:• Multiple data sources• Object dependencies• Client side delays, e.g. JavaScript execution
time
12
Regression based techniques (INFOCOM2009)
Idea: • Link Gradients predict E2E RST
Problems:• Independence assumption • Only work for small-scale
13
A tool for automated performance prediction
• Fast prediction on the user perceived performance• Timing perturbation based dependency discovery• Dependency driven page load simulation
14
Simple HTML parsing/DOM traversal is not enough
• Object requests generated by JavaScript depend on the corresponding .JS files
• Event triggers: e.g. image A need image B trigger “onload” event
Extensive browser instrumentation is heavy-weight and browser dependent
17
Goal:• Light‐weight black box based approach• Browser independent
Solution: Timing Perturbation based technique
• Inject delay• See how delay propagate• Dependence Graph
18
Regular Objects Regular objects have to be fully loaded
before their descendants
HTML Objects are special HTML is stream objects, allowing
incremental rendering
19
Discovering Descendants:• Inject delay• Descendant of X: delayed together with X
Discovering Parent:• Non-stream parent: Idea: Parent of Z is X? No Y between Z and X
Algorithm:
• Stream Parent: Offset 20
24
Challenge: Keep the model simple while accuracy
Solution: Right level abstraction Most fundamental characteristics
27
Where?
What?
Packet traces (Easy deployable)
Three types of activities:
Additional: infer RTT and # of RT
Response Time = RTT + server delay
29
What is Client Delay?Last
Parent is Availabl
e
Browser request
X
Parsing HTMLExecuting JAVAscript
32
Timing of Basic
Scenario
Basic Timing
from TraceClient Delay= +
Adjusted Timing of
New Scenario
Change Delay Factors: (According to New Scenario)Client, Server, RTT and DNS lookup
Other Factors:
Add DNS lookup time based on DNS cache Add TCP handshaking time for new connections Add TCP waiting time when all connections are not
available
33
One assumption:
# of round-trips involved in loading an object not change
HTTP/1.1
No pipelining• Not been widely supported by proxies• Head of line blocking
Limit of TCP connections (for host, not IP)
36
Browser Behavior
Metrics:
Controlled experiments• Baseline: high latency• New Scenario: low latency• Use controlled gateway to inject and remove delays
Planetlab experiments• Baseline: International nodes• New scenario: US nodes• Improve all delay factors to be the same as the
US node. 49
Setup: visit Yahoo Maps from Northwestern
Baseline: inject 100ms RTT to one DC
New Scenario: removing the 100ms RTT
50
Baseline: International node (relative poor performance)
New Scenario: US node (good performance)
51
Web service performance prediction is hard – Modern web services are complicated
– Object dependencies are very important
An automated tool for performance prediction – Dependency discovery by Timing Perturbation
– Dependency (PDG) driven Performance Predication
Evaluation on the accuracy and usefulness
52
Cannot deal with dynamic object dependencies.
Packet loss assumption.
Lack of error warning scheme when it fails.
Mean and Variance of PLT.
Unit Load Time = PLT/PLW.
Ways to reduce simulation times?53