Кеш базы данных

Для снижения нагрузки на основную СУБД Drupal применяется кеширование. Загруженные данные сохраняются в кеш для быстрого доступа к ним при последующих запросах.

ELiS также активно использует системный кеш Drupal для хранения собранных объектов книг. Для повышения производительности ELiS следует опитмально настроить кеширование в Drupal.

В Drupal кеш по-умолчанию хранится в основной базе данных. Для повышения производительности кеш можно перенести в память локального сервера (APC Cache), в память сетевого сервера (Redis, Memcache) или использовать для хранения кеша базу данных (MongoDB).

APC Cache данные хранит локально, т.е. не пригоден при использовании фермы серверов приложений, но является эффективным на одиночном сервере при достаточно большом объеме оперативной памяти. При перезагрузке сервера, данный кеш сбрасывается, в связи с чем его использование не рекомендуется в инсталляциях ELiS с большим числом документов.

Memcache не совместим с ELiS т.к. имеет ограничение на максимальный размер закешированных объектов в 1 МБ, который иногда может быть превышен.

Redis хранит данные в оперативной памяти, но периодически сохраняет снимки памяти диск, что позволяет обеспечить высокую производительность и сохранность кеша после перезагрузки.

MongoDB имеет модуль кеширования. Не рекомендуется использовать т.к. Redis опережает MongoDB по производительности.

Так как при каждом обращении к странице книги производится извлечение объекта книги из кеша, скорость работы кеша оказывает большое влияние на скорость работы сайта и книжных плееров.

Рекомендации по выбору системы кеширования

В конфигурациях с малым объемом оперативной памяти и в отсутствии возможности вынести кеш на отдельный сервер, рекомендуется оставить кеш в основной СУБД Drupal.

В случае достаточно большого количества оперативной памяти, рекомендуется применять Redis. При большой нагрузке Redis следует вынести на отдельный сервер с числом ядер процессора от двух до четырех и объемом оперативной памяти от 4 ГБ.

Настройка кеширования в Redis

Установите сервер Redis и настройте его автозапуск при загрузке сервера.

Установите модуль Redis и настройте его согласно инструкции. При этом вам потребуется добавить в php расширение для работы с Redis.