hotmails performance tuning best practices aladdin a. nassar hotmails performance champion microsoft

23
Hotmail’s Performance Tuning Best Practices Aladdin A. Nassar Hotmail’s Performance Champion Microsoft

Upload: austin-simmons

Post on 26-Mar-2015

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Hotmail’s Performance Tuning Best Practices

Aladdin A. NassarHotmail’s Performance ChampionMicrosoft

Page 2: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Lessons Learned We cannot defy the laws of physics The truth is always out there History is bound to repeat itself if we don’t learn from it Newer technologies ~ bigger guns to shoot ourselves with Performance is like beauty – it only shines from the inside Performance effects are asymmetric Customers do not care what we think our performance is We will always find ways to outgrow our capacity It is very easy to lose the forest in the trees Some of the best performance gains are the simplest of all

Page 3: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Laws of Physics The more bytes you transfer, the longer they take to load HTML is much faster & more resilient than Javascript Web Applications are thin applications WW performance is bound by network latency TCP packets cannot travel faster than the speed of light Performance Tuning is an over-constrained problem Asymmetric bandwidths can bottleneck upstream Fewer bigger files download faster than many small files

Page 4: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Page Load Time (PLT) Components

Data Center1st Mile

Last Mile

MidgressBackbone

Server Rendering

Network

Client Rendering

Server Rendering Server

Rendering

Network

Client Rendering

Network

Client Rendering

- Server vs. Client side Rendering- End-user’s System Config

- Page Weight Up/Down

(KB)

- Bandwidth (Kbps)

- Network Latency (ms)

- Packet Loss (%)

- SW & HW Architecture

Data Flow

Page 5: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft
Page 6: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft
Page 7: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

TCP Win is defined by the Receiver

TCP Win (Wireless) = 8 KB

TCP Win (Win XP) = 16 KB

Packet Loss

Latency Bound

BW Bound

Theoretical BW

eBW Cap

1.5 x Network Latency (ms)Max eBW =

8,000 x TCP Win (KB)

Page 8: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Performance Best Practices Identify your performance bottlenecks & critical paths Trim down your page weights up/downstream Move your contents closer to your customers

Edge Caching Edge Computing Network Routing Optimization Geohosting

Instrument performance across your entire network Build a closed feedback loop – fine tune, measure, fine

tune, measure, etc.

Page 9: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Trim Page Weights (Downstream) Trim down your features to the core minimum Render most of your content on the server side Trim down your image sizes by:

Minimizing their usage Image Clustering Reducing their color palettes

Delay load, slow down, cap and monitor ads Use Cache Control, Expiration Dates & eTags effectively Group your static content into fewer bigger files Optimize between inline and stand-alone JS & CSS Full Postbacks vs. atomic updates using Ajax

Page 10: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Trim Page Weights (Upstream) Down/up connection speeds ~ 5 which means your bottleneck

is most likely upstream Trim down your cookies by:

Eliminating them altogether by moving your static contents to a different domain

Optimizing their use Moving them away from your root domain and root path “/” Compressing them Grouping multiple smaller files into fewer bigger ones (image clustering)

Trim down the number of requests and redirects (round trips)

Page 11: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Bandwidth Efficiency Identify your critical path Spread your downloads across multiple hostnames Hostname spreading can hurt narrowband On Demand / JIT downloading Control the sequencing of your downloads Unblock & defer your Javascript Minimize the browser’s “think time” Use appropriate tools to analyze bandwidth efficiency

Page 12: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

The Big Picture Outgrowing Moore’s Law Performance Based Design (PBD) Effect of Ads on Performance Relative Performance Index (RPI) Performance Consortium PLT1 vs. PLT2 Myths Performance vs. Capacity Planning

Page 13: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Q&A

Page 14: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Performance Tools Fiddler HTTP Watch HTTP Analyzer WANSim NetMon + Add-Ons RTA / VRTA / BWA Gomez Backbone/Last Mile Keynote Backbone In-House Automation Tools JS Instrumentation

Page 15: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Round Trips

Packets

Packets

Fast RetransmitFast Recovery

Tahoe

Reno

Page 16: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Reference: Akamai

Page 17: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Relative Performance Index (RPI)

RPI = the “Dow Jones” of Client PerformanceIt is a method not tied to any data source

T = Tolerable LevelF = Frustration Level

RPI = [0 – 100%]RPI = G + 0.5 Y %

T/F Levels:- Defined by Usability Studies + Competitors- Defined per transaction- Function of Page Content Value

100%

50%

0%

PLT (sec)T F

G %

Y %

R %

Pag

e V

iew

sR

ela

tive W

eig

ht

Page 18: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Ads Refresh Rates

Ads Refresh Rates (x Click / y Sec)

Revenues

Performance

Today = 1 click / 2 sec)Target ~ 2 clicks / 60 sec)

Page 19: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft
Page 20: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft
Page 21: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Outgrowing Moore's Law

Page 22: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

Ads > Application

Page 23: Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft

The End