TL; DR - В MageStack мы используем Varnish, Redis (кеш), Redis (сеансы) и Eaccelerator / Zend OPCache (в зависимости от версии PHP)
Вы уже многое поняли.
Бэкэнд кеша, хранилище сеансов, кэш опкодов, кеширование полной страницы и кеш обратного прокси полностью различны.
Вы можете использовать разные технологии для всех, и вы можете использовать их ВСЕ одновременно (включая Varnish и FPC)
Cache Backends
- Файлы (ядро) по умолчанию
- Memcache (ядро)
- APC (основной)
- Redis (<1.9 модуль любезно предоставлен Colin Mollenhour)
- MongoDB (модуль любезно предоставлен Colin Mollenhour)
- Рубик (модуль любезно предоставлен Дэниелом Слоофом)
Вы можете использовать только один кеш-сервер.
Вопреки распространенному мнению, использование кэша на основе памяти не приведет к повышению производительности. Но это преодолеет некоторые фатальные недостатки в кэшировании файлов по умолчанию в Magento.
На момент написания этого сообщения Redis - моя рекомендация.
Сессионные магазины
- Файлы (ядро) по умолчанию
- Memcache (ядро)
- Redis (<1.9 модуль любезно предоставлен Colin Mollenhour)
- MongoDB (модуль любезно предоставлен Colin Mollenhour)
Вы можете использовать только одно хранилище сеансов.
Вопреки распространенному мнению, использование хранилища сессий на основе памяти не улучшит производительность.
На момент написания этого сообщения Redis - моя рекомендация.
Кэш OpCode
- APC
- XCache
- Eaccelerator (PHP <5.4)
- Zend OPCache (PHP> 5.4)
На самом деле вы можете установить несколько кэшей кода операции, но это не рекомендуется, и я не ожидаю увидеть никаких преимуществ.
Мои рекомендации в скобках выше.
Для этого не требуется устанавливать модуль.
Обратный прокси-кэш
- лакировка
- Nginx
- апаш
- ... и многое другое
Вы можете использовать несколько обратных прокси-серверов, и хотя это сложно и склонно к удлинению кэша, оно может иметь свои преимущества (т. Е. Предотвращать штамповку во время очистки кэша).
Используйте один, когда это необходимо (т. Е. Не для ускорения медленного сайта, а для сокращения использования ресурсов на быстром сайте).
Чтобы использовать обратный прокси-сервер, ему нужно включить и серверную часть, и модуль Magento.
Причина для модуля состоит в том, чтобы помочь контролировать логику кэширования (т. Е. Сообщить кешу, что он должен и не должен кешировать), а также управлять содержимым кеша (т. Е. Запускать очистку кеша).
Я не рекомендую ничего, если у вас нет полного понимания того, что вы делаете. Плохо настроенные обратные прокси-серверы могут сломать информацию заголовка, могут вызвать потерю сеанса, совместное использование сеанса, устаревшее содержимое, применить дополнительные ограничения для времени / буферов загрузки, потреблять дополнительные ресурсы и т. Д.
Кэш полной страницы
- EE FPC
- ... много других (через модули)
Используйте один, когда это необходимо (т. Е. Не для ускорения медленного сайта, а для сокращения использования ресурсов на быстром сайте).
Вопреки распространенному мнению, вы можете (и должны) использовать FPC в сочетании с обратным прокси-кэшем. Они решают разные проблемы и имеют разные возможности.
FPC могут использовать больше интеллекта, потому что они имеют прямой доступ к сеансу пользователей и ядру Magento, тогда как обратный прокси-сервер не осведомлен о приложении (он довольно тупой в своей работе) - поэтому они дополняют друг друга, а не конкурируют друг с другом ,
То есть. Не думай о Лаке или FPC, думай о Лаке и FPC.