Внедрение протокола spdy в социальной сети linkedin, omer shapira...

Post on 15-Jun-2015

405 Views

Category:

Internet

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Доклад Олега Шапиро (Omer Shapira) на HighLoad++ 2014.

TRANSCRIPT

SPDY at LinkedInOmer Shapira

LinkedIn Bandwidth vs. Latency Challenges with HTTP What is SPDY How LinkedIn network stack looks today How we are adopting SPDY

AgendaWhat to expect before beers

Social network for business Founded in 2002 300M+ users 200 countries Users first

Speed mattersWho we are and what we do

We measure vehicle speed in m/s

How do we measure the Internet speed?

Cars vs. trains as analogy Bandwidth vs. latency

Let’s talk about speedWhat’s speed, anyway?

Bandwidth is analogous to number of seats in a plane

Adding bandwidth is expensive – but simple

Typically sold as “speed” Matters for streaming Bandwidth does not

matter that much for business applications

Let’s talk about bandwidthOne bazzillion MBps…

Shorten the pipe Or move faster Speed of light is a hard limit Decreasing latency is hard

and sometimes impossible

Let’s talk about latencyLatency: time it takes for the server to receive and process request for a page object

100ms – user perceives as instantaneous. 1s – is about the upper limit of human flow of thought. User

loses the feeling direct feedback. 10s – upper limit of attention. Feedback is important, and the

chance of context switch is high. Source: Nielsen Norman Group

Important latency limitsNo one will advertise latency

Reality checkSignal latency in vacuum and fiber

Route Distance (km)

Time in vacuum (ms)

Time in fiber (ms)

TCP handshake in fiber (ms)

NYC to SF 4148 14 21 63

NYC to London 5585 19 28 84

NYC to Sydney 15993 53 80 240

More about network latencyNot all latencies are the same

In realityNot all latencies are the same

Fast InternetShort latencies, high bandwidth, opportunities

Low latency High bandwidth … PROFIT!

Mimics interactions between a person and a newspaper – Reading a page takes time. – Transferring text is easy– Single browser window

On a Sunday morning, with a cup of coffee

Let’s talk about HTTPLong latencies, low bandwidth, lots of client time

Hyper TEXT transfer protocolIn reality we mostly transfer images

Challenges with HTTPThe protocol is getting obsolete

Challenges with HTTP5 requests in flight, the rest wait…

Once all threads are used,

the browser blocks the next request…

Challenges with HTTPCongestion Control

Under HTTP/1.1, browser has to parse the page to get more URLs

This includes executing JS in <head> section Extra latency

Challenges with HTTPData from server

Headers are transmitted with every request But some of the headers need to be only transferred once

– Accepts-Encoding Headers are never compressed

Challenges with HTTPHeaders are never compressed

Server sent 914 bytes to

transfer 57 bytes of response.

This is 15x overhead

SPDY – a new beginning Foundations for HTTP/2

Starts with NPN negotiation (optionally as HTTP) If both server and browser support SPDY, they switch to SPDY

Overview of SPDYDrop in replacement, transparent for webdevs and SWEs

Single connection is maintained between browser and server Congestion window grows, increasing utilization of the network Unlimited resources in flight – browser is not blocked

Overview of SPDYMultiplexing instead of thread pools

22

Negotiated over SSL (NPN/ALPN) or as HTTP upgrade Transport layer security (always in SPDY, optional in HTTP/2.0) Compression (including headers)

Overview of SPDYBased on SSL/TLS

23

Server can speculatively push resources to client before base page has been parsed

Resources can be reused between pages through the browser cache.

Overview of SPDYServer push

24

Explicit headers are eliminated

Headers are further compressed

Overview of SPDYHeader elimination and compression

25

Putting SPDY to work at LinkedInSo what?

26

Anatomy of a pageOne base page and tons of static content

Base page

Static Content

27

LinkedIn network stack Or rather non-planar graph

Distribute the content around the globe

Make the web pretty fast by shortening the pipes

CDNsBlazing fast, ubiquitous and not flexible

There is a CDN edge near you

Can we beat CDNs locally?Let’s use science to experiment!

Profile page is better across the board

Homepage is better for regions closer to ECH

Comparing SPDY with CDN - resultsResults

Benefits of SPDY increased with for regions close to the PoP

LinkedIn network stack Overly simplified

LinkedIn network stack Pushing the CDN aside

Static content vs. base pages – round 2

Combining SPDY with CDNsDeploy SPDY stacks around the globe

Modern CDNs do pretty good job accelerating HTTP SPDY accelerates web content delivery further Serving static content through SPDY accelerates LinkedIn page In the long run, CDNs will support SPDY (HTTP/2.0). This will

make the web faster for everybody.

Bottom lineSPDY makes web faster; so do CDNs

Questions

We are hiring

top related