General

  eZ Systems Website
  Technical documentation
  Editor documentation

This Documentation contains:
 
Technical documentation:



⚠ WARNING ! This documentation is deprecated !

Please go to the current Technical Documentation

Skip to end of metadata
Go to start of metadata

Clustering in eZ Platform refers to setting up your install with several web servers for handling more load and/or for failover.

Intro: Server setup overview

This diagram illustrates how clustering of eZ Platform is typically set up, the parts illustrate the different roles needed for a successful cluster setup. The number of web servers, Memcached servers, Solr servers, Varnish servers, Database servers, NFS servers, as well as whether some servers play several of these roles (typically running Memcached across the web server) is up to you and your performance needs.

The minimal requirements are the following (with what is currently supported in parentheses):

  • Shared HTTP cache (using Varnish)
  • Shared Persistence cache and Sessions (using Memcached)
  • Shared Database (using MySQL/MariaDB)
  • Shared Filesystem (using NFS, or experimentally also S3)

For further details on requirements, see Requirements doc.

While this is not a complete list, further recommendations include:

  • Using Solr for better search and better search performance
  • Using a CDN for improved performance and faster ping time worldwide
  • Using Active/Passive Database for failover
  • In general: Make sure to use later versions of PHP and MySQL/MariaDB within what is supported for your eZ Platform version to get more performance out of each server.

 

Steps to set up Cluster

To set up Cluster you'll need to:

  1. Set up DFS Cluster which moves binary files to NFS
  2. Configure Persistence Cache to use Memcached
  3. Set up Varnish, disable Symfony HTTP Cache and set up cache invalidation to purge Varnish cache
  4. Configure sessions to use a cluster safe sessions handling

It is also highly recommended to set up Solr Bundle to be able to get better search and query performance, be able to scale it and offload database.