Share
Embed
Transcript
21 slides
-
ScotlandJS 2016 @smithclay / New Relic What this talk isn't
about • Code • Implementing HTTP/2 in Production • How HTTP/2 will totally, absolutely solve every performance problem (it won't). • H2 = HTTP/2 -
ScotlandJS 2016 @smithclay / New Relic Me Server HTTP San
Francisco Northern Virginia -
ScotlandJS 2016 @smithclay / New Relic Me HTTP Server San
Francisco Northern Virginia Person Paris HTTP -
ScotlandJS 2016 @smithclay / New Relic Me ~40 ms roundtrip*
Server San Francisco Northern Virginia Person Paris ~ 88ms roundtrip* *http://www.timbercon.com/time-delay-of-light-in-fiber-calculator/ *calculated using great-circle distance in fiber (not real life) -
ScotlandJS 2016 @smithclay / New Relic More RTs, more latency
Browser Server Data Transfer { Round trip 1. SYN 2. SYN/ACK 3. ACK { { TLS Full TCP + TLS (i.e. HTTPS) handshake TCP Handshake Cool TLS Demo: https://tls.openmirage.org/ -
ScotlandJS 2016 @smithclay / New Relic HTTP/2 has 10 frame
types FRAME FRAME FRAME FRAME FRAME FRAME FRAME Stream 0 Stream 1 Stream 2 Frames get reassembled into standard request/response messages -
ScotlandJS 2016 @smithclay / New Relic Front-end implications* Ciao Concatenation
Sianara Sharding and Spriting Bye Inlining *Assuming most of your traffic has HTTP/2 capable browsers. https://blog.newrelic.com/2016/02/09/http2-best-practices-web-performance/ -
ScotlandJS 2016 @smithclay / New Relic PUSH_PROMISE FRAME • Not
websockets replacement. • Intention to send responses. • https://www.w3.org/TR/ preload/#server-push-http-2 HTTP Request Precognition YOU WILL WANT THIS -
ScotlandJS 2016 @smithclay / New Relic GOAWAY FRAME • Terminates
the TCP connection. • Helps clients know what streams might not be processed. NO THANKS -
ScotlandJS 2016 @smithclay / New Relic PING FRAME • Safely
tests the connection without a request. • "A mechanism for measuring a minimal round-trip time from the sender, as well as determining whether an idle connection is still functional." STILL THERE? -
ScotlandJS 2016 @smithclay / New Relic Takeaways Measure & Profile*
Reduce Connections Design for latency CDNs: close to your users *http://wireshark.com/ https://mitmproxy.org/ -
ScotlandJS 2016 @smithclay / New Relic Additional information • Go
read High Performance Browser Networking (it's great). • https://daniel.haxx.se/http2/ • https://newrelic.com/browser • https://blogs.dropbox.com/tech/2016/05/enabling-http2-for-dropbox-web- services-experiences-and-observations/ • http://engineering.khanacademy.org/posts/js-packaging-http2.htm • https://blog.newrelic.com/2016/02/09/http2-best-practices-web- performance/