Yahoo Traffic Server -a Powerful Cloud Gatekeeper

Similar documents
Configuring Caching Services

Inktomi. Network. Products. Traffic Server 4.0. Inktomi. Administrator s Guide

Dell EMC CIFS-ECS Tool

Internet Caching Architecture

BlackBerry AtHoc Networked Crisis Communication Capacity Planning Guidelines. AtHoc SMS Codes

FAST, FLEXIBLE, RELIABLE SEAMLESSLY ROUTING AND SECURING BILLIONS OF REQUESTS PER MONTH

Scaling Internet TV Content Delivery ALEX GUTARIN DIRECTOR OF ENGINEERING, NETFLIX

ATS Test Documentation

CSE 124: Networked Services Lecture-17

Send me up to 5 good questions in your opinion, I ll use top ones Via direct message at slack. Can be a group effort. Try to add some explanation.

SE Memory Consumption

Yahoo s Adventure with ATS

The Lion of storage systems

Research on DPDK Based High-Speed Network Traffic Analysis. Zihao Wang Network & Information Center Shanghai Jiao Tong University

SE Memory Consumption

Hardware & System Requirements

KillTest ᦝ䬺 䬽䭶䭱䮱䮍䭪䎃䎃䎃ᦝ䬺 䬽䭼䯃䮚䮀 㗴 㓸 NZZV ]]] QORRZKYZ PV ٶ瀂䐘މ悹伥濴瀦濮瀃瀆ݕ 濴瀦

Seminar on. By Sai Rahul Reddy P. 2/2/2005 Web Caching 1

Yahoo Search ATS Plugins. Daniel Morilha and Scott Beardsley

SharePoint 2010 Technical Case Study: Microsoft SharePoint Server 2010 Enterprise Intranet Collaboration Environment

Proxying. Why and How. Alon Altman. Haifa Linux Club. Proxying p.1/24

Multimedia Streaming. Mike Zink

SharePoint 2010 Technical Case Study: Microsoft SharePoint Server 2010 Social Environment

Load Balancing Bloxx Web Filter. Deployment Guide v Copyright Loadbalancer.org

Scalability, Performance & Caching

JAGUAR6000 Overview. Transparent Cache for ISP/Telco. Product Planning Team Nov 2013

COMP6218: Content Caches. Prof Leslie Carr

Scalability, Performance & Caching

How to Make the Client IP Address Available to the Back-end Server

Performance Analysis for Crawling

Accelerate Applications Using EqualLogic Arrays with directcache

WHITE PAPER: BEST PRACTICES. Sizing and Scalability Recommendations for Symantec Endpoint Protection. Symantec Enterprise Security Solutions Group

Network Design Considerations for Grid Computing

Application Acceleration Beyond Flash Storage

TLDK Overview. Transport Layer Development Kit Keith Wiles April Contributions from Ray Kinsella & Konstantin Ananyev

TLDK Overview. Transport Layer Development Kit Ray Kinsella February ray.kinsella [at] intel.com IRC: mortderire

HashCache: Cache Storage for the Next Billion

Microsoft SQL Server 2012 Fast Track Reference Configuration Using PowerEdge R720 and EqualLogic PS6110XV Arrays

Drupal Frontend Performance & Scalability

SamKnows test methodology

Deployment Scenarios for Standalone Content Engines

Goverlan Reach Server Hardware & Operating System Guidelines

CIT 668: System Architecture. Caching

RIGHTNOW A C E

Etanova Enterprise Solutions

Introduction to reactive programming. Jonas Chapuis, Ph.D.

Lightstreamer. The Streaming-Ajax Revolution. Product Insight

vnetwork Future Direction Howie Xu, VMware R&D November 4, 2008

SANGFOR AD Product Series

Today: World Wide Web! Traditional Web-Based Systems!

CSE/EE 461 HTTP and the Web

Alibaba Cloud CDN. FAQs

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. Caching, Content Distribution and Load Balancing

SANGFOR AD Product Series

Load Balancing Technology White Paper

predefined elements (CI)

Part 12 殷亚凤. Homepage: Room 301, Building of Computer Science and Technology

Web, HTTP, Caching, CDNs

Large-Scale Web Applications

Convio Data Sync Connector 3 Installation Guide

Handling Flash Crowds from your Garage

WEBHOSTS, ISPS & RESELLERS SETUP REQUIREMENTS & SIGNUP FORM LOCAL CLOUD


Premium Web Cache Server JAGUAR 5000

Distributed Systems Principles and Paradigms. Chapter 12: Distributed Web-Based Systems

VMware AirWatch Content Gateway Guide for Windows

Aerospike Scales with Google Cloud Platform

EE 122: HyperText Transfer Protocol (HTTP)

White Paper: Next-Gen Network Traffic Analysis (NTA): Log-based NTA vs. Packet-based NTA

A Library and Proxy for SPDY

Fusion Architecture. Planning for an on-premise deployment

HTTP and Web Content Delivery

Cloudian Sizing and Architecture Guidelines

User Manual. Admin Report Kit for IIS 7 (ARKIIS)

VMware AirWatch Content Gateway for Windows. VMware Workspace ONE UEM 1811 Unified Access Gateway

McAfee Network Security Platform 8.3

VMware AirWatch Content Gateway Guide for Windows

Distil Networks & F5 Networks Integration Guide

Extreme Networks Session Director

VMware AirWatch Content Gateway Guide for Windows

VMware AirWatch Content Gateway for Linux. VMware Workspace ONE UEM 1811 Unified Access Gateway

Analyzing Cacheable Traffic in ISP Access Networks for Micro CDN applications via Content-Centric Networking

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

OpenIO SDS on ARM A practical and cost-effective object storage infrastructure based on SoYouStart dedicated ARM servers.

McAfee Network Security Platform

HP solutions for mission critical SQL Server Data Management environments

Cisco Videoscape Distribution Suite Service Broker

Scalability Testing with Login VSI v16.2. White Paper Parallels Remote Application Server 2018

Design, Implementation and Evaluation of. Resource Management System for Internet Servers

Load Balancing Nginx Web Servers with OWASP Top 10 WAF in AWS

Intercepting Web Requests

Authenticated Storage Using Small Trusted Hardware Hsin-Jung Yang, Victor Costan, Nickolai Zeldovich, and Srini Devadas

Caching. Caching Overview

VMware AirWatch Content Gateway Guide for Linux For Linux

CIT 668: System Architecture. Amazon Web Services

<Insert Picture Here> MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure

Design and Implementation of A P2P Cooperative Proxy Cache System

Cascade Mapping: Optimizing Memory Efficiency for Flash-based Key-value Caching

BSA Best Practices Webinars Distributed Installations Sean Berry Customer Engineering

More on Testing and Large Scale Web Apps

Transcription:

Yahoo Traffic Server -a Powerful Cloud Gatekeeper Shih-Yong Wang Yahoo! Taiwan 2010 COSCUP Aug 15, 2010

What is Proxy Caching?

Proxy Caching explicit client configuration transparent emulate responses coming from origin server

Reverse Proxy Caching deploy on server side increase server capacity can have m-m relationship hostname of resources resolve to the cache

What is YTS?

YTS Quick Facts (1/2) a high performance web caching solution like publicly available Squid, Varnish, HAProxy, Nginx based on Traffic Edge, developed by Inktomi which was acquired by Yahoo! at 2002 is a multi-threaded state machine scales very well on modern multi-core box fully leverages multi-core CPUs

YTS Quick Facts (2/2) YTS is a 32-bit application but we recommend running YTS on 64-bit OS includes a fast, asynchronous DNS resolver directly issuing DNS command packets supports an extensible plug-in architecture with a large list of APIs for modifying requests or responses allow property or platform needed custom behavior YMail gateway Wretch IAV reverse proxy could act as SW L7, replace HW load balancer

YTS v.s. Squid (1/3) hardware 2 * Xeon E5320 1.86GHz 8GB DDR2-667 ECC fully buffered 6 * 147GB 15K SAS/3 benchmark variable cache hit ratio percentages (0, 50, 95, 100) 1,000 client connections 1KB response from the origin 4 keep-alive requests per connection 10,000 unique objects

YTS v.s. Squid (2/3)

YTS v.s. Squid (3/3)

How Yahoo! use YTS?

Yahoo CDN: based on YTS at November 2009 128TB per day 17 billion requests per day peak at 20+Gbps targets 90% of content being cacheable

Yahoo Connection Proxy (1/3) reverse proxy of connection to end users located at last mile reduced round-trip times

Yahoo Connection Proxy (2/3) provides keep-alive support a connection is re-used for subsequent objects being downloaded TCP slow start will only impact the first object downloaded

Yahoo Connection Proxy (3/3) allowing for domain collapsing

Open Source! Yahoo! donate the source to Apache Software Foundation at Nov/2009 http://ostatic.com/blog/guest-post-yahoos-cloud-team-open-sources-traffic-server

Setup YTS

Quick Setup a Reverse Proxy by YTS install YTS creating mapping rules (remap.config) map http://tw.image.xxx.yahoo.com map http://tw.image.xxx.yahoo.com/oa map http://ab.cd.yahoo.com:9876/a.html http://localhost:8080 http://tw.m.xxx.yahoo.com http://ef.gh.yahoo.com:5432/b.html setup cache storage (storage.config) enable reverse proxy (records.config) DNS entry of the advertised hostname of the origin server => YTS tw.image.xxx.yahoo.com => tw.ytsvip.xxx.yahoo.com

Hierarchical Caching parent, sibling, neighbor/peer relationships using Internet Cache Protocol (ICP) neighbor miss request forward to a parent or directly to origin server each node cache the object on miss Origin Server Upstream Proxy Upstream Proxy Downstream Proxy Downstream Proxy Downstream Proxy Downstream Proxy

Cluster Caching management only nodes automatically share configuration full clustering include management-only mode cache is distributed across nodes into a single, virtual store, rather than replicating the cache node by node enormous aggregate cache size & maximize hit rate recommended to use a dedicated NIC for cluster communication use a proprietary communication protocol

Object Freshness by expires & max-age header by formula freshness_limit = (date last_modified) * threshold absolute limit revalidate rules in cache.config for particular domains / IPs / regular expressions, etc

Cache Management cache preloading scheduling updates immediate updates pushing via HTTP PUSH cache pinning

Caching Special Objects caching dynamic content URI with? ; cgi or ends in.asp caching cookie-d objects caching HTTP alternates different objects with the same URL

Determining the Cache Size related to system s temporal locality cache size need = (average object size) *(# of cached objects to achieve our target hit rate) for example, to achieve 98% hourly hit rate, average object size ~ 35kb # of cache objects required ~ 800k cache required: 800k * 35kb = 28GB

Disk Cache setup in storage.config cooked disk 64MB cache storage in /tmp/cache.db /tmp 67,108,864 raw disk skips the OS I/O buffer (preferred in Yahoo!) use the '/usr/bin/raw' to bind a raw device to a an existing block device e.g. raw /dev/raw/raw1 /dev/sys1/raw 72GB raw disk cache /dev/raw/raw1 77309411328 don t set the disk cache much larger than what you need

Ram Cache setup in records.config proxy.config.cache.ram_cache.size current YTS is 32-bit only max 2.5-3GB of ram cache on 64-bit OS memory used for cache = ram cache + in memory indices for disk cache the indices is linear in size to the disk cache configured e.g 500GB /w 700MB memory indices defaults is to use 1MB memory per GB disk cache YTS will crash if the ram cache size is set too high

Other Optimizations maximum size of objects allowed in RAM cache proxy.config.cache.ram_cache_cutoff eg: 35KB maximum size of objects allowed in cache proxy.config.cache.max_doc_size eg: 32MB

Miscellaneous YTS startup it can take several seconds (even up to 10s) until the cache is initialized no cache hits at this period better have the machine out of rotation until YTS finish initialization object with different URLs http://tw.xxx.yahoo.com/test.jpg http://tw.xxx.yahoo.com/test.jpg?.r=123 (default is to cache dynamic) customization plug-in architecture - allowing properties to modify YTS's behavior when necessary

YTS Plug-in Example regular expression mappings WoE (geographic) based ACL cookie based routing OAuth request caching map CAPTCHA session traffic throttle

Conclusion

Putting It All Together

More Information http://trafficserver.apache.org/docs/ http://trafficserver.apache.org/docs/v2/admin/ http://svn.apache.org/viewvc/trafficserver/ https://cwiki.apache.org/ts/faq.html

Question?