Wednesday, June 15, 2011

Apache Traffic Server v3.0.0 Released

After about a year of development, finally Apache Traffic Server v3.0.0 is released by Apache Software Foundation. This version has received lots of improvements and has been benchmarked in real time production servers so that it's quality are proven. Most of Yahoo! servers are using this product to serve their terrabytes of data.

FYI, Apache Traffic Server is a Cloud Computing "edge" service, able to handle requests in and out of the Cloud, both by serving static content (images, JavaScript, CSS, and HTML files), and routing requests for dynamic content to a Web server (such as the Apache HTTP Server). It's a fast, scalable, and extensible HTTP/1.1 compliant caching proxy server designed to improve:

- Caching: improves response time while reducing server load and bandwidth needs by caching and reusing frequently-requested Web pages, images, and Web service calls;
- Proxying: easily add keep-alive, filter or anonymize content requests, or add load balancing by adding a proxy layer;
- Speed: scales well on modern SMP hardware, handling tens of thousands of requests per second;
- Extensibility: APIs allow for customized plug-ins, from modifying headers and content to implementing new protocol handlers;
- Reliability: successfully handles hundreds of terrabytes of data, both as forward and reverse proxies

Here are the new features based on the Release Note:
- Full 64-bit support;
- Client side IPv6 support;
- WCCP (Web Cache Communication Protocol);
- Clustering is functional and supported (many benefits include an efficient distributed cache);
- Major plug-in API improvements, making the APIs more feature rich and easier to use;
- Support for many platforms, including OSX, Solaris and FreeBSD (Linux, of course, was always supported);
- New improved RAM cache algorithms, for better performance and memory utilization
- Many configurations are now configurable per transaction (or per mapping rule)
- Many improvements in statistics and management APIs;
- Multiple accept threads, and a dedicated DNS thread:
- Build environment is now much more flexible, and package owner friendly;
- Many, many bug fixes for improved stability and functionality.

Performance improvements
- Overall throughput is 2-3x improved over v2.0 (depending on the traffic patterns)
- Response latency is up to 5x better than v2.0
- Benchmark: Serving small objects out of RAM cache, a high end server has showed over 220,000 requests / second
- Benchmark: Serving small objects that are not cacheable, the same high end server could proxy 100,000 requests / second
(NOTE: all benchmarks are on local network, with keep-alive)

As with other Apache software, it's open source and released under the Apache License v2.0. You can grab the latest source code along with the documentation and other resources at