No results found.

Magento 2 Performance

Varnish caching, frontend optimisation, build tuning, and performance monitoring, with real-world benchmarks and production-tested techniques from a Cardiff-based Magento engineer.

An uncached Magento 2 page can take 500ms to several seconds to render. Varnish, Redis, Critical CSS and Magepack close most of that gap, until a single non-cacheable block in layout XML quietly wrecks the cache hit rate.

These guides come from debugging cache issues across dozens of stores, finding the blocks that break full page cache, and cutting static content deployment builds that took over 20 minutes.

Performance Articles

Blog posts on Varnish, caching, frontend optimisation, and build performance for Magento 2.

All performance posts

Verbose Magento 2 DB Schema Status

Ever found yourself wondering why a store required downtime to deploy? Or even the case where `setup:db:status` constantly reports `Declarative Schema is not up to date` despite you just update it?

· 2 min
  • magento2
  • devops
  • debugging
  • +1

Debouncing Magento 2 FPC Purge Requests

Delaying Magento 2 full page cache purges to a set schedule, to improve frontend performance and reduce system load during busy periods such as sales events like black friday.

· 1 min
  • magento2
  • adobe-commerce
  • devops
  • +3

Debugging Varnish Cache Performance in Magento 2

Quick reference guide to debugging Varnish usage within Magento 2, covering cache utilisation, hit & miss rate logging, identifying the source of purge requests

· 2 min
  • magento2
  • varnish
  • debugging
  • +1

How to install & configure PHP SPX in Warden for Magento 2

A simple installer script to allow you to setup and configure PHP SPX in a Warden environment for Magento 2

· 2 min
  • magento2
  • devops
  • performance
  • +3

Comparing Magento 2 DB Schema Changes

Generate a diff report for the difference between the Magento 2 DB Schema in code, and the schema currently deployed.

· 1 min
  • magento2
  • debugging

Finding Magento 2 Uncacheable Blocks

Quick and easily identify what XML blocks are breaking your full page caching, by injecting a small piece of code into any template.

· 1 min
  • magento2
  • debugging

Simple 2 line fix for Polyfill.io Malware in Magento 2

A quick and easy two line fix configuration fix for the Polyfill.io Magento 2 Malware

· 2 min
  • magento2
  • nginx
  • devsecops
  • +1

Magento 2 - Configuring Nginx Rate Limiting

A simple, no nonsense overview on how to configure rate limiting via Nginx for a Magento 2 website. Including IP and UserAgent whitelisting.

· 2 min
  • magento2
  • nginx
  • devops

Performance & Caching Docs

In-depth guides for Varnish, full page cache and build performance.

All Varnish docs

Performance Tools & Projects

Open-source tools for caching, performance testing, and optimisation.

All projects

Frequently Asked Questions

How do I improve Magento 2 page load speed?

Get full page cache working first: with Varnish serving cached pages, most requests never reach PHP. Then find the non-cacheable blocks that stop pages being cached, add Critical CSS so the page renders before the full stylesheet arrives, and bundle JavaScript with Magepack. Server tuning such as OPcache and slow query fixes helps the uncached pages that are left.

Why is Varnish important for Magento 2?

Varnish serves whole pages from memory, so a cached page skips PHP and MySQL entirely. An uncached Magento page takes 500ms to several seconds to render, and without Varnish every visitor pays that cost, which is what falls over under heavy traffic.

How do I find what's breaking Magento 2 full page cache?

Look for blocks with cacheable="false" in layout XML. A single one on a shared layout handle, such as default, makes every page using that handle uncacheable. Third-party extensions are the usual source, and the uncacheable blocks guide below lists them with a small template snippet.

What is the best caching strategy for Magento 2?

Varnish for full page cache, Redis for the default and session caches, and a CDN for static assets. Then measure it: log Varnish hits and misses, and find out what is purging the cache. Busy catalogues can purge so often that the hit rate never recovers, which is why I built a module to batch purge requests.

How do I improve Magento 2 Core Web Vitals?

Start with Varnish, because server response time feeds directly into Largest Contentful Paint. Inline Critical CSS and defer the rest of the stylesheet. Give images and banners explicit dimensions to stop layout shift. For Interaction to Next Paint, cut JavaScript: bundle with Magepack and audit third-party tags such as tag managers and chat widgets.

Is your Magento store running slow?

Performance tuning has been a core part of my Magento work for 9+ years, covering Varnish configuration, caching strategies, and frontend optimisation. Based in Cardiff, Wales, I work with UK agencies and merchants on improving store performance.