SlideShare a Scribd company logo
Varnish Cache 
and its usage in the real world 
Ivan Chepurnyi 
CTO 
Interactiv4
About me 
Ivan Chepurnyi 
Meet Magento 
• Technical Consultant, Owner at EcomDev B.V. 
• Started as one of the first five developers in original Magento 
core team 
• Magento Developer Coach in Europe 
• Main areas of my expertise: 
– System Architecture 
– Performance Optimization 
– Test Driven Development 
– Complex Customizations
Varnish 
is not a cache backend 
Ivan Chepurnyi Meet Magento
Varnish 
is a frontend caching proxy 
Ivan Chepurnyi Meet Magento

Recommended for you

Openxcell conducts a successful webinar on Magento Optimization
Openxcell conducts a successful webinar on Magento OptimizationOpenxcell conducts a successful webinar on Magento Optimization
Openxcell conducts a successful webinar on Magento Optimization

Magento optimization is an important aspect of ecommerce. Read more to find out Openxcell’s recent webinar on magento optimization. Read more!

magento optimization
AEM Meetup Personalization with ContextHub
AEM Meetup Personalization with ContextHubAEM Meetup Personalization with ContextHub
AEM Meetup Personalization with ContextHub

Learn how to personalise content with contextual data using AEM ContextHub. Understand how to create custom contexthub store and render data based on visitor's profile , location and interest.

aemcontexthubpersonalization
An Introduction To Magento
An Introduction To MagentoAn Introduction To Magento
An Introduction To Magento

The document discusses eCommerce and the Magento platform. It defines eCommerce as the purchase and sale of goods and services over electronic systems like the internet. It outlines benefits of eCommerce like no checkout queues and access to a global market. The document then provides an overview of the Magento eCommerce platform, noting that it is open source and widely used, with over 240,000 merchants. It describes Magento's benefits including being open source, having SEO-friendly URLs, security features, and a large community.

an introduction to magentomagento overviewmarket place of magento
Simple Workflow 
Ivan Chepurnyi 
Meet Magento 
First call to a page
Simple Workflow 
Ivan Chepurnyi 
Meet Magento 
Subsequent requests
How Varnish Works 
hash pipe 
fetch 
Ivan Chepurnyi 
Meet Magento 
recv 
hit miss pass 
deliver 
• recv – request is received from client 
• pipe – direct output of backend data 
(streaming) 
• hash – request is cacheable, lookup 
cache entry 
• pass – request is not cacheable 
• hit – cache entry is found 
• miss – cache entry not found 
• fetch – retrieval of data from 
backend 
• deliver – return data to client
What can we do with it? 
• Cache static pages (Homepage, CMS, Contacts, etc) 
Ivan Chepurnyi 
Meet Magento 
• Cache catalog pages: 
– Category listings 
– Product search results 
– Product view pages 
• Cache page parts: 
– CMS Blocks 
– Header 
– Footer

Recommended for you

E commerce Ooi Trainings
E commerce Ooi TrainingsE commerce Ooi Trainings
E commerce Ooi Trainings

Best E-Commerce Training Institute in Vijayawada with real-time client projects for students. We provide E-Commerce Training with 100% Placements assistance

e-commerce site development courseelectronic commerce courseecommerce website development
Microservice Websites – Micro CPH
Microservice Websites – Micro CPHMicroservice Websites – Micro CPH
Microservice Websites – Micro CPH

How can we develop websites where the different parts of the pages are developed by different teams? If you work in a large enough organization which has its content and services on the web, this is probably a question you have asked yourself several times. With this talk I want to show that server-side rendered websites integrated on content (using transclusion) allow for high long-term evolvability compared to client-side rendering integrated with shared code. In other words, if you want a system with high long-term evolvability, you should not develop websites using only client-side JavaScript and integrate them using a shared components approach.

architecturesoftware developmentweb
Introduction to Magento - KNOWARTH
Introduction to Magento - KNOWARTHIntroduction to Magento - KNOWARTH
Introduction to Magento - KNOWARTH

Magento is an open-source CMS for e-commerce web sites. The software was originally developed by Varien Inc., a US private company headquartered in California. Varien published the first general-availability release of the software on March 31, 2008. Later sold share of the company to eBay, which is now the sole owner. More than 240,000 merchants worldwide. Based on 1. Linux, Apache, MySQL, PHP 2. PHP - Zend Framework 3. JS - Prototype & Script E-Commerce website needs to be flexible, affordable and feature rich. Magento platform that will comply those criteria. Magento provides the following benefits: 1. Scalability 2. Flexible Content Management 3. Feature rich 4. Mobile Friendly 5. Extension rich 6. SEO Friendly 7. Integration with Third Party 8. Multi-Store and Multi-language support

ecommercemagentoecommerce website
Is it possible to clear Varnish 
cache based on product, category, 
store, etc? 
YES!!! 
Ivan Chepurnyi Meet Magento
The Secret is in 
Cache Object structure 
Ivan Chepurnyi Meet Magento
Cached Object in Varnish 
Ivan Chepurnyi 
Meet Magento 
Cached Object 
Response Headers 
Response Body 
Cache Metadata 
Cache Content
We just going to supply object ID with 
its type in response headers, so it later 
on can be used to flush pages 
containing our object. 
Ivan Chepurnyi Meet Magento

Recommended for you

How to migrate Yahoo Store to Shopify with Litextension
How to migrate Yahoo Store to Shopify with LitextensionHow to migrate Yahoo Store to Shopify with Litextension
How to migrate Yahoo Store to Shopify with Litextension

Yahoo to Shopify migration tool allows switching from Yahoo store to Shopify within some simple steps. All data can be migrated successfully Check it out: http://litextension.com/shopify-migration/yahoo-to-shopify-migration.html

yahoo to shopifyshopify data migration servicesyahoo store to shopify
Installing wordpress
Installing wordpressInstalling wordpress
Installing wordpress

To install Wordpress on a remote web server, you must: 1. Download and extract the Wordpress package and upload it to your server. 2. Create a new MySQL database using your hosting control panel or PHPMyAdmin. 3. Edit the wp-config.php file with your database details. 4. Create an administrator account to access the Wordpress admin interface.

wordpress
Ooorza Magento Extension FAQs
Ooorza Magento Extension FAQsOoorza Magento Extension FAQs
Ooorza Magento Extension FAQs

Ooorza.freshdesk.com is a database containing frequently asked questions related to Magento extensions that provides answers to queries about extensions for disabling customer registration, copying or deleting custom options for multiple products, moving bulk products into multiple categories, the Magento Marketplace, PayPal adaptive payments, LensWebShop, exporting or importing CMS contents, customer avatars, and adding videos to product categories. Users can log on to https://ooorza.freshdesk.com to find answers to their Magento extension-related questions.

magentomagento extension faqsmagento extensions
But is it possible to make cache lifetime 
dynamic per product, category, etc? 
YES!!! 
Ivan Chepurnyi Meet Magento
You can supply a response header, 
that contains a TTL of the page. 
Ivan Chepurnyi Meet Magento
So what should be done to implement 
Varnish in Magento with all the 
benefits? 
Ivan Chepurnyi Meet Magento
Varnish in Magento 
• Collect current page objects, that are shown on the page. 
Ivan Chepurnyi 
Meet Magento 
Also add them into response headers. 
• Create a connector to a Varnish admin protocol, that will be 
used for flushing of the page by object ids. 
• Implement auto-updated AJAX blocks for: 
– Shopping cart 
– Wishlist 
– Customer Account links

Recommended for you

Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)

This document discusses developing websites with multiple teams using a microservice approach. It proposes having each service have its own frontend to enable continuous delivery, decentralized governance, and good mobile performance. Integration is done through transclusion, where one service can include static resources like HTML fragments from another service. Server-side transclusion of resources is preferred for performance. Services should not rely on global client-side dependencies.

architecturesoftware developmentdevelopment
Optimizing WordPress Performance
Optimizing WordPress PerformanceOptimizing WordPress Performance
Optimizing WordPress Performance

Site speed is a ranking factor in Google, and for good reason. Visitors have a short attention span, and will quickly navigate away from a slow website, especially on mobile. This presentation covers essential tools and techniques for improving your load times and PageSpeed score, such as caching, image optimization, and plugin performance.

wordpresspagespeedwp
Content Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme developmentContent Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme development

- WordPress is a popular content management system (CMS) that can be used to manage websites with frequently updated content from multiple sources. It allows both technical and non-technical users to manage content. - While WordPress started as a blogging platform, it has evolved into a full-fledged CMS through the use of plugins and themes. Many websites built with WordPress do not look like blogs. - Setting up WordPress involves downloading and installing the WordPress files, creating a database, editing configuration files, and creating an administrator account. Key interfaces include the public interface for visitors and the admin interface for content management.

wcmswordpresscms
But I have good news: 
I alredy developed a module that gives you 
a solid foundation for using Varnish in your 
project! 
Ivan Chepurnyi Meet Magento
EcomDev_Varnish 
Ivan Chepurnyi 
Meet Magento 
Download URL: http://bit.ly/ecomdev_varnish 
Requires: 
• Varnish 3.0 
• Minimal changes to your theme 
Supports: 
• Flush of cache on update of product, category, cms page, 
csm block, price rules 
• Client side cacheable AJAX placeholders (Cart, Wishlist, etc) 
• Possibility to make a cache based on customer segment 
• Cache for logged in users
Before you start using it… 
Ivan Chepurnyi 
Meet Magento 
• Make a list of dynamic blocks in your project: 
– Shopping Cart 
– Login blocks 
– Special Promo for Customer 
• Validate possible visitor segments of your project: 
– Customer group 
– Language / Country 
• Make a list of themes you need to modify
Making an element dynamic on varnish 
cached page 
Ivan Chepurnyi Meet Magento

Recommended for you

Anatomy of a Wordpress theme
Anatomy of a Wordpress themeAnatomy of a Wordpress theme
Anatomy of a Wordpress theme

The document discusses WordPress themes and their anatomy. It explains that WordPress uses themes to change the look and feel of a site. Themes consist of PHP files and CSS/image/JavaScript files. Key PHP template files include header.php, footer.php, sidebar.php, index.php, single.php and page.php. These files work with WordPress template tags and functions to retrieve content from the database and display it on the site. The document provides guidance on creating custom themes from scratch versus using pre-made themes.

wordpresstemplatesthemes
Web analytics 101: Measuring Web Traffic
Web analytics 101: Measuring Web TrafficWeb analytics 101: Measuring Web Traffic
Web analytics 101: Measuring Web Traffic

A solid foundation is the key to any major success. Start building that foundation with Web Analytics 101, a series of concepts and techniques. Explore the top advantages and disadvantages to four common web measurement tactics in Web Analytics 101 – Measuring Web Traffic.

web analytics
Best cdn for e commerce
Best cdn for e commerceBest cdn for e commerce
Best cdn for e commerce

This document discusses how a content delivery network (CDN) can provide the best solution for ecommerce websites to improve performance. A CDN uses strategically located servers around the world to cache and deliver website content quickly. This reduces load times for visitors and improves the user experience. The top benefits of a CDN for ecommerce include high-performance loading, global reach to customers, and improved search engine rankings. BelugaCDN is recommended as one of the best and most affordable CDN options for ecommerce sites.

cdn servicewhat is cdnhow cdn works
Code Sample Dynamic Block 
Layout File 
Ivan Chepurnyi 
Meet Magento 
<default_varnish> 
<reference name=”parentBlock”> 
<action method="unsetChild”> 
<block>dynamicBlockAlias</block> 
</action> 
<block 
as="dynamicBlockAlias” 
name=”dynamicBlockPlaceholder" 
template="ecomdev/varnish/wrapper/placeholder.phtml" 
type="core/template"> 
<action method="append"> 
<block>dynamicBlock</block> 
</action> 
<action method="setBlockName"> 
<block>dynamicBlock</block> 
</action> 
<action method="setCookie"> 
<cookie>dynamicCookie</cookie> 
</action> 
<action method="setWrapperId"> 
<htmlId>elementId</htmlId> 
</action> 
</block> 
</reference> 
</default_varnish> 
• parentBlock – name of the parent 
block 
• dynamicBlockAlias – alias of the 
dynamic block in parent block 
• dynamicBlockPlaceholder – unique 
name of your placeholder 
• dynamicBlock – name of the original 
dynamic block 
• dynamicCookie – name of the cookie 
for dynamic blocks 
• elementId – HTML ID for the 
placeholder div, that is going to be 
used as container
Available Dynamic Cookies 
• quote_checksum – checksum of the current quote contents 
• customer_checksum – checksum based on the customer 
Ivan Chepurnyi 
Meet Magento 
identification, if logged in customer gets changed 
• is_logged_in – boolean flag of the logged in state of the 
visitor 
• segment_checksum – checksum of the current customer 
segment: 
– customer group id 
– store view
How does it work? 
• Your original block gets wrapped by a custom div with some 
Ivan Chepurnyi 
Meet Magento 
JS code 
• When customer visits a page, JS checks for a cookie value 
and compares it with latest saved one in local/session 
storage 
• If it is different it requests /varnish/ajax/reload for retrieving 
dynamic content and saves it to local/session storage 
• If it is the same, it just updates block from local/session 
storage
Adding custom TTL for a page 
Ivan Chepurnyi Meet Magento

Recommended for you

Why you choose Magento as your ecommerce platform?
Why you choose Magento as your ecommerce platform? Why you choose Magento as your ecommerce platform?
Why you choose Magento as your ecommerce platform?

Magento is best ecommerce platform choice for your online store. Majority of owner choose Magento platform for their online store because it has lots of resource and it gives facility of multiple store. Here I discussed all benefit of Magento, read on to discover why Magento is best for you.

magento website developmentmagento development companymagento development
Django Shop
Django ShopDjango Shop
Django Shop

This document outlines the business plan and progress for developing an e-commerce shopping website using Django. It describes two versions - basic and professional. The basic version allows users to order items, maintain a basket and profile, and includes online payment and admin controls. The professional version adds enhanced sales management tools. The document also discusses use cases, entity relationship diagrams, testing approach, and technologies used like Python, Django, and Subversion for version control. It provides an update on components already implemented including the model, admin panel, and user registration.

ecommerceweb developmentdjango
Varnish Cache and its usage in the real world!
Varnish Cache and its usage in the real world!Varnish Cache and its usage in the real world!
Varnish Cache and its usage in the real world!

Ivan Chepurnyi discussed Varnish Cache and its usage in Magento. Varnish is a frontend caching proxy that caches static and dynamic content to improve site performance. It works by caching responses from the backend server and delivering cached responses to subsequent requests when possible. Ivan described how to use the EcomDev_Varnish module to implement dynamic content, custom caching rules, and automatic cache clearing in Magento with Varnish. He also compared Varnish to Magento's built-in full page cache and outlined his open source roadmap for 2014.

varnishmagento
Code Sample Custom TTL 
Code Block 
Ivan Chepurnyi 
Meet Magento 
// Somewhere in your code you just simply call it 
// Varnish module will take the lowest value in array of TTL that were added 
Mage::helper(‘ecomdev_varnish’) 
->addTtl($timeInSeconds);
Making custom page cacheable 
Ivan Chepurnyi Meet Magento
Code Sample Custom Page 
config.xml 
Ivan Chepurnyi 
Meet Magento 
<config> 
<varnish> 
<pages> 
<layout_handle_name 
translate="label" 
module=”your_module"> 
<label>Your Page Name</label> 
</layout_handle_name> 
</pages> 
</varnish> 
<default> 
<varnish> 
<pages> 
<layout_handle_name_time>360</layout_handle_name_ 
time> 
</pages> 
</varnish> 
</default> 
</config> 
• layout_handle_name – full 
name of the layout handle that 
should be cacheable 
• your_module – name of the 
module used for translation of 
label 
• Your Page Name – name of 
your pages, that will be shown 
in System Configuration - 
Varnish Cache 
• 360 – default cache lifetime of 
the page
Varnish vs Full Page Cache 
Ivan Chepurnyi 
Meet Magento 
Varnish 
• Avg. time to first byte 30ms 
• Dedicated software 
• Tools to monitor cache usage 
• Scalable 
• Requires adaptation of themes for 
dynamic parts 
• Possibility to flush group of pages 
Magento FPC implementation 
• Avg. time to first byte 300-400ms 
• Magento code level 
• N/A 
• Only as another backend node 
• Most of the time it is not required 
• N/A

Recommended for you

Improving Performance on Magento 1*
Improving Performance on Magento 1*Improving Performance on Magento 1*
Improving Performance on Magento 1*

This document provides tips and best practices for optimizing Magento performance. It discusses the importance of caching, both full page caching and object caching using Redis or Memcache. It also recommends using a CDN, PHP accelerators like OpCache, and monitoring tools like New Relic and Google Analytics to analyze site performance. The key sections discuss optimizing categories, product pages, and checkout through extensive caching and techniques like image optimization.

speedcachemagento 1*
AEM 6 - Client Context Personalization
AEM 6 - Client Context Personalization AEM 6 - Client Context Personalization
AEM 6 - Client Context Personalization

The document discusses content personalization in Adobe Experience Manager (AEM). It begins with an introduction to content personalization and why it is important. It then covers the types of personalization (server-side vs. client-side), the key elements involved (users, content, rules), and AEM's architecture for personalization including client context, session stores, and context store components. The document provides details on customizing the client context and context store components, and includes an example exercise on building a personalized experience based on weather data from an external API.

aem6cq5aem
Varnish & Magento TechTalk @Lyracons
Varnish & Magento TechTalk @LyraconsVarnish & Magento TechTalk @Lyracons
Varnish & Magento TechTalk @Lyracons

## Lyracons TechTalk on Varnish & Magento ## - Speakers: Gustavo G. Moyano and Ezequiel Kupelian - Scope: Understanding what Varnish is (and isn't), how we can use it with Magento shops, best practices and ways to further optimize it

lyraconsturpentinecache
But why do I need to use 
EcomDev_Varnish? 
Ivan Chepurnyi Meet Magento
EcomDev_Varnish vs the others 
• Cache lifetime specified on Magento code level, without 
Ivan Chepurnyi 
Meet Magento 
changing VCL 
• By using collectors & processors, it can be easily extended 
to support additional entities 
• Client-side cacheable dynamic parts 
• Cache enabled for all kind of visitors 
• Saves your money on hardware
The choice is up to you! 
Ivan Chepurnyi Meet Magento
We are hiring!!! Join Us 
join@interactiv4.com 
Ivan Chepurnyi Meet Magento

Recommended for you

Improve WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of codeImprove WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of code

This document discusses various techniques for improving WordPress performance through caching and deferred execution of code. It covers PHP caching using opcode caches, WordPress page caching plugins, WordPress object caching, and using Memcached. It also discusses deferred execution of code using asynchronous job queues to move non-critical tasks like email sending and push notifications out of the main request process.

performancecachingwordpress
Accelerating Rails with edge caching
Accelerating Rails with edge cachingAccelerating Rails with edge caching
Accelerating Rails with edge caching

In this talk, we'll cover all the great built-in rails caching options and best practices for getting the most out of these. Then we'll talk about dynamic content, why it's traditionally not cached, and how you can can cache it using this thing called "edge caching". Welcome to the future, where you can cache the uncacheable.

cacherailscdn
4 useful things web designers can do with meta tags
4 useful things web designers can do with meta tags4 useful things web designers can do with meta tags
4 useful things web designers can do with meta tags

As a web designer or web developer, you must have applied meta tags at various places like keyword, description and title. But in this blog, we are going to tell you 4 useful things which you can do with meta tags.

web designweb design singaporeweb designer singapore
Thank You! 
Ivan Chepurnyi Meet Magento
Questions? 
Email: ivan@ecomdev.org 
Website: http://www.ecomdev.org 
LinkedIn: http://nl.linkedin.com/in/ivanchepurnyi 
Twitter: https://twitter.com/IvanChepurnyi

More Related Content

What's hot

Magento powerpoint sample
Magento powerpoint sampleMagento powerpoint sample
Magento powerpoint sample
smtech002
 
www.cheapnamehosting.com
www.cheapnamehosting.comwww.cheapnamehosting.com
www.cheapnamehosting.com
Mishu Kutubi
 
OpenXcell - Magento Optimization Webinar 2013
OpenXcell - Magento Optimization Webinar 2013OpenXcell - Magento Optimization Webinar 2013
OpenXcell - Magento Optimization Webinar 2013
Jayneel Patel
 
Openxcell conducts a successful webinar on Magento Optimization
Openxcell conducts a successful webinar on Magento OptimizationOpenxcell conducts a successful webinar on Magento Optimization
Openxcell conducts a successful webinar on Magento Optimization
OpenXcell Technolabs
 
AEM Meetup Personalization with ContextHub
AEM Meetup Personalization with ContextHubAEM Meetup Personalization with ContextHub
AEM Meetup Personalization with ContextHub
Abhishek Dwevedi
 
An Introduction To Magento
An Introduction To MagentoAn Introduction To Magento
An Introduction To Magento
Emipro Technologies Pvt. Ltd.
 
E commerce Ooi Trainings
E commerce Ooi TrainingsE commerce Ooi Trainings
E commerce Ooi Trainings
Ooi Trainings
 
Microservice Websites – Micro CPH
Microservice Websites – Micro CPHMicroservice Websites – Micro CPH
Microservice Websites – Micro CPH
Gustaf Nilsson Kotte
 
Introduction to Magento - KNOWARTH
Introduction to Magento - KNOWARTHIntroduction to Magento - KNOWARTH
Introduction to Magento - KNOWARTH
KNOWARTH Technologies
 
How to migrate Yahoo Store to Shopify with Litextension
How to migrate Yahoo Store to Shopify with LitextensionHow to migrate Yahoo Store to Shopify with Litextension
How to migrate Yahoo Store to Shopify with Litextension
LitExtension
 
Installing wordpress
Installing wordpressInstalling wordpress
Installing wordpress
Dave Wallace
 
Ooorza Magento Extension FAQs
Ooorza Magento Extension FAQsOoorza Magento Extension FAQs
Ooorza Magento Extension FAQs
Ooorza .com
 
Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)
Gustaf Nilsson Kotte
 
Optimizing WordPress Performance
Optimizing WordPress PerformanceOptimizing WordPress Performance
Optimizing WordPress Performance
Douglas Yuen
 
Content Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme developmentContent Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme development
Dave Wallace
 
Anatomy of a Wordpress theme
Anatomy of a Wordpress themeAnatomy of a Wordpress theme
Anatomy of a Wordpress theme
Dave Wallace
 
Web analytics 101: Measuring Web Traffic
Web analytics 101: Measuring Web TrafficWeb analytics 101: Measuring Web Traffic
Web analytics 101: Measuring Web Traffic
Society_Consulting
 
Best cdn for e commerce
Best cdn for e commerceBest cdn for e commerce
Best cdn for e commerce
ericlevis012
 
Why you choose Magento as your ecommerce platform?
Why you choose Magento as your ecommerce platform? Why you choose Magento as your ecommerce platform?
Why you choose Magento as your ecommerce platform?
Inception System
 
Django Shop
Django ShopDjango Shop
Django Shop
rkmohammadi
 

What's hot (20)

Magento powerpoint sample
Magento powerpoint sampleMagento powerpoint sample
Magento powerpoint sample
 
www.cheapnamehosting.com
www.cheapnamehosting.comwww.cheapnamehosting.com
www.cheapnamehosting.com
 
OpenXcell - Magento Optimization Webinar 2013
OpenXcell - Magento Optimization Webinar 2013OpenXcell - Magento Optimization Webinar 2013
OpenXcell - Magento Optimization Webinar 2013
 
Openxcell conducts a successful webinar on Magento Optimization
Openxcell conducts a successful webinar on Magento OptimizationOpenxcell conducts a successful webinar on Magento Optimization
Openxcell conducts a successful webinar on Magento Optimization
 
AEM Meetup Personalization with ContextHub
AEM Meetup Personalization with ContextHubAEM Meetup Personalization with ContextHub
AEM Meetup Personalization with ContextHub
 
An Introduction To Magento
An Introduction To MagentoAn Introduction To Magento
An Introduction To Magento
 
E commerce Ooi Trainings
E commerce Ooi TrainingsE commerce Ooi Trainings
E commerce Ooi Trainings
 
Microservice Websites – Micro CPH
Microservice Websites – Micro CPHMicroservice Websites – Micro CPH
Microservice Websites – Micro CPH
 
Introduction to Magento - KNOWARTH
Introduction to Magento - KNOWARTHIntroduction to Magento - KNOWARTH
Introduction to Magento - KNOWARTH
 
How to migrate Yahoo Store to Shopify with Litextension
How to migrate Yahoo Store to Shopify with LitextensionHow to migrate Yahoo Store to Shopify with Litextension
How to migrate Yahoo Store to Shopify with Litextension
 
Installing wordpress
Installing wordpressInstalling wordpress
Installing wordpress
 
Ooorza Magento Extension FAQs
Ooorza Magento Extension FAQsOoorza Magento Extension FAQs
Ooorza Magento Extension FAQs
 
Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)
 
Optimizing WordPress Performance
Optimizing WordPress PerformanceOptimizing WordPress Performance
Optimizing WordPress Performance
 
Content Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme developmentContent Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme development
 
Anatomy of a Wordpress theme
Anatomy of a Wordpress themeAnatomy of a Wordpress theme
Anatomy of a Wordpress theme
 
Web analytics 101: Measuring Web Traffic
Web analytics 101: Measuring Web TrafficWeb analytics 101: Measuring Web Traffic
Web analytics 101: Measuring Web Traffic
 
Best cdn for e commerce
Best cdn for e commerceBest cdn for e commerce
Best cdn for e commerce
 
Why you choose Magento as your ecommerce platform?
Why you choose Magento as your ecommerce platform? Why you choose Magento as your ecommerce platform?
Why you choose Magento as your ecommerce platform?
 
Django Shop
Django ShopDjango Shop
Django Shop
 

Similar to Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the real world

Varnish Cache and its usage in the real world!
Varnish Cache and its usage in the real world!Varnish Cache and its usage in the real world!
Varnish Cache and its usage in the real world!
Ivan Chepurnyi
 
Improving Performance on Magento 1*
Improving Performance on Magento 1*Improving Performance on Magento 1*
Improving Performance on Magento 1*
David Z. Lerner
 
AEM 6 - Client Context Personalization
AEM 6 - Client Context Personalization AEM 6 - Client Context Personalization
AEM 6 - Client Context Personalization
Prabhdeep Singh
 
Varnish & Magento TechTalk @Lyracons
Varnish & Magento TechTalk @LyraconsVarnish & Magento TechTalk @Lyracons
Varnish & Magento TechTalk @Lyracons
Ezequiel Kupelian
 
Improve WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of codeImprove WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of code
Danilo Ercoli
 
Accelerating Rails with edge caching
Accelerating Rails with edge cachingAccelerating Rails with edge caching
Accelerating Rails with edge caching
Michael May
 
4 useful things web designers can do with meta tags
4 useful things web designers can do with meta tags4 useful things web designers can do with meta tags
4 useful things web designers can do with meta tags
Innomedia Technologies
 
Best practices para publicar un WebSite con SharePoint Server 2010
Best practices para publicar un WebSite con SharePoint Server 2010Best practices para publicar un WebSite con SharePoint Server 2010
Best practices para publicar un WebSite con SharePoint Server 2010
Juan Andrés Valenzuela
 
ASP.NET 4.0 Cache Extensibility
ASP.NET 4.0 Cache ExtensibilityASP.NET 4.0 Cache Extensibility
ASP.NET 4.0 Cache Extensibility
akrakovetsky
 
Case Study for Magento Store And Quick Book Web Based Accounting Platform
Case Study for Magento Store And Quick Book Web Based Accounting PlatformCase Study for Magento Store And Quick Book Web Based Accounting Platform
Case Study for Magento Store And Quick Book Web Based Accounting Platform
Mike Taylor
 
Client and server
Client and serverClient and server
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress Applications
Taylor Lovett
 
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
AOE
 
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Atwix
 
Caching 101
Caching 101Caching 101
Caching 101
Andy Melichar
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
Mayank Srivastava
 
Best Practices for WordPress
Best Practices for WordPressBest Practices for WordPress
Best Practices for WordPress
Taylor Lovett
 
WordPress Resources Nov 2014
WordPress Resources Nov 2014WordPress Resources Nov 2014
WordPress Resources Nov 2014
Judy Wilson
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
George Ang
 
Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2
Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2
Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2
Yireo
 

Similar to Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the real world (20)

Varnish Cache and its usage in the real world!
Varnish Cache and its usage in the real world!Varnish Cache and its usage in the real world!
Varnish Cache and its usage in the real world!
 
Improving Performance on Magento 1*
Improving Performance on Magento 1*Improving Performance on Magento 1*
Improving Performance on Magento 1*
 
AEM 6 - Client Context Personalization
AEM 6 - Client Context Personalization AEM 6 - Client Context Personalization
AEM 6 - Client Context Personalization
 
Varnish & Magento TechTalk @Lyracons
Varnish & Magento TechTalk @LyraconsVarnish & Magento TechTalk @Lyracons
Varnish & Magento TechTalk @Lyracons
 
Improve WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of codeImprove WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of code
 
Accelerating Rails with edge caching
Accelerating Rails with edge cachingAccelerating Rails with edge caching
Accelerating Rails with edge caching
 
4 useful things web designers can do with meta tags
4 useful things web designers can do with meta tags4 useful things web designers can do with meta tags
4 useful things web designers can do with meta tags
 
Best practices para publicar un WebSite con SharePoint Server 2010
Best practices para publicar un WebSite con SharePoint Server 2010Best practices para publicar un WebSite con SharePoint Server 2010
Best practices para publicar un WebSite con SharePoint Server 2010
 
ASP.NET 4.0 Cache Extensibility
ASP.NET 4.0 Cache ExtensibilityASP.NET 4.0 Cache Extensibility
ASP.NET 4.0 Cache Extensibility
 
Case Study for Magento Store And Quick Book Web Based Accounting Platform
Case Study for Magento Store And Quick Book Web Based Accounting PlatformCase Study for Magento Store And Quick Book Web Based Accounting Platform
Case Study for Magento Store And Quick Book Web Based Accounting Platform
 
Client and server
Client and serverClient and server
Client and server
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress Applications
 
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
 
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
 
Caching 101
Caching 101Caching 101
Caching 101
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
Best Practices for WordPress
Best Practices for WordPressBest Practices for WordPress
Best Practices for WordPress
 
WordPress Resources Nov 2014
WordPress Resources Nov 2014WordPress Resources Nov 2014
WordPress Resources Nov 2014
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2
Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2
Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2
 

More from Atwix

Igor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best PracticesIgor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best Practices
Atwix
 
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
Atwix
 
Yaroslav Rogoza - Development Environment: Local or Remote?
Yaroslav Rogoza - Development Environment: Local or Remote?Yaroslav Rogoza - Development Environment: Local or Remote?
Yaroslav Rogoza - Development Environment: Local or Remote?
Atwix
 
Magento 2 performance comparison in different environments by Yaroslav Rogoza...
Magento 2 performance comparison in different environments by Yaroslav Rogoza...Magento 2 performance comparison in different environments by Yaroslav Rogoza...
Magento 2 performance comparison in different environments by Yaroslav Rogoza...
Atwix
 
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
Atwix
 
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
Atwix
 
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Atwix
 
Владимир Дубина - Meet Magento Ukraine - Data consistency
Владимир Дубина - Meet Magento Ukraine - Data consistencyВладимир Дубина - Meet Magento Ukraine - Data consistency
Владимир Дубина - Meet Magento Ukraine - Data consistency
Atwix
 
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Atwix
 
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в MagentoСергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Atwix
 
Макс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
Макс Екатериненко - Meet Magento Ukraine - Magento 2 OverviewМакс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
Макс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
Atwix
 
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещейАлександр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
Atwix
 
Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento
Антон Капля - Meet Magento Ukraine - Кодогенератор в MagentoАнтон Капля - Meet Magento Ukraine - Кодогенератор в Magento
Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento
Atwix
 
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possibleАнатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
Atwix
 
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
Atwix
 
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
Atwix
 
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
Atwix
 
Александр Колб - Meet Magento Ukraine - психология потребления онлайн
Александр Колб - Meet Magento Ukraine - психология потребления онлайнАлександр Колб - Meet Magento Ukraine - психология потребления онлайн
Александр Колб - Meet Magento Ukraine - психология потребления онлайн
Atwix
 
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с MagentoЕлена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
Atwix
 
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...
Atwix
 

More from Atwix (20)

Igor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best PracticesIgor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best Practices
 
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
 
Yaroslav Rogoza - Development Environment: Local or Remote?
Yaroslav Rogoza - Development Environment: Local or Remote?Yaroslav Rogoza - Development Environment: Local or Remote?
Yaroslav Rogoza - Development Environment: Local or Remote?
 
Magento 2 performance comparison in different environments by Yaroslav Rogoza...
Magento 2 performance comparison in different environments by Yaroslav Rogoza...Magento 2 performance comparison in different environments by Yaroslav Rogoza...
Magento 2 performance comparison in different environments by Yaroslav Rogoza...
 
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
 
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
 
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
 
Владимир Дубина - Meet Magento Ukraine - Data consistency
Владимир Дубина - Meet Magento Ukraine - Data consistencyВладимир Дубина - Meet Magento Ukraine - Data consistency
Владимир Дубина - Meet Magento Ukraine - Data consistency
 
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
 
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в MagentoСергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
 
Макс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
Макс Екатериненко - Meet Magento Ukraine - Magento 2 OverviewМакс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
Макс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
 
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещейАлександр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
 
Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento
Антон Капля - Meet Magento Ukraine - Кодогенератор в MagentoАнтон Капля - Meet Magento Ukraine - Кодогенератор в Magento
Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento
 
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possibleАнатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
 
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
 
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
 
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
 
Александр Колб - Meet Magento Ukraine - психология потребления онлайн
Александр Колб - Meet Magento Ukraine - психология потребления онлайнАлександр Колб - Meet Magento Ukraine - психология потребления онлайн
Александр Колб - Meet Magento Ukraine - психология потребления онлайн
 
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с MagentoЕлена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
 
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...
 

Recently uploaded

RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 

Recently uploaded (20)

RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 

Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the real world

  • 1. Varnish Cache and its usage in the real world Ivan Chepurnyi CTO Interactiv4
  • 2. About me Ivan Chepurnyi Meet Magento • Technical Consultant, Owner at EcomDev B.V. • Started as one of the first five developers in original Magento core team • Magento Developer Coach in Europe • Main areas of my expertise: – System Architecture – Performance Optimization – Test Driven Development – Complex Customizations
  • 3. Varnish is not a cache backend Ivan Chepurnyi Meet Magento
  • 4. Varnish is a frontend caching proxy Ivan Chepurnyi Meet Magento
  • 5. Simple Workflow Ivan Chepurnyi Meet Magento First call to a page
  • 6. Simple Workflow Ivan Chepurnyi Meet Magento Subsequent requests
  • 7. How Varnish Works hash pipe fetch Ivan Chepurnyi Meet Magento recv hit miss pass deliver • recv – request is received from client • pipe – direct output of backend data (streaming) • hash – request is cacheable, lookup cache entry • pass – request is not cacheable • hit – cache entry is found • miss – cache entry not found • fetch – retrieval of data from backend • deliver – return data to client
  • 8. What can we do with it? • Cache static pages (Homepage, CMS, Contacts, etc) Ivan Chepurnyi Meet Magento • Cache catalog pages: – Category listings – Product search results – Product view pages • Cache page parts: – CMS Blocks – Header – Footer
  • 9. Is it possible to clear Varnish cache based on product, category, store, etc? YES!!! Ivan Chepurnyi Meet Magento
  • 10. The Secret is in Cache Object structure Ivan Chepurnyi Meet Magento
  • 11. Cached Object in Varnish Ivan Chepurnyi Meet Magento Cached Object Response Headers Response Body Cache Metadata Cache Content
  • 12. We just going to supply object ID with its type in response headers, so it later on can be used to flush pages containing our object. Ivan Chepurnyi Meet Magento
  • 13. But is it possible to make cache lifetime dynamic per product, category, etc? YES!!! Ivan Chepurnyi Meet Magento
  • 14. You can supply a response header, that contains a TTL of the page. Ivan Chepurnyi Meet Magento
  • 15. So what should be done to implement Varnish in Magento with all the benefits? Ivan Chepurnyi Meet Magento
  • 16. Varnish in Magento • Collect current page objects, that are shown on the page. Ivan Chepurnyi Meet Magento Also add them into response headers. • Create a connector to a Varnish admin protocol, that will be used for flushing of the page by object ids. • Implement auto-updated AJAX blocks for: – Shopping cart – Wishlist – Customer Account links
  • 17. But I have good news: I alredy developed a module that gives you a solid foundation for using Varnish in your project! Ivan Chepurnyi Meet Magento
  • 18. EcomDev_Varnish Ivan Chepurnyi Meet Magento Download URL: http://bit.ly/ecomdev_varnish Requires: • Varnish 3.0 • Minimal changes to your theme Supports: • Flush of cache on update of product, category, cms page, csm block, price rules • Client side cacheable AJAX placeholders (Cart, Wishlist, etc) • Possibility to make a cache based on customer segment • Cache for logged in users
  • 19. Before you start using it… Ivan Chepurnyi Meet Magento • Make a list of dynamic blocks in your project: – Shopping Cart – Login blocks – Special Promo for Customer • Validate possible visitor segments of your project: – Customer group – Language / Country • Make a list of themes you need to modify
  • 20. Making an element dynamic on varnish cached page Ivan Chepurnyi Meet Magento
  • 21. Code Sample Dynamic Block Layout File Ivan Chepurnyi Meet Magento <default_varnish> <reference name=”parentBlock”> <action method="unsetChild”> <block>dynamicBlockAlias</block> </action> <block as="dynamicBlockAlias” name=”dynamicBlockPlaceholder" template="ecomdev/varnish/wrapper/placeholder.phtml" type="core/template"> <action method="append"> <block>dynamicBlock</block> </action> <action method="setBlockName"> <block>dynamicBlock</block> </action> <action method="setCookie"> <cookie>dynamicCookie</cookie> </action> <action method="setWrapperId"> <htmlId>elementId</htmlId> </action> </block> </reference> </default_varnish> • parentBlock – name of the parent block • dynamicBlockAlias – alias of the dynamic block in parent block • dynamicBlockPlaceholder – unique name of your placeholder • dynamicBlock – name of the original dynamic block • dynamicCookie – name of the cookie for dynamic blocks • elementId – HTML ID for the placeholder div, that is going to be used as container
  • 22. Available Dynamic Cookies • quote_checksum – checksum of the current quote contents • customer_checksum – checksum based on the customer Ivan Chepurnyi Meet Magento identification, if logged in customer gets changed • is_logged_in – boolean flag of the logged in state of the visitor • segment_checksum – checksum of the current customer segment: – customer group id – store view
  • 23. How does it work? • Your original block gets wrapped by a custom div with some Ivan Chepurnyi Meet Magento JS code • When customer visits a page, JS checks for a cookie value and compares it with latest saved one in local/session storage • If it is different it requests /varnish/ajax/reload for retrieving dynamic content and saves it to local/session storage • If it is the same, it just updates block from local/session storage
  • 24. Adding custom TTL for a page Ivan Chepurnyi Meet Magento
  • 25. Code Sample Custom TTL Code Block Ivan Chepurnyi Meet Magento // Somewhere in your code you just simply call it // Varnish module will take the lowest value in array of TTL that were added Mage::helper(‘ecomdev_varnish’) ->addTtl($timeInSeconds);
  • 26. Making custom page cacheable Ivan Chepurnyi Meet Magento
  • 27. Code Sample Custom Page config.xml Ivan Chepurnyi Meet Magento <config> <varnish> <pages> <layout_handle_name translate="label" module=”your_module"> <label>Your Page Name</label> </layout_handle_name> </pages> </varnish> <default> <varnish> <pages> <layout_handle_name_time>360</layout_handle_name_ time> </pages> </varnish> </default> </config> • layout_handle_name – full name of the layout handle that should be cacheable • your_module – name of the module used for translation of label • Your Page Name – name of your pages, that will be shown in System Configuration - Varnish Cache • 360 – default cache lifetime of the page
  • 28. Varnish vs Full Page Cache Ivan Chepurnyi Meet Magento Varnish • Avg. time to first byte 30ms • Dedicated software • Tools to monitor cache usage • Scalable • Requires adaptation of themes for dynamic parts • Possibility to flush group of pages Magento FPC implementation • Avg. time to first byte 300-400ms • Magento code level • N/A • Only as another backend node • Most of the time it is not required • N/A
  • 29. But why do I need to use EcomDev_Varnish? Ivan Chepurnyi Meet Magento
  • 30. EcomDev_Varnish vs the others • Cache lifetime specified on Magento code level, without Ivan Chepurnyi Meet Magento changing VCL • By using collectors & processors, it can be easily extended to support additional entities • Client-side cacheable dynamic parts • Cache enabled for all kind of visitors • Saves your money on hardware
  • 31. The choice is up to you! Ivan Chepurnyi Meet Magento
  • 32. We are hiring!!! Join Us join@interactiv4.com Ivan Chepurnyi Meet Magento
  • 33. Thank You! Ivan Chepurnyi Meet Magento
  • 34. Questions? Email: ivan@ecomdev.org Website: http://www.ecomdev.org LinkedIn: http://nl.linkedin.com/in/ivanchepurnyi Twitter: https://twitter.com/IvanChepurnyi