(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 yetWith 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 yetWith 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.
Top comments (0)