Presentation is loading. Please wait.

Presentation is loading. Please wait.

Driving Apache Traffic Server Leif Hedstrom Engineer, Yahoo Inc. @zwoop.

Similar presentations


Presentation on theme: "Driving Apache Traffic Server Leif Hedstrom Engineer, Yahoo Inc. @zwoop."— Presentation transcript:

1 Driving Apache Traffic Server Leif Hedstrom Engineer, Yahoo Inc. leif@ogre.com zwoop@apache.org @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 ATSHAproxynginxSquidVarnishmod_proxy Worker Threads YNNNYY Multi-Process NYYNYY Event-driven YYYYNN? Plugin APIs YNYpartYY Forward Proxy YNNYNY Reverse Proxy YYYYYY Transp. Proxy YYNYNN Load Balancer partYYYYY Cache YNYYYY ESI soonNNYYN ICP YNNYNN Keep-Alive YNYYYY SSL YNYYNY Pipeline YNYYNY

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 plugin.config records.config partition.config hosting.config cache.config update.config ip_allow.config storage.config logs_xml.config parent.config remap.config icp.config

22 records.configstorage.config remap.config

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 -HTTP/1.1 compliant -Battle hardened -Easy to configure and manage -Actively developed -Free as in beer

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


Download ppt "Driving Apache Traffic Server Leif Hedstrom Engineer, Yahoo Inc. @zwoop."

Similar presentations


Ads by Google