optimera sthlm! daniel stenberg

of 36/36
Daniel Stenberg Mer data på kortare tid, tack!

Post on 21-Dec-2014

1.759 views

Category:

Technology

2 download

Embed Size (px)

DESCRIPTION

 

TRANSCRIPT

  • 1. Mer data p kortare tid, tack! Daniel Stenberg

2. Daniel Stenberg Haxx och Fossgruppencurllibssh2 IETFhttp://daniel.haxx.se/Daniel Stenberg31:a maj 2010 2 3. AgendaTransport API Framtid Daniel Stenberg 31:a maj 2010 3 4. Protokoll-lagerInnehll som HTML och annatApplicationTransportInternetLink Daniel Stenberg 31:a maj 2010 4 5. Link- och Internet-lagrenBild frn www.useit.com50 % mer bandbredd varje rDaniel Stenberg31:a maj 2010 5 6. Link och Internet, RTT RTT, Round Trip (delay) Time str still eller backar Genomsnitt till Google inom USA: 90 ms, i vrlden 100 ms Telefoner GSM/3G upp till 6000 ms DSL: 40-50 ms Kabel: 60 ms Uppringt modem: 120-150 ms (MTUs...)Daniel Stenberg31:a maj 2010 6 7. TCP Transport: frdrjningar DNS resolveUndvik, cacha Handshake 3 wayPool, teranvnd Nagle vnta fr att fylla p merKan stngas av Slow start Var medveten Delayed ACKs Nr 2 r bttre n 1Att optimera fr mindre frdrjningar och kortare RTT kan leda till smre throughput och bandbredd Daniel Stenberg 31:a maj 2010 7 8. TCP Transport: frdrjningar DNS resolveUndvik, cacha Handshake 3 wayPool, teranvnd Nagle vnta fr att fylla p merKan stngas av Slow start Var medveten Delayed ACKs Nr 2 r bttre n 1Att optimera fr mindre frdrjningar och kortare RTT kan leda till smre throughput och bandbredd Daniel Stenberg 31:a maj 2010 8 9. TCP Transport: frdrjningar DNS resolveUndvik, cacha Handshake 3 wayPool, teranvnd Nagle vnta fr att fylla p merKan stngas av Slow start Var medveten Delayed ACKs Nr 2 r bttre n 1Att optimera fr mindre frdrjningar och kortare RTT kan leda till smre throughput och bandbredd Daniel Stenberg 31:a maj 2010 9 10. TCP Transport: frdrjningar DNS resolveUndvik, cacha Handshake 3 wayPool, teranvnd Nagle vnta fr att fylla p merKan stngas av Slow start Var medveten Delayed ACKs Nr 2 r bttre n 1Att optimera fr mindre frdrjningar och kortare RTT kan leda till smre throughput och bandbredd Daniel Stenberg 31:a maj 2010 10 11. TCP Transport: frdrjningar DNS resolveUndvik, cacha Handshake 3 wayPool, teranvnd Nagle vnta fr att fylla p merKan stngas av Slow start Var medveten Delayed ACKs Nr 2 r bttre n 1Att optimera fr mindre frdrjningar och kortare RTT kan leda till smre throughput och bandbredd Daniel Stenberg 31:a maj 2010 11 12. TCP Transport: frdrjningar DNS resolveUndvik, cacha Handshake 3 wayPool, teranvnd Nagle vnta fr att fylla p merKan stngas av Slow start Var medveten Delayed ACKs Nr 2 r bttre n 1Att optimera fr mindre frdrjningar och kortare RTT kan leda till smre throughput och bandbredd Daniel Stenberg 31:a maj 2010 12 13. HTTP Ovanp TCP s... Request size, pratigt protokoll Cookie sizes, cookies skickas alltid om de matchar Cache friendliness, skicka inte mer HTTP n ndvndigt Pipelining, besegra RTT men... CompressionDaniel Stenberg 31:a maj 201013 14. HTTP Ovanp TCP s... Request size, pratigt protokoll Cookie sizes, cookies skickas alltid om de matchar Cache friendliness, skicka inte mer HTTP n ndvndigt Pipelining, besegra RTT men... CompressionDaniel Stenberg 31:a maj 201014 15. HTTP Ovanp TCP s... Request size, pratigt protokoll Cookie sizes, cookies skickas alltid om de matchar Cache friendliness, skicka inte mer HTTP n ndvndigt Pipelining, besegra RTT men... CompressionDaniel Stenberg 31:a maj 201015 16. HTTP Ovanp TCP s... Request size, pratigt protokoll Cookie sizes, cookies skickas alltid om de matchar Cache friendliness, skicka inte mer HTTP n ndvndigt Pipelining, besegra RTT men... CompressionDaniel Stenberg 31:a maj 201016 17. HTTP Ovanp TCP s... Request size, pratigt protokoll Cookie sizes, cookies skickas alltid om de matchar Cache friendliness, skicka inte mer HTTP n ndvndigt Pipelining, besegra RTT men... CompressionDaniel Stenberg 31:a maj 201017 18. HTTP Ovanp TCP s... Request size, pratigt protokoll Cookie sizes, cookies skickas alltid om de matchar Cache friendliness, skicka inte mer HTTP n ndvndigt Pipelining, besegra RTT men... CompressionDaniel Stenberg 31:a maj 201018 19. HTTP i webblsare Mnga koppel. Var 2. Numera 6 eller 8. Snart... Ingen Pipelining AJAX long polling Daniel Stenberg 31:a maj 2010 19 20. HTTP i handhllet Wifi GSM/3g High latency, low bandwidth Daniel Stenberg31:a maj 2010 20 21. API Hur man gr saker har betydelse Daniel Stenberg31:a maj 2010 21 22. Typisk TCP-klient S lnge klienten lever { vnta p socket-hndelse Kolla vilken socket som det hnde p Hantera socketen } Traditionellt med select() eller poll()Daniel Stenberg31:a maj 2010 22 23. 10000 koppel ndrar reglerna select och poll blir exponentiellt smre med antalet koppel Daniel Stenberg 31:a maj 201023 24. event-based Agera vid hndelse p socketen det hnder p Inte leta, veta Bild frn http://www.monkey.org/~provos/libevent/ Bild frn http://developers.sun.com Daniel Stenberg 31:a maj 2010 24 25. event-klient Function call_on_event { Hantera trafik p socketen } event_wait( &call_on_event) Libevent, libev, epoll, kqueue, Daniel Stenberg31:a maj 2010 25 26. Exempel libcurl... r open source leds av Daniel kan FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3 och RTSP just nu det frmsta dataverfrings-libraryt helt enkeltDaniel Stenberg31:a maj 2010 26 27. libcurl DNS cache teranvnder TCP-koppel API: select-stil API: event-stil, upp tille mycket snabbare C10K, upp till C70K Daniel Stenberg31:a maj 2010 27 28. Framtiden WebSockets SPDY SCTP MPTCP ... Daniel Stenberg 31:a maj 2010 28 29. Framtid 1: WebSockets WHATWG startade IETF hybi working group Browser till server Lsning p HTTP long-polling problemet TCP-replacement ver TCP Javascript-centric (kan inte skicka binrt!) HTTP upgrade Debatteras ivrigt just nuDaniel Stenberg 31:a maj 201029 30. Framtid 2: SPDY Google HTTP replacement Multiplexade strmmar ver ett koppel Pririterade strmmar Server-initierade strmmar Chrome har implementation Experiementellt Daniel Stenberg31:a maj 201030 31. Framtid 3: SCTP IETF (RFC 4960, 2007) Erstter TCP som transport Meddelanden, inte byte-strmmar Flera samtidiga logiska meddelande-strmmar HTTP ver SCTP ver UDP? Sannolikhet oklar Daniel Stenberg 31:a maj 2010 31 32. Framtid 4: MPTCP Multi-Path TCP IETF Flera vgar mellan source och destination Kompatibelt API fr applikationer Snllt mot ntet Som gjort fr saker med flera interface Sannolikhet: trolig Daniel Stenberg31:a maj 201032 33. MPTCP Daniel Stenberg31:a maj 2010 33 34. MPTCP ett koppel Daniel Stenberg 31:a maj 2010 34 35. MPTCP tv koppel Daniel Stenberg 31:a maj 2010 35 36. Summering RTT str still fast bandbredd kar TCP har frdrjningar HTTP kr p TCP Anvnd rtt API:er WebSockets, SPDY, SCTP och MPTCP Daniel Stenberg 31:a maj 2010 36