How do we build easy and auto scalable infrastructure for a Magento sites on the AWS
We offer use one server installation to up to about fifty simultaneous user’s connections. Certainly, this value is not mandatory, server loads is the key indicator. The 50 connections are the value when any cache not able to significantly improve performance on the recommended instance. Also, without a cache solution this value is not realistic. This instance can server about only 10-20 simultaneous user’s connections without a cache. I am sure you know Magento is critical to server resources and you know a big number of SKU and fancy design can slow down a server.
So, we recommend to start from m4.large server (2 vCPU, 8 gb RAM). These allow us to install on the server:
- Nginx with PageSpeed module;
- Varnish with Turpentine plug-in;
- Redis with Cm_RedisSession plug-in;
- MySQL MariaDB.
NGINX is the world’s most popular open source web server for high traffic sites, powering over 100 million properties.
Varnish Cache is a web application accelerator also known as a caching HTTP reverse proxy. Varnish is really, really fast. It typically speeds up delivery by a factor of 300 – 1000x, depending on your architecture. Varnish implemented a subset of the ESI Language 1.0 defined by W3C, this allows to exclude a block on a page from cache. It is important to display actual information.
Turpentine is open source a full page cache extension for Magento that works with Varnish. It allows to use hole-punching via Varnish ESI and/or AJAX, even for logged in visitors. Hole-punching is thing allowed you exclude an information block on a page. For example, a page will delivery from a cache, except the shopping bag block where should be actual information about number items, their name ant etc.
Redis is a data structure server. It is open-source, networked, in-memory, and advanced key-value cache store with optional durability. We use it for store user’s sessions and cache back-end (administrative part of Magento) in one server configuration.
Cm_RedisSession plug-in is a Redis-based session handler and caching for Magento with optimistic locking.
We had offered to use HHVM instead PHP-FPM until PHP 5.6 was released. We spent a lot of hours in performance testing HHVM vs PHP-FPM 5.6. We offer to use only PHP-FPM now. Reason it is fully compatible with Ioncube and have comparable performance to HHVM, better community support and etc…
This installation cost is USD and monthly support is USD. Do not hesitate to contact us.