Разгоняем CMS: дешево и сердито.

15.09.2008 20:15

Автор: Николай Мациевский
Источник: webo.in

Данный обзор делался исключительно для презентации на конференции iCamp'2008. 
Автор проанализировал наиболее распространенных в Рунете CMS и привел информацию по ускорению их загрузки.

S.Builder

Демо-версия, практически, никакой информации не дала, поэтому далее информация (цитаты) лично от директора.

  1. Gzip для HTML

    В версии 4.0 этой функцией можно управлять из настроек системы. Просто поставить галочку в поле «Использовать GZip-сжатие страниц» и если браузер человека поддерживает такую функцию, то и CMS и страницы сайта будут использовать GZip. Если на одной CMS собрано несколько сайтов, настройка отдельна для каждого сайта.

  2. CSS/JS сжатие/минимизация

    Не применяется. Только руками верстальщика.

    В нашей CMS человек сам вставляет HTML, CSS и JS в том виде, в котором они были сверстаны.

  3. Кеширование

    Насколько удалось установить, наиболее корректно отдается Last-Modified для HTML. Все остальное покрыто мраком.

     
  4. CSS Sprites / параллельные хосты

    Нет и не планируется.

UMI.CMS

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

  1. Включаем кеширование

    Оно включается в настройках Модули -> Конфигурация -> Глобальные -> Разрешить браузерам кешировать страницы. В серверные заголовки при этом добавляется Last-Modified. Цитата из документации:

    Если эта опция включена, то браузер пользователя будет вначале проверять, изменилась ли страница, и если страница не менялась, то загрузит ее из локального кэша. При этом браузеру будет посылаться HTTP-заголовок Last-Modified, который содержит дату последнего изменения страницы. Эта опция поможет значительно снизить нагрузку на трафик и позволит быстрее открывать страницы.

  2. Подключаем зеркала для ускорения выдачи статики

    Модули -> Конфигурация -> Домены, выбираем наш домен и жмем Зеркала. На открывшейся странице можно добавить еще несколько (2–4) хоста для выдачи статики. Например, у нас был домен

    endocardial.demo-pro.umi-cms.ru

    мы добавляем еще 4 хоста

    01	i1.endocardial.demo-pro.umi-cms.ru
    02 ...
    03 i4.endocardial.demo-pro.umi-cms.ru

    и теперь все картинки можно отдавать еще и таким образом

    01	http://i1.endocardial.demo-pro.umi-cms.ru/images/cms/thumbs/picture2_50_50.jpg

    Выяснить через техническую поддержку, можно ли это как-то автоматически прикрутить к существующим модулям, не удалось. Наверное, никак.

  3. Сжатие и минимизация CSS/JS

    Цитирую службу поддержки:

    Возможно реализовать, но это будут уже custom-ные решения для UMI.CMS. Вы можете сделать их самостоятельно или с помощью сторонних разработчиков.

Drupal

Для тестирования бралась демо-версия с demo.bloggyland.com. Очень много советов по оптимизации приведено здесь, где автор разбирает все правила из YSlow применительно к Drupal. Я лишь попытаюсь дополнить своими собственными.

  1. Склейка CSS-файлов

    Еще во время своего первого знакомства с Drupal порадовался наличию возможности объединять десятки CSS-файлов для различных модулей (и затем кешировать результат). Включается это через Administer -> Site Configuration -> Performace. Эта настройка также автоматически минимизирует файл (регулярными выражениями).

  2. Склейка JS-файлов

    Не Доступна в базовой поставке (Drupal 6, спасибо за комментарий посмотреть профиль adek), и нам поможет модуль Javascript Aggregator. Делает, в принципе, то же самое, что и предыдущий вариант, но уже для JavaScript-файлов. К тому же есть настройка для минимизации их размера (на основе обычных регулярных выражений, это дает от 80% возможного прироста производительности).

  3. Gzip

    Включается автоматически (не нашел, где включается в настройках, но все Drupal-сайты уже отдавали HTML в сжатом виде). Для CSS/JS-файлов добавляется (по всей видимости) двумя вышеупомянутыми решениями. Навскидку никаких проблем замечено не было.

  4. Кеширование

    Для статики и HTML-файлов настраивается в Administer -> Settings -> Cache Settings.

  5. CSS Sprites, CDN, etc

    К сожалению, все остальные плюшки уже приходится создавать вручную (либо соответствующие модули находятся в стадии разработки). Однако, уже вышеперечисленного списка вполне хватит для создания производительного сайта на Drupal.

Joomla

Некогда весьма популярная CMS сейчас как-то меньше мелькает в обзорах. Однако, сайтов на ней порядочно, и сообщество просто громадно. Настройки проверялись на имеющихся сайтах.

  1. Gzip

    Для HTML-файлов добавляется в Общие настройки -> Сервер -> GZIP-сжатие страниц. Gzip для CSS/JS не предусмотрен.

  2. Склейка, минимизация и кеширование CSS/JS-файлов

    В базовой конфигурации нет. Удалось найти следующее расширение (Cache accelerate component), которое дополнительно позволяет дополнительно кешировать (и архивировать) CSS/JS-файлы. Однако, не все ладно с серверными заголовками. Использовать стоит с осторожностью: возможны проблемы с совместимостью.

    Также попутно был обнаружен PHP Speedy plugin для Joomla, который позволяет делать то же самое, но с серверными заголовками у него все в порядке. В общем, рекомендуется к использованию.

  3. Etc.

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

В качестве заключения

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



Комментарии

    1
    Здорово http://www.cmslist.ru. Если конечно кого то интерисует мое мнение то не мешало бы фотографий или иллюстраций поболее. Чего вы стесняетесь ребята, вас читают!
    Незарегистрированный пользователь
    Pavlovish (Гость)
    05.05.2009 в 20:33


    2
    Много изучал разных форумов, и так и не нашёл подходящего ответа, подскажите где скачать ?
    Незарегистрированный пользователь
    TuIOpo (Гость)
    27.05.2009 в 20:58





      Добавить комментарий

      Чтобы написать Ваш комментарий необходимо зарегистрироваться или авторизоваться на сайте

      28.07.10 | UMI.CMS
      TPL шаблонизатор: просмотр локальной области видимости в отдельных блоках.

      Несмотря на видимость затишья, работы никто не замораживал. Они идут полным ходом, и мы рады представлять Вам новые версии UMI.CMS. О выходе очередного релиза Вы уже могли узнать на нашем сайте, а ...

      Перейти к новости

      23.06.10 | Habrahabr
      CMS / Эволюция методологии рейтинга CMS

      Недавно мы опубликовали рейтинг CMS в рамках проекта «Рейтинг Рунета». Стартовав одним из первых, он был завершен последним. Этот пост о том, как эволюционировала методология рейтинга.
      ...

      Перейти к новости

      21.06.10 | CMS Magazine
      Названы лучшие CMS Рунета

      21.06.2010 годаПроект "Рейтинг Рунета" опубликовал рейтинг CMS, на которых работают популярные русскоязычные сайты. Названы лучшие "движки сайтов" в каждой категории: коммерческие "коробочные", ...

      Перейти к новости

      30.04.10 | NetCat
      NetCat на СПБ РИФ.

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

      Перейти к новости



      Яндекс цитирования
      Разработка сайта:Разработка сайтов: ЮМИ Студияumistudio.
      Интернет-агентство свежих идей.
      Сайт работает на UMI.CMS
      По всем вопросам обращайтесь на admin@cmslist.ru
      © 2003—2010 CMS List. Перепечатка материалов
      возможна только с письменного разрешения редакции
      Контакты · Добавить CMS
      Реклама · Условия перепечатки