Your SlideShare is downloading. ×
  • Like
Oscon 2010 - ATS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Oscon 2010 - ATS

  • 2,970 views
Published

Apache Traffic Server presentation at Oscon 2010.

Apache Traffic Server presentation at Oscon 2010.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,970
On SlideShare
0
From Embeds
0
Number of Embeds
7

Actions

Shares
Downloads
52
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Driving Apache Traffic Server
    • Leif Hedstrom
    • Engineer, Yahoo Inc.
    • [email_address]
    • [email_address]
    • @zwoop
  • 2. http://www.flickr.com/photos/zackbrescia/3292033740/
  • 3.
    • History and introduction to intermediaries
    • Configuration
    • Use cases
  • 4. Origins of the software
  • 5.  
  • 6. Forward Proxy
  • 7. Reverse Proxy
  • 8. Intercepting Proxy
  • 9. Plenty of FOSS Proxy Servers
  • 10. Choosing an intermediary
  • 11. SMP Scalability and performance
  • 12. Traffic Server threads model
  • 13. Traffic Server performance
    • 350,000 requests / sec in production CDN
      • 30 Gbps / second (95-percentile)
    • Many more request handled for HTML
    • 105,000 requests / sec with small content out of cache, for a single (lab) box
    • 3.6Gbps out of a single box, with larger content (4x GigE NIC bonded)
    • (all numbers from Y! CDN and lab testing).
  • 14. HTTP/1.1 Features
  • 15. 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 Y Y N 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
  • 16. Ease of use, extensible
  • 17. http://www.flickr.com/photos/stuartpilbrow/3345896050/
  • 18. Traffic Server making Ops easy
    • Traffic Server will restart automatically if it crashes
    • Traffic Server will kill itself if it isn’t responding
    • Traffic Server can reload most configurations without server restarts
    • Adding plugins is a matter of dropping in the shared object, and restarting
    • Stats and configurations are accessible via command line utilities
  • 19.  
  • 20. Configurations
  • 21.  
  • 22.  
  • 23. Critical in records.config
    • CONFIG proxy.config.exec_thread.autoconfig INT 1
    • CONFIG proxy.config.exec_thread.autoconfig.scale FLOAT 2.0
    • CONFIG proxy.config.exec_thread.limit INT 2
    • CONFIG proxy.config.http.server_port INT 8080
    • CONFIG proxy.config.http.cache.http INT 1
    • CONFIG proxy.config.cache.ram_cache.size INT 512M
    • CONFIG proxy.config.reverse_proxy.enabled INT 1
    • CONFIG proxy.config.url_remap.remap_required INT 1
    • CONFIG proxy.config.url_remap.pristine_host_hdr INT 0
    • CONFIG proxy.config.ssl.enabled INT 0
    • CONFIG proxy.config.ssl.server.cert.filename STRING server.pem
  • 24.
    • CONFIG proxy.config.url_remap.remap_required INT 1
  • 25.
    • CONFIG proxy.config.url_remap.remap_required INT 0
  • 26. QUICK DEMO
  • 27. Use Case : Content Delivery Network
  • 28. CDN on the Edge
  • 29. Traffic Server CDN configuration CONFIG proxy.config.http.server_port INT 80 CONFIG proxy.config.cache.ram_cache.size INT 4096M CONFIG proxy.config.url_remap.remap_required INT 1 map http://cdn.example.com/js http://js.example.com reverse_map http://js.example.com http://cdn.example.com/js map http://cdn.example.com/css http://css.example.com reverse_map http://css.example.com http://cdn.exampe.com/css map http://cdn.example.com/img http://img.example.com reverse_map http://img.example.com http://cdn.example.com/img /dev/sd2
  • 30. Common enemies of performance
  • 31. TCP 3-way Handshake
  • 32. Congestion avoidance
  • 33. Use case : TCP Connection Management
  • 34. ATS Connection mgmt configuration CONFIG proxy.config.http.server_port INT 80 CONFIG proxy.config.cache.ram_cache.size INT 0 CONFIG proxy.config.url_remap.remap_required INT 1 CONFIG proxy.config.http.send_http11_requests INT 1 CONFIG proxy.config.http.share_server_sessions INT 1 CONFIG proxy.config.http.server_max_connections INT 2000 CONFIG proxy.config.http.keep_alive_no_activity_timeout_out INT 60 CONFIG proxy.config.http.transaction_no_activity_timeout_out INT 60 map http://www.example.com/ http://real-www.example.com
  • 35. Executive Summary
    • Understand your requirements
    • Evaluate available solutions
    • Building a CDN is easy
    • Apache Traffic Server is
      • Fast and SMP scalable
      • Battle hardened
      • HTTP/1.1 compliant
      • Easy to configure and manage
      • Actively developed
      • Free as in beer! (Now lets go have some)
  • 36. trafficserver.apache.org
  • 37. The concurrency problem
  • 38. Solution 1: Multithreading
  • 39. Problems with multi-threading
  • 40. Solution 2: Event Processing
  • 41. Problems with event processors