SlideShare a Scribd company logo
1 of 52
Life on the Edge with ESI
Kit Chan(kichan@yahoo-inc.com)
Yahoo!
Life on the Edge
Source: http://img.shockblast.net/2012/01/ShockBlast-4-803109.jpg
Agenda
 Introduction
 Use Cases
 Performance Characteristics
 Future
 Q&A
Agenda
 Introduction
 Use Cases
 Performance Characteristics
 Future
 Q&A
Edge Computing/CDN Source: http://www.excitingip.com/wp-content/uploads/2011/01/contentdeliverynetworkblockdiagram.jpeg
CDN in Yahoo!
- Pages: avg 30.2 Gbps send, 28.48 Gbps recv, 20.2% cache ratio
- Assets: avg 38.7 Gbps send, 4.1 Gbps recv. 96.7% cache hit ratio
User Location Latency - 100K file in US Through Y! Edge
California, USA 0.2s 0.02s
Singapore 2s 0.02s
Korea 1.3s 0.02s
Ireland 1.2s 0.2s
Switzerland 1.0s 0.2s
Edge Computing in Yahoo!
- Pages: avg 30.2 Gbps send, 28.48 Gbps recv, 20.2% cache ratio
- Assets: avg 38.7 Gbps send, 4.1 Gbps recv. 96.7% cache hit ratio
User Location Latency - 100K file in US Through Y! Edge
California, USA 0.2s 0.02s
Singapore 2s 0.02s
Korea 1.3s 0.02s
Ireland 1.2s 0.2s
Switzerland 1.0s 0.2s
ESI – Edge Side
Includes
Syntax Example
Markup in Response
<esi:include src=http://xyz.com/content.html/>
Syntax Example
Can handle response error and timeout
<esi:try><esi:attempt>
<esi:include src=http://xyz.com/content.html/ >
</esi:attempt><esi:except>
Sorry there is an error!
</esi:except></esi:try>
ESI Support in Proxy Server – Proven & Popular
ESI Support in CDN Vendor
Agenda
 Introduction
 Use Cases
 Performance Characteristics
 Future
 Q&A
Use Case 1 – Content Assembly
Use Case 1 – Content Assembly
Use Case 1 – Content Assembly
Use Case 1 - Content Assembly
Why? Performance!
No server cache +
No ESI
Server cache + No
ESI
ATS Cache + ESI
modules
Scenario
Origin Server
Handling Full Page
requests each time
and executing every
module every time.
Origin Server
handling full page
requests, only
executing non
cacheable modules
Origin Server only
serving requests for
non cacheable
modules
FE throughput per
box
45 queries per
second
140 queries per
second
190 queries per
second
Server latency 900 ms per request 80 ms per page 55 ms per page
Why? Availability
Why it goes down?
- Releases
- Outage
How ESI Help?
- Template cached
- Fallback for each ESI module
Why? Legacy Module Support
Use Case 2 – Combo Handler
Allow us to fetch multiple JS/CSS in one HTTP request
E.g. http://l.yimg.com/zz/combo?d/1.js&d/2.js
- It combines http://l.yimg.com/d/1.js and http://l.yimg.com/d/2.js
into one response in the server and returns one response
Minimize HTTP requests from browser to increase performance
Combo Handler Sequence Diagram
Sample ESI Doc from Combo URL Decode Service
<esi:try><esi:attempt>
<esi:include src=http://l.yimg.com/d/1.js/>
</esi:attempt><esi:except>
/* error fetching 1.js */
</esi:except></esi:try>
<esi:try><esi:attempt>
<esi:include src=http://l.yimg.com/d/2.js/ >
</esi:attempt><esi:except>
/* error fetching 2.js */
</esi:except></esi:try>
Why?
 ATS with ESI Plugin
- Provide sophisticated features for HTTP resource caching
- Provide other features such as timeout, collapse forwarding for request
- Provide capability of fetching contents simultaneously and assembling
them together
Use Case 3 - Timely Launch
Before Launch
After Launch
Timely Launch – Before Launch
Timely Launch – Before Launch
Timely Launch – After Launch
Timely Launch – After Launch
Usage Pattern
Client
Proxy
Server/CDN
ESI Service
Origin Server
for ESI Include
Agenda
 Introduction
 Use Cases
 Performance Characteristics
 Future
 Q&A
Concurrent Requests
First Byte Flush
ESI Support in Varnish
No concurrent requests for includes
First Byte Flush Support
ESI Support in Apache Traffic Server
Concurrent requests for includes
First Byte Flush Support*
Agenda
 Introduction
 Use Cases
 Performance Characteristics
 Future
 Q&A
History
The spec (ESI 1.0) is published over 10 years ago.
- W3C spec
- Editor - Mark Nottingham from Akamai
Mark Nottingham
http://www.mnot.net/
Future – Deep HTTP Integration
Client
Proxy Server
Supporting
ESI
Origin Server
returing ESI
Document
Origin Server
for ESI Include
Future – Deep HTTP Integration
Client
Proxy Server
Supporting
ESI
Origin Server
returing ESI
Document
Origin Server
for ESI Include
Final response
header to user
cannot be changed
Future – Deep HTTP Integration
Client
Proxy Server
Supporting
ESI
Origin Server
returing ESI
Document
Origin Server
for ESI Include
Final response
header to user can
be changed
Request Header,
method, timeout
cannot be changed for
includes
Future – Deep HTTP Integration
Client
Proxy Server
Supporting
ESI
Origin Server
returing ESI
Document
Origin Server
for ESI Include
Request/Response
Header cannot be
retrieved as variables
Final response
header to user can
be changed
Request Header,
method, timeout can
be changed for
includes
Future – Smart Assembly
One request for multiple
includes (e.g. one Ad call
fetching multiple ad position)
Future – More Use cases
Device Detection
Bucket Testing
http://illusionmedia.com/wp-content/uploads/2012/03/mobileDevices1-300x200.jpg
https://doazrm3qeh7n2.cloudfront.net/images/features/quick-a-vs-b-testing.jpg
Agenda
 Introduction
 Use Cases
 Performance Characteristics
 Future
 Q&A
Q & A
Thank you
kichan@yahoo-inc.com
Reference
 ESI Language Specification – http://www.w3.org/TR/esi-lang
 Edge Architecture Specification - http://www.w3.org/TR/edge-arch
 ATS ESI plugin -
https://github.com/apache/trafficserver/blob/master/plugins/experimental/esi/README
 Varnish ESI - https://www.varnish-cache.org/docs/3.0/tutorial/esi.html
 Akamai ESI - http://www.akamai.com/dl/technical_publications/akamai_esi_extensions.pdf
 F5 - http://support.f5.com/kb/en-
us/products/wa/manuals/product/wa9_4policy/WA_Policy_9_4-19-1.html
Extra: Moving to the Real Edge? – the Clients
 Problem with SEO
 Performance - More HTTP requests between clients and edge servers

More Related Content

What's hot

CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013Andrew Khoury
 
Build RESTful API Using Express JS
Build RESTful API Using Express JSBuild RESTful API Using Express JS
Build RESTful API Using Express JSCakra Danu Sedayu
 
Adobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAdobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAndrew Khoury
 
Using Websockets with Play!
Using Websockets with Play!Using Websockets with Play!
Using Websockets with Play!Andrew Conner
 
Tricks and Tips With NIO Using the Grizzly Framework
Tricks and Tips With NIO Using the Grizzly FrameworkTricks and Tips With NIO Using the Grizzly Framework
Tricks and Tips With NIO Using the Grizzly Frameworkelliando dias
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Arun Gupta
 
Scalable Text File Service with MongoDB (Intuit)
Scalable Text File Service with MongoDB (Intuit)Scalable Text File Service with MongoDB (Intuit)
Scalable Text File Service with MongoDB (Intuit)MongoDB
 
RESTful web service with JBoss Fuse
RESTful web service with JBoss FuseRESTful web service with JBoss Fuse
RESTful web service with JBoss Fuseejlp12
 
Pushing the web — WebSockets
Pushing the web — WebSocketsPushing the web — WebSockets
Pushing the web — WebSocketsRoland M
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on SteroidsSiteGround.com
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APCBen Ramsey
 
AEM (CQ) Dispatcher Caching Webinar 2013
AEM (CQ) Dispatcher Caching Webinar 2013AEM (CQ) Dispatcher Caching Webinar 2013
AEM (CQ) Dispatcher Caching Webinar 2013Andrew Khoury
 
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSocketsGunnar Hillert
 
London Web Performance Meetup: Performance for mortal companies
London Web Performance Meetup: Performance for mortal companiesLondon Web Performance Meetup: Performance for mortal companies
London Web Performance Meetup: Performance for mortal companiesStrangeloop
 

What's hot (20)

Web Sockets in Java EE 7
Web Sockets in Java EE 7Web Sockets in Java EE 7
Web Sockets in Java EE 7
 
CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013
 
Build RESTful API Using Express JS
Build RESTful API Using Express JSBuild RESTful API Using Express JS
Build RESTful API Using Express JS
 
Adobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAdobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office Hours
 
Using Websockets with Play!
Using Websockets with Play!Using Websockets with Play!
Using Websockets with Play!
 
Tricks and Tips With NIO Using the Grizzly Framework
Tricks and Tips With NIO Using the Grizzly FrameworkTricks and Tips With NIO Using the Grizzly Framework
Tricks and Tips With NIO Using the Grizzly Framework
 
Grizzly 20080925 V2
Grizzly 20080925 V2Grizzly 20080925 V2
Grizzly 20080925 V2
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014
 
Php push notifications
Php push notificationsPhp push notifications
Php push notifications
 
Scalable Text File Service with MongoDB (Intuit)
Scalable Text File Service with MongoDB (Intuit)Scalable Text File Service with MongoDB (Intuit)
Scalable Text File Service with MongoDB (Intuit)
 
S903 palla
S903 pallaS903 palla
S903 palla
 
RESTful web service with JBoss Fuse
RESTful web service with JBoss FuseRESTful web service with JBoss Fuse
RESTful web service with JBoss Fuse
 
Pushing the web — WebSockets
Pushing the web — WebSocketsPushing the web — WebSockets
Pushing the web — WebSockets
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
 
WebSockets with Spring 4
WebSockets with Spring 4WebSockets with Spring 4
WebSockets with Spring 4
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APC
 
AEM (CQ) Dispatcher Caching Webinar 2013
AEM (CQ) Dispatcher Caching Webinar 2013AEM (CQ) Dispatcher Caching Webinar 2013
AEM (CQ) Dispatcher Caching Webinar 2013
 
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
 
JBoss AS 7
JBoss AS 7JBoss AS 7
JBoss AS 7
 
London Web Performance Meetup: Performance for mortal companies
London Web Performance Meetup: Performance for mortal companiesLondon Web Performance Meetup: Performance for mortal companies
London Web Performance Meetup: Performance for mortal companies
 

Viewers also liked

Esi act-1948 employees state insurance act
Esi act-1948 employees state insurance actEsi act-1948 employees state insurance act
Esi act-1948 employees state insurance actManish Kaushik
 
THE EMPLOYEE STATE INSURANCE ACT, 1948
THE EMPLOYEE STATE INSURANCE ACT, 1948THE EMPLOYEE STATE INSURANCE ACT, 1948
THE EMPLOYEE STATE INSURANCE ACT, 1948Saurav Brahpuria
 
Employees’ state insurance act, 1948
Employees’ state insurance act, 1948Employees’ state insurance act, 1948
Employees’ state insurance act, 1948Netri Agrawal
 
The employees state insurance act, 1948
The employees state insurance act, 1948The employees state insurance act, 1948
The employees state insurance act, 1948Niv09
 
6. employee state insurance act,1948
6. employee state insurance act,19486. employee state insurance act,1948
6. employee state insurance act,1948Anagha Deolasi
 
Employee state insurance act, 1948
Employee state insurance act, 1948Employee state insurance act, 1948
Employee state insurance act, 1948Namrata Jadhav
 
Esi act 1948 with forms attachment
Esi act 1948 with forms attachment Esi act 1948 with forms attachment
Esi act 1948 with forms attachment ACS Shalu Saraf
 
PPT on "Provident Fund & MP Act 1952" of India.
PPT on "Provident Fund & MP Act 1952" of India.PPT on "Provident Fund & MP Act 1952" of India.
PPT on "Provident Fund & MP Act 1952" of India.Anshu Shekhar Singh
 

Viewers also liked (20)

Esi act
Esi actEsi act
Esi act
 
Esi act-1948 employees state insurance act
Esi act-1948 employees state insurance actEsi act-1948 employees state insurance act
Esi act-1948 employees state insurance act
 
ESI Act 1948
ESI Act 1948ESI Act 1948
ESI Act 1948
 
THE EMPLOYEE STATE INSURANCE ACT, 1948
THE EMPLOYEE STATE INSURANCE ACT, 1948THE EMPLOYEE STATE INSURANCE ACT, 1948
THE EMPLOYEE STATE INSURANCE ACT, 1948
 
Employees’ state insurance act, 1948
Employees’ state insurance act, 1948Employees’ state insurance act, 1948
Employees’ state insurance act, 1948
 
Rti pres270911
Rti pres270911Rti pres270911
Rti pres270911
 
The employees state insurance act, 1948
The employees state insurance act, 1948The employees state insurance act, 1948
The employees state insurance act, 1948
 
All About Esi
All About EsiAll About Esi
All About Esi
 
The Employee State Insurance[ESI] Act,1948
The Employee State Insurance[ESI] Act,1948The Employee State Insurance[ESI] Act,1948
The Employee State Insurance[ESI] Act,1948
 
Employee State Insurance Act 1948
Employee State Insurance Act 1948Employee State Insurance Act 1948
Employee State Insurance Act 1948
 
6. employee state insurance act,1948
6. employee state insurance act,19486. employee state insurance act,1948
6. employee state insurance act,1948
 
Esi act, 1948
Esi act, 1948Esi act, 1948
Esi act, 1948
 
Employee state insurance act, 1948
Employee state insurance act, 1948Employee state insurance act, 1948
Employee state insurance act, 1948
 
Esi Act 1948
Esi Act 1948Esi Act 1948
Esi Act 1948
 
Esi & pf
Esi & pfEsi & pf
Esi & pf
 
Esi act 1948 with forms attachment
Esi act 1948 with forms attachment Esi act 1948 with forms attachment
Esi act 1948 with forms attachment
 
Employee’s state insurance act, 1948 (esi)
Employee’s state insurance act, 1948 (esi)Employee’s state insurance act, 1948 (esi)
Employee’s state insurance act, 1948 (esi)
 
ESI act - Employee State Insurance
ESI act - Employee State InsuranceESI act - Employee State Insurance
ESI act - Employee State Insurance
 
ESIC & PF
ESIC & PFESIC & PF
ESIC & PF
 
PPT on "Provident Fund & MP Act 1952" of India.
PPT on "Provident Fund & MP Act 1952" of India.PPT on "Provident Fund & MP Act 1952" of India.
PPT on "Provident Fund & MP Act 1952" of India.
 

Similar to Life on the Edge with ESI

Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Velocity china2012kit life on edge —— 如何使用 esi 完成任务Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Velocity china2012kit life on edge —— 如何使用 esi 完成任务Michael Zhang
 
Life on the Edge with ESI
Life on the Edge with ESILife on the Edge with ESI
Life on the Edge with ESIKit Chan
 
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps FasterPractical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps FasterDoris Chen
 
Tuning web performance
Tuning web performanceTuning web performance
Tuning web performanceGeorge Ang
 
Tuning Web Performance
Tuning Web PerformanceTuning Web Performance
Tuning Web PerformanceEric ShangKuan
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowSpiffy
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupJonathan Klein
 
Optimizing CakePHP 2.x Apps
Optimizing CakePHP 2.x AppsOptimizing CakePHP 2.x Apps
Optimizing CakePHP 2.x AppsJuan Basso
 
Making it fast: Zotonic & Performance
Making it fast: Zotonic & PerformanceMaking it fast: Zotonic & Performance
Making it fast: Zotonic & PerformanceArjan
 
Real-time Code Sharing Service for one-to-many coding classes
Real-time Code Sharing Service for one-to-many coding classesReal-time Code Sharing Service for one-to-many coding classes
Real-time Code Sharing Service for one-to-many coding classesa2tt
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster WebsiteRayed Alrashed
 
5 steps to faster web sites & HTML5 games - updated for DDDscot
5 steps to faster web sites & HTML5 games - updated for DDDscot5 steps to faster web sites & HTML5 games - updated for DDDscot
5 steps to faster web sites & HTML5 games - updated for DDDscotMichael Ewins
 
5 Steps to Faster Web Sites and HTML5 Games
5 Steps to Faster Web Sites and HTML5 Games5 Steps to Faster Web Sites and HTML5 Games
5 Steps to Faster Web Sites and HTML5 GamesMichael Ewins
 
Generating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status CodesGenerating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status CodesDeeptiJava
 

Similar to Life on the Edge with ESI (20)

Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Velocity china2012kit life on edge —— 如何使用 esi 完成任务Velocity china2012kit life on edge —— 如何使用 esi 完成任务
Velocity china2012kit life on edge —— 如何使用 esi 完成任务
 
Life on the Edge with ESI
Life on the Edge with ESILife on the Edge with ESI
Life on the Edge with ESI
 
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps FasterPractical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps Faster
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
Tuning web performance
Tuning web performanceTuning web performance
Tuning web performance
 
Tuning Web Performance
Tuning Web PerformanceTuning Web Performance
Tuning Web Performance
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should Know
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
 
Optimizing CakePHP 2.x Apps
Optimizing CakePHP 2.x AppsOptimizing CakePHP 2.x Apps
Optimizing CakePHP 2.x Apps
 
Making it fast: Zotonic & Performance
Making it fast: Zotonic & PerformanceMaking it fast: Zotonic & Performance
Making it fast: Zotonic & Performance
 
Real-time Code Sharing Service for one-to-many coding classes
Real-time Code Sharing Service for one-to-many coding classesReal-time Code Sharing Service for one-to-many coding classes
Real-time Code Sharing Service for one-to-many coding classes
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
Jsp Comparison
 Jsp Comparison Jsp Comparison
Jsp Comparison
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster Website
 
The HTML5 WebSocket API
The HTML5 WebSocket APIThe HTML5 WebSocket API
The HTML5 WebSocket API
 
Performance engineering
Performance engineeringPerformance engineering
Performance engineering
 
5 steps to faster web sites & HTML5 games - updated for DDDscot
5 steps to faster web sites & HTML5 games - updated for DDDscot5 steps to faster web sites & HTML5 games - updated for DDDscot
5 steps to faster web sites & HTML5 games - updated for DDDscot
 
5 Steps to Faster Web Sites and HTML5 Games
5 Steps to Faster Web Sites and HTML5 Games5 Steps to Faster Web Sites and HTML5 Games
5 Steps to Faster Web Sites and HTML5 Games
 
Velocity 2010 - ATS
Velocity 2010 - ATSVelocity 2010 - ATS
Velocity 2010 - ATS
 
Generating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status CodesGenerating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status Codes
 

More from Kit Chan

Experience with jemalloc
Experience with jemallocExperience with jemalloc
Experience with jemallocKit Chan
 
Benchmarking for HTTP/2
Benchmarking for HTTP/2Benchmarking for HTTP/2
Benchmarking for HTTP/2Kit Chan
 
Learning from Captain Kirk, Spock and Crew of the Enterprise
Learning from Captain Kirk, Spock and Crew of the EnterpriseLearning from Captain Kirk, Spock and Crew of the Enterprise
Learning from Captain Kirk, Spock and Crew of the EnterpriseKit Chan
 
Yahoo's Adventure with ATS
Yahoo's Adventure with ATSYahoo's Adventure with ATS
Yahoo's Adventure with ATSKit Chan
 
Failsafe Mechanism for Yahoo Homepage
Failsafe Mechanism for Yahoo HomepageFailsafe Mechanism for Yahoo Homepage
Failsafe Mechanism for Yahoo HomepageKit Chan
 
Replacing Squid with ATS
Replacing Squid with ATSReplacing Squid with ATS
Replacing Squid with ATSKit Chan
 
Apache Traffic Server & Lua
Apache Traffic Server & LuaApache Traffic Server & Lua
Apache Traffic Server & LuaKit Chan
 

More from Kit Chan (7)

Experience with jemalloc
Experience with jemallocExperience with jemalloc
Experience with jemalloc
 
Benchmarking for HTTP/2
Benchmarking for HTTP/2Benchmarking for HTTP/2
Benchmarking for HTTP/2
 
Learning from Captain Kirk, Spock and Crew of the Enterprise
Learning from Captain Kirk, Spock and Crew of the EnterpriseLearning from Captain Kirk, Spock and Crew of the Enterprise
Learning from Captain Kirk, Spock and Crew of the Enterprise
 
Yahoo's Adventure with ATS
Yahoo's Adventure with ATSYahoo's Adventure with ATS
Yahoo's Adventure with ATS
 
Failsafe Mechanism for Yahoo Homepage
Failsafe Mechanism for Yahoo HomepageFailsafe Mechanism for Yahoo Homepage
Failsafe Mechanism for Yahoo Homepage
 
Replacing Squid with ATS
Replacing Squid with ATSReplacing Squid with ATS
Replacing Squid with ATS
 
Apache Traffic Server & Lua
Apache Traffic Server & LuaApache Traffic Server & Lua
Apache Traffic Server & Lua
 

Recently uploaded

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 

Recently uploaded (20)

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 

Life on the Edge with ESI

  • 1. Life on the Edge with ESI Kit Chan(kichan@yahoo-inc.com) Yahoo!
  • 2.
  • 3.
  • 4.
  • 5. Life on the Edge Source: http://img.shockblast.net/2012/01/ShockBlast-4-803109.jpg
  • 6. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  • 7. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  • 8. Edge Computing/CDN Source: http://www.excitingip.com/wp-content/uploads/2011/01/contentdeliverynetworkblockdiagram.jpeg
  • 9. CDN in Yahoo! - Pages: avg 30.2 Gbps send, 28.48 Gbps recv, 20.2% cache ratio - Assets: avg 38.7 Gbps send, 4.1 Gbps recv. 96.7% cache hit ratio User Location Latency - 100K file in US Through Y! Edge California, USA 0.2s 0.02s Singapore 2s 0.02s Korea 1.3s 0.02s Ireland 1.2s 0.2s Switzerland 1.0s 0.2s
  • 10. Edge Computing in Yahoo! - Pages: avg 30.2 Gbps send, 28.48 Gbps recv, 20.2% cache ratio - Assets: avg 38.7 Gbps send, 4.1 Gbps recv. 96.7% cache hit ratio User Location Latency - 100K file in US Through Y! Edge California, USA 0.2s 0.02s Singapore 2s 0.02s Korea 1.3s 0.02s Ireland 1.2s 0.2s Switzerland 1.0s 0.2s
  • 11. ESI – Edge Side Includes
  • 12. Syntax Example Markup in Response <esi:include src=http://xyz.com/content.html/>
  • 13. Syntax Example Can handle response error and timeout <esi:try><esi:attempt> <esi:include src=http://xyz.com/content.html/ > </esi:attempt><esi:except> Sorry there is an error! </esi:except></esi:try>
  • 14. ESI Support in Proxy Server – Proven & Popular
  • 15. ESI Support in CDN Vendor
  • 16. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  • 17. Use Case 1 – Content Assembly
  • 18. Use Case 1 – Content Assembly
  • 19. Use Case 1 – Content Assembly
  • 20. Use Case 1 - Content Assembly
  • 21. Why? Performance! No server cache + No ESI Server cache + No ESI ATS Cache + ESI modules Scenario Origin Server Handling Full Page requests each time and executing every module every time. Origin Server handling full page requests, only executing non cacheable modules Origin Server only serving requests for non cacheable modules FE throughput per box 45 queries per second 140 queries per second 190 queries per second Server latency 900 ms per request 80 ms per page 55 ms per page
  • 22. Why? Availability Why it goes down? - Releases - Outage How ESI Help? - Template cached - Fallback for each ESI module
  • 24. Use Case 2 – Combo Handler Allow us to fetch multiple JS/CSS in one HTTP request E.g. http://l.yimg.com/zz/combo?d/1.js&d/2.js - It combines http://l.yimg.com/d/1.js and http://l.yimg.com/d/2.js into one response in the server and returns one response Minimize HTTP requests from browser to increase performance
  • 26. Sample ESI Doc from Combo URL Decode Service <esi:try><esi:attempt> <esi:include src=http://l.yimg.com/d/1.js/> </esi:attempt><esi:except> /* error fetching 1.js */ </esi:except></esi:try> <esi:try><esi:attempt> <esi:include src=http://l.yimg.com/d/2.js/ > </esi:attempt><esi:except> /* error fetching 2.js */ </esi:except></esi:try>
  • 27. Why?  ATS with ESI Plugin - Provide sophisticated features for HTTP resource caching - Provide other features such as timeout, collapse forwarding for request - Provide capability of fetching contents simultaneously and assembling them together
  • 28. Use Case 3 - Timely Launch
  • 31. Timely Launch – Before Launch
  • 32. Timely Launch – Before Launch
  • 33. Timely Launch – After Launch
  • 34. Timely Launch – After Launch
  • 36. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  • 39. ESI Support in Varnish No concurrent requests for includes First Byte Flush Support
  • 40. ESI Support in Apache Traffic Server Concurrent requests for includes First Byte Flush Support*
  • 41. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  • 42. History The spec (ESI 1.0) is published over 10 years ago. - W3C spec - Editor - Mark Nottingham from Akamai Mark Nottingham http://www.mnot.net/
  • 43. Future – Deep HTTP Integration Client Proxy Server Supporting ESI Origin Server returing ESI Document Origin Server for ESI Include
  • 44. Future – Deep HTTP Integration Client Proxy Server Supporting ESI Origin Server returing ESI Document Origin Server for ESI Include Final response header to user cannot be changed
  • 45. Future – Deep HTTP Integration Client Proxy Server Supporting ESI Origin Server returing ESI Document Origin Server for ESI Include Final response header to user can be changed Request Header, method, timeout cannot be changed for includes
  • 46. Future – Deep HTTP Integration Client Proxy Server Supporting ESI Origin Server returing ESI Document Origin Server for ESI Include Request/Response Header cannot be retrieved as variables Final response header to user can be changed Request Header, method, timeout can be changed for includes
  • 47. Future – Smart Assembly One request for multiple includes (e.g. one Ad call fetching multiple ad position)
  • 48. Future – More Use cases Device Detection Bucket Testing http://illusionmedia.com/wp-content/uploads/2012/03/mobileDevices1-300x200.jpg https://doazrm3qeh7n2.cloudfront.net/images/features/quick-a-vs-b-testing.jpg
  • 49. Agenda  Introduction  Use Cases  Performance Characteristics  Future  Q&A
  • 50. Q & A Thank you kichan@yahoo-inc.com
  • 51. Reference  ESI Language Specification – http://www.w3.org/TR/esi-lang  Edge Architecture Specification - http://www.w3.org/TR/edge-arch  ATS ESI plugin - https://github.com/apache/trafficserver/blob/master/plugins/experimental/esi/README  Varnish ESI - https://www.varnish-cache.org/docs/3.0/tutorial/esi.html  Akamai ESI - http://www.akamai.com/dl/technical_publications/akamai_esi_extensions.pdf  F5 - http://support.f5.com/kb/en- us/products/wa/manuals/product/wa9_4policy/WA_Policy_9_4-19-1.html
  • 52. Extra: Moving to the Real Edge? – the Clients  Problem with SEO  Performance - More HTTP requests between clients and edge servers