Кэширование — это один из способов ускорить загрузку сайта и снизить нагрузку на сервер. Суть кэширования в том, что страница не создаётся заново для каждого пользователя, а после первого создания некоторое время хранится в оперативной памяти и при повторном запросе отправляется пользователю. Кэшироваться могут как файлы, так и запросы к базе данных.
На VDS хостинге можно установить любое программное обеспечение и выполнить любые настройки. На виртуальном хостинге мы можем воспользоваться только тем ПО и расширениями для веб-сервера, которые предусмотрел хостер. К счастью, в настоящее время продвинутые виртуальные хостинги предоставляют изобилие возможностей. Одной из них является расширение для веб-сервера Memcached, которое как раз и отвечает за кэширование данных.
Memcached — программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе хеш-таблицы.
WP-FFPC — это плагин для WordPress, который умеет работать с Memcached для кэширования сайтов.
Как включить Memcached на виртуальном хостинге
Пример виртуального хостинга с Memcached: Хостлэнд (на нём размещён сайт ZaLinux.ru).
Поскольку данные хранятся в оперативной памяти, то требуется выделение дополнительных ресурсов сервера, поэтому услуга платная, но совсем недорогая.
Для подключения доступно несколько тарифных планов:
- 128Mb - 30 руб/мес
- 256Mb - 60 руб/мес
- 512Mb - 90 руб/мес
- 1024Mb - 120 руб/мес
То есть в самом максимальном варианте на гигабайт оперативной памяти нужно будет доплатить всего 120 рублей в месяц.
Чтобы убедиться, что Ваш персональный memcached подключен, необходимо зайти в панель управления и перейти в раздел «Дополнительные услуги» (по умолчанию memcached отключен).
Настройка WP-FFPC в WordPress
Для настройки Memcached на WordPress зайдите в административную панель установленной версии WordPress (по умолчанию: //site.ru/wp-admin),
выберите пункт меню «Плагины → Добавить новый»
Проведите поиск по слову WP-FFPC, при появлении нужного нам плагина, нажмите Установить,
а затем Активировать
Для правильной работы приложения, Вам нужно перейти в Панель управления Хостлэнд (раздел «Файловый менеджер») и в корневой директории (по умолчанию /htdocs/www) найти файл wp-config.php. Откройте его в любом встроенном редакторе и добавьте строку в начало файла:
define ( 'WP_CACHE', true );
Данная строка включает кэширование. Если этого не сделать, то в настройках плагина появится предупреждение, что он не будет работать.
Для настройки, нажмите на слово «Settings».
В подразделе Cache type должен быть выбран PHP Memcached для пункта «Sеlect backend»
После этого сохраните настройки внизу страницы (Save Changes). Должно появиться сообщение о том, что плагин запущен и работает:
Для более точной настройки плагина существуют различные поля ввода, в которых можно прописать время хранения кэша для различных элементов вашего сайта, скорректировать ключ для кэширования:
Рекомендуется увеличить значения для следующих пунктов:
- Expiration time for posts — время хранения кэша постов
- Expiration time for taxonomy — время хранения таксономии (рубрики, архивы, тэги и т.п.)
- Expiration time for home — время хранения домашней страницы.
По умолчанию установлено 300 секунд (5 минут). Это значение можно увеличить во много раз.
Cache invalidation method (метод аннулирования кэша)
- flush cache — очищает все в хранилище, включая значения, установленные другими приложениями
- only modified post — очистить только запись изменённых сообщений, все остальное остаётся в кеше
- modified post and all related taxonomies — аннулирует пост и таксономию, связанную с постом
Рекомендуется выбрать only modified post или modified post and all related taxonomies.
Invalidate on comment actions (очистка кэша при действиях с комментариями). Активация аннулирования кэша при публикации, редактировании и удалении комментариев. Рекомендуется включить.
На вкладке «Cache exceptions» можно настроить различные исключения для кеширования, такие как:
Enable cache for logged in users (Cache pages even if user is logged in) — Включить кэш для зарегистрированных пользователей (кешировать страницы, даже если пользователь вошёл в систему) — рекомендуется отключить.
Снимите галочку с Dynamic requests, поскольку при её включении будут исключены все URL содержащие "?".
В поле «Don't cache following URL paths» можно записать адреса или их часть, которые должны быть исключены из хеширования. Кеширование для страниц, начинающихся с /wp-, по умолчанию выключено. Обратите внимание, что нельзя просто удалить строку «^/wp-» поскольку данная текстовая область не может быть пустой, нужно вписать любой несуществующий адрес, если вы хотите кэшировать все страницы сайта.
Обязательно исключите из кэширования:
^/wp-admin
Обратите внимание, что хотя нам предоставлено текстовая область, вводить нужно ОДНО регулярное выражение. Если нужно указать несколько путей, то разделите их символом | (в регулярных выражениях означает ИЛИ).
Результаты тестирования загрузки сайта с помощью утилиты siege:
До:
После:
Вывод: после подключения memcached прирост производительности составил более 50%
Обратите внимание, что на расширение PHP Memcached может быть доступно не для всех версий PHP. Например, у меня в аккаунте это расширение доступно на PHP версии 7.2, то есть для сайта нужно выбрать эту версию PHP, чтобы использовать Memcached и WP-FFPC.
Ссылка на заказ хостинга, как и положено, присутствует тестовый период и бонусы при регистрации с промокодом b33e0e2f.
Связанные статьи:
- 10 лучших инструментов кэширования с открытым исходным кодом для Linux (78.4%)
- Как установить WordPress на Ubuntu/Linux Mint (63.5%)
- Как посмотреть и очистить очередь Cron в WordPress (63.5%)
- Что выбрать для кэширования: Varnish или NGINX? (58.1%)
- Установка и настройка Varnish: ч. 1: как установить Varnish в Debian и Ubuntu (58.1%)
- Как переименовать таблицу в phpMyAdmin и MySQL (RANDOM - 50%)