Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Magento 2 Caching Strategies
Search
Marko Martinović
November 24, 2014
Programming
0
990
Magento 2 Caching Strategies
Meet Magento Poland, Warsaw, November 24th to November 25th 2014.
Marko Martinović
November 24, 2014
Tweet
Share
More Decks by Marko Martinović
See All by Marko Martinović
Magento 2 performance test toolkit
markomartinovic
1
520
Other Decks in Programming
See All in Programming
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
840
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
440
認証・認可の基本を学ぼう後編
kouyuume
0
240
Cell-Based Architecture
larchanjo
0
130
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
110
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.2k
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
720
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
9
5.7k
AWS CDKの推しポイントN選
akihisaikeda
1
240
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
230
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
170
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
100
Docker and Python
trallard
47
3.7k
Producing Creativity
orderedlist
PRO
348
40k
Unsuck your backbone
ammeep
671
58k
Building Adaptive Systems
keathley
44
2.9k
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Automating Front-end Workflow
addyosmani
1371
200k
How GitHub (no longer) Works
holman
316
140k
Side Projects
sachag
455
43k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Transcript
Meet Magento Poland 2014 Meet Magento Poland 2014 Marko Martinović
Magento 2 Caching Strategies
Meet Magento Poland 2014 2.0 Platform Goals “Improved performance and
scalability”
Meet Magento Poland 2014 Architecture Built on top of Zend_Cache
Meet Magento Poland 2014 Architecture Multiple frontend pools, each associated
to one or two level backend adapter
Meet Magento Poland 2014 Architecture Each cache type with its
own class enforcing specific cache tag
Meet Magento Poland 2014 Frontend Pools Out the box: •
default - General type instances • page_cache - PageCache type instance
Meet Magento Poland 2014 Backend Adapters Cm_Cache_Backend_File as the default
cache backend
Meet Magento Poland 2014 Backend Adapters All the usual suspects,
with MongoDB adapter introduced
Meet Magento Poland 2014 Cache Types Good old • Configuration
• Layouts • Blocks HTML output • Collections data • EAV types and attributes • Translations Brand New • View files fallback • View files pre- processing • Integrations Configuration • Integrations API Configuration • Web Services Configuration • PageCache
Meet Magento Poland 2014 Collections Data Fetch strategy interface with
Query and Cache implementations
Meet Magento Poland 2014 Collections Data Store, Store Group, Website
and Catalog Category collection cached
Meet Magento Poland 2014 EAV Types and Attributes Implemented to
cache eav_entity_type table collection. Still here, still unused, still no one knows why.
Meet Magento Poland 2014 EAV Types and Attributes "One developer
is working on it for a month, other comments it out for testing, third one is then afraid to enable it back" -Ivan Weiler @Inchoo
Meet Magento Poland 2014 View Files Fallback Requested asset is
being searched for using fallback rules applied to fallback context
Meet Magento Poland 2014 View Files Fallback Path to requested
asset resolved and cached
Meet Magento Poland 2014 View Files Pre-processing Pre-processing of Magento-flavoured
CSS tricks like @magento_import, @import, scope notation file references and Less
Meet Magento Poland 2014 View Files Pre-processing Path to pre-processed
asset cached
Meet Magento Poland 2014 PageCache Out the box: • PHP/AJAX
based (Built-in) • Reverse proxy/ESI/AJAX based (Varnish)
Meet Magento Poland 2014 PageCache Caching controlled by ‘Cache-Control’: public,
max-age=XY, s-maxage=XY vs. private, max-age=YZ vs. no-store, no-cache, must-revalidate, max- age=0
Meet Magento Poland 2014 PageCache Setting cacheable=false to some block
results with whole page not being cached
Meet Magento Poland 2014 Hole Punching Setting _isScopePrivate to some
block results with its content not being cached
Meet Magento Poland 2014 Hole Punching Setting ttl to some
block results with its content being served through ESI and cached by Varnish
Meet Magento Poland 2014 Built-in Page cache saved through dedicated
frontend instance by PHP code
Meet Magento Poland 2014 Built-in Dynamic blocks not cached and
served exclusively through AJAX: <!-- BLOCK header --><li class="greet welcome">Default welcome msg!</li><!-- /BLOCK header -->
Meet Magento Poland 2014 Built-in Pros • Works out the
box with no special setup Cons • Leaves a lot to be desired performance- wise
Meet Magento Poland 2014 Varnish
Meet Magento Poland 2014 Varnish Page cache maintained and served
by reverse proxy
Meet Magento Poland 2014 Varnish Without ttl set, dynamic blocks
not cached and served through AJAX
Meet Magento Poland 2014 Varnish With ttl set, dynamic blocks
cached and served through ESI: <esi:include src="..." />
Meet Magento Poland 2014 Varnish Pros • The best performing
caching solution, if properly configured Cons • The worst performing caching solution, if configured improperly • Considerable setup and maintenance overhead • Requires SSL termination proxy to support HTTPS
Meet Magento Poland 2014 Benchmarks Magento 2 (Alpha 102) Magento
EE (1.14.0.1)
Meet Magento Poland 2014 Any questions?
Meet Magento Poland 2014 @MarkoTechyTalk Team Lead/MCD+ at Inchoo Thank
you!