packets falling from the air

98
Packets Falling from the Air Jeremy Stinson VP of Network Operations MeetMe @jstinson

Upload: jeremy-stinson

Post on 19-Jun-2015

328 views

Category:

Internet


3 download

DESCRIPTION

Bucks County Tech Meetup - July 29 2014 - http://www.meetup.com/Bucks-County-Tech/events/194102252/ Ever scratch your head and ask yourself, why is the Internet so slow on my phone , I have 5 bars? On this talk we will take a trip on our magic school bus and travel through the wicked web of fiber to help understand where the time goes. Along our journey we will take a look at common mistakes we make and how they cause headaches for our end users. Also, we will take a look at some techniques to make the user's experience look like you are bending the laws of physics.

TRANSCRIPT

  • 1. Packets Falling from the Air Jeremy Stinson VP of Network Operations MeetMe @jstinson

2. Cheesy jokes will follow, continue at your own risk!!! 3. Latency is defined as the time it takes for a source to send a packet of data to a receiver. Latency is typically measure in milliseconds. The lower the latency (the fewer the milliseconds), the better the network performance. 4. Data from OpenSignal (Feb 2014) 0 20 40 60 80 100 120 LTE LTE LTE LTE AT&T Sprint T-Mobile Verizon LTE Mean Latency (ms) 5. Data from OpenSignal (Feb 2014) 0 50 100 150 200 250 AT&T T-Mobile AT&T T-Mobile AT&T T-Mobile Sprint Verizon Sprint Verizon UMTS HSPAP HSPA EVDO A eHRPD 3G Mean Latency (ms) 6. How does mobile work? 7. When is the speed of light not the speed of light? 8. 40% Loss 9. I tried to come up with an IPv4 joke, but the good ones were all already exhausted 10. Didnt we run out of IPv4 jokes? 11. How does TCP work? 12. 45ms SYN 13. 45ms SYN-ACK 14. 45ms ACK 15. 45ms GET / HTTP/1.0 16. 45ms + 200ms HTTP 200 17. So what what does this mean? 18. 45 45 45 45 + 200 ------------- 380ms 19. 45ms SYN 90ms 20. 45ms SYN-ACK 90m s 21. 45ms ACK 90ms 22. 45ms GET / HTTP/1.0 90ms 23. 45ms + 200ms HTTP 200 90m s 24. So how much worse is this going to be? 25. 45 + 90 45 + 90 45 + 90 45 + 90 + 200 ------------- 740ms 26. 740 - 380 = 360ms 27. What about 3G or worse? 28. 45 + 150 45 + 150 45 + 150 45 + 150 + 200 ------------- 980ms 3G sucks more 29. Reality 90m s 15ms 30. 45ms Reality 90m s 90m s 15ms 31. 45ms Reality 90m s 90m s 90m s 15ms15ms 32. 45ms Reality 90m s 90m s 90m s 90m s 45ms 15ms15ms 33. 45ms Reality 90m s 90m s 90m s 90m s 45ms 15ms15ms 34. 2.9 seconds later 35. What lessons can we learn from this? 36. Limit the number of API endpoints 37. Limit DNS queries 38. Limit low DNS TTLs 39. Use HTTP Keepalive 40. Use Websockets 41. Use client side cache 42. Bending the laws of physics 43. 45ms HTTP Proxy 90m s 5ms 44. Results Normal HTTP Request Server Software: Apache Server Hostname: www.meetme.com Server Port: 80 Document Path: / Document Length: 30332 bytes Time taken for tests: 4.202 seconds Total transferred: 316049 bytes HTML transferred: 303307 bytes Requests per second: 2.38 [#/sec] (mean) Time per request: 420.232 [ms] (mean) Transfer rate: 73.45 [Kbytes/sec] Proxyed HTTP Request Server Software: Apache Server Hostname: www.meetme.com Server Port: 3300 Document Path: / Document Length: 30259 bytes Time taken for tests: 2.197 seconds Total transferred: 315326 bytes HTML transferred: 302582 bytes Requests per second: 4.55 [#/sec] (mean) Time per request: 219.739 [ms] (mean) Transfer rate: 140.14 [Kbytes/sec] 45. 47% 46. Do-it yourself opensource WANProxy 47. Do-it yourself vendors 48. CDNs 49. CDNs 50. CDNs 51. SSL 52. Additional Overhead 53. The problem with SSL jokes is that you must get someone else to vouch for you before you can tell the joke. 54. SPDY Connection multiplexing Multiple Requests per connection Out of order responses Compress HTTP Headers Server side push 55. MCTCP 56. Questions?