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.

Velocity 2010 - ATS


Published on

Apache Traffic Server presentation, at Velocity 2010.

Published in: Technology
  • Be the first to comment

Velocity 2010 - ATS

  1. 1. Apache Traffic Server <ul><li>HTTP Proxy Server on the Edge </li></ul><ul><li>Leif Hedstrom </li></ul><ul><li>Engineer </li></ul><ul><li>[email_address] </li></ul><ul><li>[email_address] </li></ul>
  2. 2. Agenda <ul><li>History and background of Traffic Server </li></ul><ul><li>Brief introduction to HTTP intermediaries </li></ul><ul><li>Concurrency problems (and solutions) </li></ul><ul><li>Choosing an intermediary </li></ul><ul><li>Building a CDN </li></ul><ul><li>TCP connection management </li></ul><ul><li>Server Load Balancer (if time permits) </li></ul>
  3. 3. Origins of the software
  4. 4. Open Source benefits
  5. 5. Forward Proxy
  6. 6. Reverse Proxy
  7. 7. Intercepting Proxy
  8. 8. The concurrency problem
  9. 9. Solution 1: Multithreading
  10. 10. Problems with multi-threading
  11. 11. Solution 2: Event Processing
  12. 12. Problems with event processors
  13. 13. Traffic Server threads model
  14. 14. Plenty of FOSS Proxy Servers
  15. 15. Choosing an intermediary
  16. 16. SMP Scalability and performance
  17. 17. Traffic Server performance <ul><li>350,000 requests / sec in production CDN </li></ul><ul><ul><li>30 Gbps / second </li></ul></ul><ul><li>Max capacity is at least 10x normal usage, to deal with massive spikes. </li></ul><ul><li>85,000 requests / sec with small content out of cache, for a single (lab) box </li></ul><ul><li>3.6Gbps out of a single box, with larger content (4x GigE NIC bonded) </li></ul><ul><li>(all numbers from Y! CDN and lab testing). </li></ul>
  18. 18. HTTP/1.1 Features
  19. 19. Ease of use, extensible
  20. 20. Traffic Server making Ops easy <ul><li>Traffic Server will restart automatically if it crashes </li></ul><ul><li>Traffic Server will kill itself if it isn’t responding </li></ul><ul><li>Traffic Server can reload most configurations without server restarts </li></ul><ul><li>Adding plugins is a matter of dropping in the shared object, and restarting </li></ul><ul><li>Stats and configurations are accessible via command line utilities </li></ul>
  21. 21. Example evaluation sheet ATS HAproxy nginx Squid Varnish mod_proxy Worker Threads Y N N N Y Y Multi-Process N Y Y N Y Y Event-driven Y Y Y Y N N? Plugin APIs Y N Y part Y Y Forward Proxy Y N N Y N Y Reverse Proxy Y Y Y Y Y Y Transp. Proxy N Y Y Y N N Load Balancer part Y! Y Y Y Y Cache Y N Y Y Y Y ESI soon N N Y Y N ICP Y N N Y N N Keep-Alive Y N Y Y Y Y SSL Y N Y Y N Y Pipeline Y N Y Y N Y
  22. 22. Operations is important!
  23. 23. Yahoo! Traffic Server Use Cases
  24. 24. Content Delivery Network
  25. 25. CDN on the Edge
  26. 26. Traffic Server CDN configuration CONFIG proxy.config.http.server_port INT 80 CONFIG proxy.config.cache.ram_cache.size INT 512MB CONFIG proxy.config.url_remap.remap_required INT 1 map reverse_map map reverse_map map reverse_map /dev/sd2
  27. 27. Common enemies of performance
  28. 28. TCP 3-way Handshake
  29. 29. Congestion avoidance
  30. 30. TCP Connection Management
  31. 31. Why Server Load Balancers?
  32. 32. Server Load Balancer
  33. 33. Executive Summary <ul><li>Understand your requirements </li></ul><ul><li>Evaluate available solutions </li></ul><ul><li>Building a CDN is easy </li></ul><ul><li>Apache Traffic Server is </li></ul><ul><ul><li>Fast and SMP scalable </li></ul></ul><ul><ul><li>HTTP/1.1 compliant </li></ul></ul><ul><ul><li>Battle hardened </li></ul></ul><ul><ul><li>Easy to configure and operate </li></ul></ul><ul><ul><li>Actively developed </li></ul></ul><ul><ul><li>Free as in beer </li></ul></ul>
  34. 34.