Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Doing Horrible Things with DNS - Web Directions South

4,787 views

Published on

How can we make use of DNS to improve the performance of web sites? A simple introduction to DNS and a neat trick to improve web site performance using DNS.

Published in: Technology
  • Be the first to comment

Doing Horrible Things with DNS - Web Directions South

  1. 1. Doing Horrible Things to DNS (in the name of science) @sh1mmer Yahoo! Inc
  2. 2. The basics of DNS
  3. 3. San Francisco - Mission Branch
  4. 4. San Francisco - Main Library
  5. 5. New York City - 5th & 42nd Branch
  6. 6. New York City - 5th & 42nd Branch
  7. 7. NYC San Francisco - Main Library
  8. 8. San Francisco - Main Library
  9. 9. NYC SF San Francisco - Mission Branch
  10. 10. San Francisco - Mission Branch
  11. 11. NYC SF Mission
  12. 12. NYC SF Mission Me
  13. 13. GTFO! It's 3am!
  14. 14. DNS for performance
  15. 15. Page Load Time vs. Bandwidth
  16. 16. Page Load Time vs. Round Trip Time
  17. 17. Trend Curves for Bandwidth vs. RTT
  18. 18. Serial HTTP loading - 1 domain
  19. 19. Parallel HTTP loading - 3 domains
  20. 20. So why not just use a loads of domains?
  21. 21. DNS Lookup
  22. 22. Ideal? 1 DNS query many parallel threads
  23. 23. Option 1: SPDY (by Google)
  24. 24. Good: Multi-thread TCP connections Bad: Only works on Chrome :(
  25. 25. Option 2: Do horrible things to DNS
  26. 26. Mucking about with C names
  27. 27. CNAMES are hosts which are aliases of other hosts
  28. 28. enki:~ $ dig yahoo.com ; <<>> DiG 9.4.3-P3 <<>> yahoo.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32801 ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 7, ADDITIONAL: 7 ;; QUESTION SECTION: ;yahoo.com. IN A Query ;; ANSWER SECTION: yahoo.com. 5935 IN A 69.147.125.65 yahoo.com. 5935 IN A 72.30.2.43 yahoo.com. 5935 IN A 98.137.149.56 yahoo.com. yahoo.com. 5935 5935 IN IN A A 209.191.122.70 67.195.160.76 Response ... ;; Query time: 45 msec ;; SERVER: 202.171.190.10#53(202.171.190.10) ;; WHEN: Wed Oct 13 17:23:39 2010 ;; MSG SIZE rcvd: 345
  29. 29. ajax1.hackerhouse.org. 1800 IN CNAME ajax2.hackerhouse. ajax2.hackerhouse.org. 1800 IN CNAME ajax3.hackerhouse. ajax3.hackerhouse.org. 1800 IN CNAME ajax4.hackerhouse. ajax4.hackerhouse.org. 1800 IN CNAME ajax.hackerhouse. ajax.hackerhouse.org. 1800 IN A 192.168.1.1 ajax.hackerhouse.org. 1800 IN A 192.168.1.2 ajax.hackerhouse.org. 1800 IN A 192.168.1.3 ajax.hackerhouse.org. 1800 IN A 192.168.1.4 ajax.hackerhouse.org. 1800 IN A 192.168.1.5
  30. 30. We now have 5 hostnames with 1 DNS query
  31. 31. 5 hostnames x 6 request per host = 30 parallel requests
  32. 32. Doing Horrible Things to DNS (in the name of science) Questions? @sh1mmer Yahoo! Inc

×