Скорость работы любого веб-сайта зависит от нескольких компонентов, каждый из которых требует оптимизации. Разработчики UMI.CMS вложили максимум сил и знаний для того, чтобы ваши сайты на этой платформе работали максимально быстро даже под высокой нагрузкой.
На большинстве хостингов установлены механизмы, ускоряющие работу php-скриптов и доступ к объектам базы данных. UMI.CMS штатно поддерживает APC, eAccelerator, xCache, memcache, а так же может использовать файловую систему. С помощью этих механизмов система динамически кэширует готовые объекты в оперативной памяти, не затрачивая время на повторное извлечение их из базы данных.
Каждый разработчик сайта на UMI.CMS может использовать кэширование результатов отдельных запросов к системе (udata, uobject и аналогичные) на заданное время. В версиях старше 2.8.4 доступно включение глобального кэширования всех таких запросов – в этом случае разработчик наоборот может указать модули и методы, которые ему кэшировать не нужно.
Один из важных инструментов кэширования в UMI.CMS — механизм, позволяющий генерировать (создавать) страницу для пользователя только один раз. После этого страница помещается в статический кэш, и всем последующим посетителям отдаётся из него. Таким образом, исключаются затраты ресурсов на повторную и многократную генерацию одного и того же контента.
Веб-сервер nginx де-факто является стандартным решением для высоконагруженных сайтов во всём мире. Система UMI.CMS поддерживает его с версии 2.8.3, помещая закэшированные страницы сайта в директорию, откуда они отдаются напрямую nginx-ом. Это позволяет значительно снизить нагрузку на “бэкэнд” (англ. backend) и обеспечить стабильную работу сервера.
В обоих случаях использования статического кэширования, при изменении контента (при редактировании сайта) кэш сразу же обновляется автоматически. Это выгодно отличает UMI.CMS от конкурентов, в продуктах которых кэш обновляется только по истечению заданного периода времени.
На скорость работы сайта также влияет и объём передаваемых файлов JavaScript, сопровождающих работу любого сайта. Чтобы уменьшить этот объём, в UMI.CMS применяется сжатие (compressing) всех основных JS-файлов — это позволяет в несколько раз увеличить скорость передачи данных и открытия страниц.
С версии 2.8.3 в разделе администрирования UMI.CMS «Конфигурация — Производительность» есть функция измерения производительности на конкретном хостинге. Вы можете использовать этот показатель при выборе хостинга.
На высоконагруженных сайтах используйте nginx и один из кэширующих механизмов (например APC). Верстайте сайты, используя минимум HTML-кода. Применяйте асинхронный JavaScript, позволяющий работать со страницей до её полной загрузки. Разумно используйте блочную вёрстку, подгружая независимые блоки при помощи AJAX-запросов.