Вкладка "Производительность"

config.cache

Динамическое кэширование

  • Используемый кэширующий механизм - какой кэширующий механизм подключен;
  • Статус кэширования - статус работы кэша;
  • Размер кэша - сколько занимает кэш (вычисляется только способов кэширования "Файловая система" и "База данных";
  • Ограничение на размер кэша - максимально значение размера кэша. При его достижении кэш сбрасывается. Задает в config.ini, в секции [cache] - cache-size-limit;
  • Список доступных кэширующих механизмов - какие механизмы можно подключить на текущем хостинге;

 

Начиная с версии 2.7, варианты кэширования расширены и теперь в качестве кэширующего бекэнда можно использовать один из следующих вариантов:

база данных (с версии 2.11);

Redis (с версии 2.14); 

memcache;

memcached (с версии 2.17);

файловая система (с версии 2.8).

Внимание: При необходимости подключить механизм memcached с отличными от стандартных (хост = "localhost", порт = "11211") параметрами подключения (в том числе подключить через unix-сокет), необходимо задать эти параметры в config.ini, секция [caсhe]. 

Если хотя бы один из перечисленных вариантов доступен на сервере, то он автоматически выбирается в качестве текущего бекэнда  (приоритет выбора соответствует порядку перечисления). Использование такого кэширования наиболее предпочтительно, так как значительно повышает производительность и не вызывает никаких функциональных изменений.

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

Файловый кэш хранится в директории ~/sys-temp/runtime-caсhe/fs-cache/, бд кэш хранится в таблице `cms3_data_cache`.

Если хотя бы один из вариантов динамического кэширования доступен, вы можете установить кэширование протоколов для XSLT-шаблонизатора и кэширование макросов для PHP-шаблонизатора. Для этого в списке доступных кэширующих механизмов выберите нужный и нажмите Сохранить. Появится параметр "Кэширование макросов и протоколов для XSLT и PHP шаблонизаторов". После выставления галочки Включено и нажатия на Сохранить появится параметр Время жизни кэша (в секундах).

config.caсhe.protocol_caсhe

Методы, протоколы и типы сущностей (lang, domain, etc.) которые не нужно кэшировать, вы можете указать в config.ini, секция [caсhe].

Статическое кэширование

 

Для ускорения работы сайта при высоких нагрузках мы разработали систему статического кэширования. Ее суть вкратце такова: при первом обращении пользователя к странице её содержимое сохраняется в файле, после чего при следующем обращении к этой странице происходит запрос не к базе данных, а к этому файлу. Это, как правило, значительно уменьшает время отображения страниц.

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

Статический кеш используется только для неавторизованных пользователей.

Статический кэш можно периодически очищать, настроив выполнение файла cron.php на сервере.

По умолчанию статический кэш хранится в директории /sys-temp/static-cache/, схема формирования путей до файлов следующая:

При запросе страницы:

http://domain.ru/shop/dvd_tehnika/dvd_rekordery

ее кеш будет лежать в директории:

/sys-temp/static-cache/domain.ru/shop/dvd_tehnika/dvd_rekordery/index.html.

Система позволяет создавать отдельный статический кеш для мобильных устройств. Эту настройку можно включить в файле config.ini. Такой кэш будет храниться в директории /sys-temp/static-cache/mobile/.

Внимание: Внесение изменений в шаблоны дизайна не влияет на обновления кэша, для того, чтобы изменения проявились, необходимо отключить кэширование и очистить содержимое папки ~/sys-temp/static-cache/.

Внимание: Не рекомендуется включать в процессе разработки!

Тестирование

Оценить производительность системы — функция, позволяющая протестировать производительность UMI.CMS на данном хостинге. Показывает количество страниц, сгенерированных за секунду. Соответственно, чем это количество больше, тем выше производительность.

Показатели load average — выводит значение метрики load average, которое говорит о среднем числе процессов в очереди на исполнение в определенный временной интервал - 1 минута, 5 минут и 15 минут. Высокие значения показателей «load average» (более единицы) говорят о том, что система не справляется с нагрузкой.

Подробнее о работе с производительностью статьи вы можете прочитать в специальной статье.