Database Complexity Metrics Brad Freriks SWE6763, Spring 2011.
Understanding Website Complexity: Measurements, Metrics, and Implications
description
Transcript of Understanding Website Complexity: Measurements, Metrics, and Implications
1
Understanding Website Complexity: Measurements, Metrics, and Implications
Michael ButkiewiczHarsha Madhyastha UC Riverside
Vyas Sekar Intel Labs
2
doubleclick.net
cnn.comfacebook.com
cdn.turner.comads.cnn.com
Websites today are very complex!Diverse content from many servers and third party services
67% of users encounter “slow” sites once a week (gomez.com)
30% > 3 Seconds
Median = 2 Seconds
Users see slow loading websites!
3
Why does load time matter?
4
Source: gomez.com
Implications for: Website ownersEnd usersBrowser developersCustomization
Our work
• Comprehensive study of website complexity– Analysis of sites across rank and category– Content and Service level metrics
• Key metrics that impact performance
5
Roadmap
• Introduction
• Measurement Setup
• Complexity
• Performance Implications
• Discussion and Summary
6
Measurement Setup
• Selecting websites– 1,700 websites from Quantcast top 20k– Primary focus on landing (home) page – Annotated with Alexa Categories
• Tools– Firefox + Firebug– No Local Caching
• Approach – 4 vantage points (3 EC2, 1 UCR)– Every 60 second one page loaded– ~30 measurements per site per vantage point over 9 weeks
7
Example Site Download
8
CSS
Image
Script
HTML
Time
A B C DObjects
"log":{ "browser":{ "name":"Firefox”, }, "pages":[{ "startedDateTime":"18:12:59.702-04:00", "title":"Wired News”, "pageTimings":{ "onLoad":4630 }] "entries":[{ "startedDateTime":"18:12:59.702-04:00", "time”:75, "request":{ ... "headers":[{ "name":"Host", "value":"www.wired.com" }, } “response":{ "content":{ "mimeType":"text/html", "size":186013, ... ...
Example Firebug Log
9
Roadmap
• Introduction
• Measurement Setup
• Complexity – Content-level– Service-level
• Performance Implications
• Discussion and future work
10
11
Median Site = 57 Objects!
Number of Objects: Across Categories
Median125 Objects!
12
20% > 100!
Number of Objects: Across Ranks
Not as much difference across rank ranges
Types of Content
13
Median site: 33 Images, 10 JavaScript, 3 CSS, 0 Flash Flash
14
Normalized types of content
Type % Mostly Homogeneous; Flash Skewed
Roadmap
• Introduction
• Measurement Setup
• Complexity – Content-level– Service-level
• Performance Implications
• Discussion and Summary
15
Median site requires contacting 8 servers16
Median News30 Servers!
Number of Servers
17
Median News20 Origins!
20% Sites > 13 Origins
Median site requires contacting 6 origins
Number of Origins
Popular non-origin providersName % of sitesgoogle-analytics 58doubleclick 45quantserve 30scorecardresearch 272mdn 24googleadservices 18facebook 17yieldmanager 16
18
Most common services: Analytics & AdvertisingMost common objects: Image (small!) and Javascript
bluekai.comimrworldwide.cominvitemedia.com
> 5% of sites each!
Not just usual suspects!
Contribution of non-origin services
19
Median SiteObjects / Bytes 30% 35%
20% sites > 80%from 3rd Party
Contribution of non-origin services
20
Time only 15%
Median SiteObjects / Bytes 30% 35%
80% from 3rd Party
Roadmap
• Introduction
• Measurement Setup
• Complexity
• Performance Implications
• Discussion and Summary
21
Metric Review
22
Content-Level Characteristics• Total Objects• Object Type: Number, Size• Absolute & Normalized
Service-Level Characteristics• Number: Server & Origins• Non-Origin Fraction: Servers / Objects / Time
Total combination of 33 metrics
23
Load Time vs. Metric Correlation
Load Time Variability vs. Metrics
24
Roadmap
• Introduction
• Measurement Setup
• Complexity – Content-level– Service-level
• Performance Implications
• Discussion and Summary
25
Discussion: Many other variables
• Client-side plugins– NoScript reduces #objects by half!
• Mobile-specific customizations– Mobile version reduces #objects to a quarter
• Landing vs. non-landing pages– Non-landing seem less complex
26
Conclusions• Comprehensive study of Website Complexity
• Median site: 57 objects, contacts 8 servers across 6 origins
• Categories show more differences than popularity ranks
• Non-origin content:– Analytics & advertising popular– large # objects, bytes, servers, not time
• Key performance indicators:– Load Time # objects– Variability # servers
Data: www.cs.ucr.edu/~harsha/web_complexity
27