DEV Community

Vuong
Vuong

Posted on

1

Turning caching performance on Magento 2.x

(I just move this old blog from Medium to dev.to)
Full page cache (FPC) with Varnish & others with Redis

The same with most popular article. This post just mentioned more about plan & server configuration as a specific case for a small project.

Problem

Magento is a big framework, it needs a lot of system resource to initialize instance, running, processing the requests, reading the cached files/media files (Catalog)/static resource files (JS, CSS, template images). The build-in cache of Magento is not good for handling many requests, however it better for a dev env because your computer will cooler than running the web without cache.
Our instance is running on EC2 with small plan.

Magento app/etc/env.php configuration:

MAGE_MODE: default|developer

Those reasons are why we must be considering to have another-faster-cache-engine. In case, we follow this one — Redis.
Use Redis for the Magento page and default cache | Magento 2 Developer Documentation

After installed Redis

It looks better than before. So, we revised session to Redis, faster than file, of course. The backend cache with Redis faster than as well.

The comparison:

Without FPC (build-in backend cache + session in files):
Home page: 2.6 requests/sec
Product list: not updated yet
Product detail: not updated yet
Search: not updated yet
Sample API: not updated yet

With build-in FPC (build-in backend cache + session in files):
Home page: 4.5 requests/sec
Product list: not updated yet
Product detail: not updated yet
Search: not updated yet
Sample API: not updated yet

With Redis for all FPC, backend cache, session:
Home page: 11.5 requests/sec
Product list: not updated yet
Product detail: not updated yet
Search: not updated yet
Sample API: not updated yet

Varnish

Very fast, at least x10 times of Redis FPC. Because the first request will touch your system, your DB, your engine then the Varnish making cache data for all HTML of rendered page. The second users just access to the cached-version of HTML website. Nothing be threats for your server anymore.

But, I’m still facing problem: 503 backend load failed, it’s investigating. Not done yet.

I already left this product. Just write here as my experience.

Read more

  1. Magento 2.3.1 has released with announcement that it has supported for Redis 5 and PHP 7.2.x
  2. Architecture: Magento on AWS

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay