Pro Yearly is on sale from $80 to $50! »

Magento 2 Caching Strategies

Magento 2 Caching Strategies

Meet Magento Poland, Warsaw, November 24th to November 25th 2014.

C41af9ffd040338b7a61fa010ecd0fa7?s=128

Marko Martinović

November 24, 2014
Tweet

Transcript

  1. Meet Magento Poland 2014 Meet Magento Poland 2014 Marko Martinović

    Magento 2 Caching Strategies
  2. Meet Magento Poland 2014 2.0 Platform Goals “Improved performance and

    scalability”
  3. Meet Magento Poland 2014 Architecture Built on top of Zend_Cache

  4. Meet Magento Poland 2014 Architecture Multiple frontend pools, each associated

    to one or two level backend adapter
  5. Meet Magento Poland 2014 Architecture Each cache type with its

    own class enforcing specific cache tag
  6. Meet Magento Poland 2014 Frontend Pools Out the box: •

    default - General type instances • page_cache - PageCache type instance
  7. Meet Magento Poland 2014 Backend Adapters Cm_Cache_Backend_File as the default

    cache backend
  8. Meet Magento Poland 2014 Backend Adapters All the usual suspects,

    with MongoDB adapter introduced
  9. 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
  10. Meet Magento Poland 2014 Collections Data Fetch strategy interface with

    Query and Cache implementations
  11. Meet Magento Poland 2014 Collections Data Store, Store Group, Website

    and Catalog Category collection cached
  12. 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.
  13. 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
  14. Meet Magento Poland 2014 View Files Fallback Requested asset is

    being searched for using fallback rules applied to fallback context
  15. Meet Magento Poland 2014 View Files Fallback Path to requested

    asset resolved and cached
  16. 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
  17. Meet Magento Poland 2014 View Files Pre-processing Path to pre-processed

    asset cached
  18. Meet Magento Poland 2014 PageCache Out the box: • PHP/AJAX

    based (Built-in) • Reverse proxy/ESI/AJAX based (Varnish)
  19. 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
  20. Meet Magento Poland 2014 PageCache Setting cacheable=false to some block

    results with whole page not being cached
  21. Meet Magento Poland 2014 Hole Punching Setting _isScopePrivate to some

    block results with its content not being cached
  22. Meet Magento Poland 2014 Hole Punching Setting ttl to some

    block results with its content being served through ESI and cached by Varnish
  23. Meet Magento Poland 2014 Built-in Page cache saved through dedicated

    frontend instance by PHP code
  24. 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 -->
  25. Meet Magento Poland 2014 Built-in Pros • Works out the

    box with no special setup Cons • Leaves a lot to be desired performance- wise
  26. Meet Magento Poland 2014 Varnish

  27. Meet Magento Poland 2014 Varnish Page cache maintained and served

    by reverse proxy
  28. Meet Magento Poland 2014 Varnish Without ttl set, dynamic blocks

    not cached and served through AJAX
  29. Meet Magento Poland 2014 Varnish With ttl set, dynamic blocks

    cached and served through ESI: <esi:include src="..." />
  30. 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
  31. Meet Magento Poland 2014 Benchmarks Magento 2 (Alpha 102) Magento

    EE (1.14.0.1)
  32. Meet Magento Poland 2014 Any questions?

  33. Meet Magento Poland 2014 @MarkoTechyTalk Team Lead/MCD+ at Inchoo Thank

    you!