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

38
SPDY at LinkedIn Omer Shapira

Upload: ontico

Post on 15-Jun-2015

415 views

Category:

Internet


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

SPDY at LinkedInOmer Shapira

Page 2: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 3: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Speed mattersWho we are and what we do

Page 4: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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?

Page 5: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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…

Page 6: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 7: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 8: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 9: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

More about network latencyNot all latencies are the same

Page 10: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

In realityNot all latencies are the same

Page 11: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

Fast InternetShort latencies, high bandwidth, opportunities

Low latency High bandwidth … PROFIT!

Page 12: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 13: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

Hyper TEXT transfer protocolIn reality we mostly transfer images

Page 14: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

Challenges with HTTPThe protocol is getting obsolete

Page 15: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

Challenges with HTTP5 requests in flight, the rest wait…

Once all threads are used,

the browser blocks the next request…

Page 16: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

Challenges with HTTPCongestion Control

Page 17: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 18: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 19: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

SPDY – a new beginning Foundations for HTTP/2

Page 20: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 21: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 22: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 23: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 24: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

24

Explicit headers are eliminated

Headers are further compressed

Overview of SPDYHeader elimination and compression

Page 25: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

25

Putting SPDY to work at LinkedInSo what?

Page 26: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

26

Anatomy of a pageOne base page and tons of static content

Base page

Static Content

Page 27: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

27

LinkedIn network stack Or rather non-planar graph

Page 28: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

Distribute the content around the globe

Make the web pretty fast by shortening the pipes

CDNsBlazing fast, ubiquitous and not flexible

Page 29: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

There is a CDN edge near you

Page 30: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 31: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 32: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

LinkedIn network stack Overly simplified

Page 33: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

LinkedIn network stack Pushing the CDN aside

Page 34: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

Static content vs. base pages – round 2

Page 35: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

Combining SPDY with CDNsDeploy SPDY stacks around the globe

Page 36: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

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

Page 37: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

Questions

Page 38: Внедрение протокола SPDY в социальной сети LinkedIn, Omer Shapira (LinkedIn)

We are hiring