Download presentation
Presentation is loading. Please wait.
Published byTyrone Lucas Modified over 9 years ago
2
Zhichun Li The Robust and Secure Systems group at NEC Research Labs Northwestern University Tsinghua University 2
3
3
5
5 Almost everything is related to Web Web search Web mail Maps Online shopping Online Social network Calendar
6
Amazon: 100ms extra delay 1% sale loss Google search: 500 ms extra delay reduce display ads revenues by up to 20% 6
7
7
8
8
9
Example of Yahoo Maps 110 embedded objects Complex object dependencies 670KB JavaScript multiple data‐centers around the world 9
10
10
11
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
12
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
13
Regression based techniques (INFOCOM2009) Idea: Link Gradients predict E2E RST Problems: Independence assumption Only work for small-scale 13
14
A tool for automated performance prediction Fast prediction on the user perceived performance Timing perturbation based dependency discovery Dependency driven page load simulation 14
16
16 Parent( ) = Ancestor( ) = Descendant( ) =
17
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
18
Goal: Light‐weight black box based approach Browser independent Solution: Timing Perturbation based technique Inject delay See how delay propagate Dependence Graph 18
19
Regular Objects Regular objects have to be fully loaded before their descendants HTML Objects are special HTML is stream objects, allowing incremental rendering 19
20
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
22
22 PLT of Basic Scenario PLT of New Scenarios Predict
23
23 Change Delay Factors: Client, Server, RTT and DNS lookup Change Delay Factors: Client, Server, RTT and DNS lookup
24
24 Challenge: Keep the model simple while accuracy Solution: Right level abstraction Most fundamental characteristics
25
25
26
26
27
27 Where? What? Packet traces (Easy deployable) Three types of activities: Additional: infer RTT and # of RT Response Time = RTT + server delay
28
28
29
29 What is Client Delay? Last Parent is Available Browser request X Parsing HTML Executing JAVAscript
30
30 How to get Client Delay? + Client Delay =
31
31
32
32 Timing of Basic Scenario Basic Timing from Trace Basic Timing from Trace Client Delay =+ Adjusted Timing of New Scenario Change Delay Factors: (According to New Scenario) Client, Server, RTT and DNS lookup Change Delay Factors: (According to New Scenario) Client, Server, RTT and DNS lookup
33
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
34
34
35
35 Timing of New Scenario Browser Behavior ++
36
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
37
37
38
38
39
39
40
40
41
41
42
42
43
43
45
45
47
47
48
48
49
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
50
Setup: visit Yahoo Maps from Northwestern Baseline: inject 100ms RTT to one DC New Scenario: removing the 100ms RTT 50
51
Baseline: International node (relative poor performance) New Scenario: US node (good performance) 51
52
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
53
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.