Сегодня прекрасный день для того, чтобы поделиться с вами тем, что происходит за кулисами Юмисофта. Кому-то мы напомним о том, что у нас давно есть, а для кого-то наш рассказ будет новостью. Тем не менее, начнём:
Выдерживайте highload (высокую посещаемость)
В первую очередь обязательно нужно упомянуть наши решения по быстродействию и скорости работы сайтов. Разработчики UMI.CMS вложили максимум сил и знаний для того, чтобы ваши сайты на этой системе работали максимально быстро даже под большой нагрузкой:
Кэширование с помощью акселераторов
Эта функциональность уже была в UMI.CMS более ранних версий. На большинстве хостингов установлены механизмы, ускоряющие работу php-скриптов и доступ к объектам базы данных. UMI.CMS штатно поддерживает APC, eAccelerator, xCache, memcache, а так же может использовать файловую систему. С помощью этих механизмов система динамически кэширует готовые объекты в оперативной памяти, не затрачивая время на повторное извлечение их из базы данных. Доступные механизмы определяются автоматически.
Кэширование запросов к базе данных
Каждый разработчик сайта на UMI.CMS сможет использовать кэширование результатов отдельных запросов к системе (udata, uobject и аналогичные) на заданное время. В версиях старше 2.8.4 будет доступно включение глобального кэширования всех таких запросов – в этом случае разработчик наоборот может указать модули и методы, которые ему кэшировать не нужно.
Статическое кэширование средствами nginx
Веб-сервер nginx де-факто является стандартным решением для высоконагруженных сайтов во всём мире. Система UMI.CMS поддерживает его с версии 2.8.3, помещая закэшированные страницы сайта в директорию, откуда они отдаются напрямую nginx-ом. Это позволяет значительно снизить нагрузку на "бэкэнд" (англ. backend, нижестоящий веб-сервер в связке nginx+apache) и обеспечить стабильную работу сервера.
Обратите внимание, что этот статический кэш обновляется сразу после редактирования объекта (cache dependency). Если вы поменяли, например, описание товара в каталоге - все связанные с ним кэши будут обновлены сразу же.
Кэширование клиентской стороны
На скорость работы сайта также влияет и объём передаваемых файлов JavaScript, сопровождающих работу любого сайта. Чтобы уменьшить этот объём, в UMI.CMS применяется сжатие (compressing) всех основных JS-файлов – это позволяет в несколько раз увеличить скорость передачи данных и открытия страниц. Начиная с версии 2.8.3 нами был применён новый компрессор, который даёт значительно лучшие результаты.
Аналитика и цифры
С версии 2.8.3 в разделе администрирования UMI.CMS "Конфигурация – Производительность" есть функция измерения производительности на конкретном хостинге. Используйте этот показатель при выборе хостинга.
Пробуйте новое обновление
С версии 2.8.3 полностью изменился механизм установки и обновления системы. Не скрываю, что для многих наших пользователей и партнёров обновления UMI.CMS раньше не вызывали никаких положительных эмоций. Ведь нам бесполезно было бы выпускать новые фичи, если обновление до них нельзя сделать лёгким движением руки. Эта мысль глубоко запала нам в душу, и осенью 2010 года мы решительно и бесповоротно начали готовить новый обновлятор.
Прошло время, и в марте 2011 он был выпущен в мир. Механизмы установки и обновления системы были полностью переписаны. Самое главное, что изменилось - это принцип обновления: старый обновлятор убивал практически всё, что было ему незнакомо, и "тупо накатывал" новые данные и файлы поверх старой системы. Новый обновлятор работает принципиально иначе: он основан на импорте данных, который аккуратно и бережно создаёт новые структуры и изменяет существующие. Разве кто-то боится импорта?
Не бойтесь критичных ситуаций
Тем не менее, мы предусмотрели и описали более 100 критичных ситуаций, которые могут возникнуть при обновлении, а на самый крайний случай - предусмотрели бэкап данных перед ним (разумеется, восстановление не потребует обращения в техподдержку хостера - всё делается штатными средствами Юми). Если пользователь столкнётся с одной из таких ситуаций, ему достаточно будет нажать на кнопку "Повторить", и процесс аккуратно продолжится с места остановки. Обновлятору не страшны ни "ворнинги", ни "фаталы", ни истекшие таймауты, ни ограниченные ресурсы хостера: он пробьётся через все преграды и дотянет систему до last revision.
Выбирайте хостинг
Новый установщик (инсталлятор) тщательно проверяет хостинг на соответствие всем системным требованиям. Теперь можно быть уверенным, что хостинг, оплаченный клиентом на год вперёд, случайно не окажется несовместимым. Ну а если вы всё равно хотите поставить систему в нарушение требований - теперь это в ваших руках: список проверок хостинга стандартизирован, и их можно отключать по одной.
Благодаря тому, что теперь установка и обновление системы - это тот же импорт данных, перед нами (и вами) открылись богатые возможности для поставки клиентам докупленных модулей и готовых решений (демосайтов). Раньше нужно было скачать модуль, залить его на FTP, зайти в админку, запустить установку модуля и так далее. Теперь клиент просто докупает модуль, и тот самостоятельно устанавливается на сайт.
Обновляйте старые версии
Давно выпущено обновление со старых версий (2.7.4 и моложе). Переход со старого механизма обновления на новый происходит в версии 2.8.2.1 - в этот момент вам просто потребуется выйти из системы и зайти заново, чтобы вступил в силу уже новый "обновлятор". С ним вы и продолжите дальнейшее развитие своего сайта.
Нет никаких проблем и в переходе со старых редакций, которые более не поставляются (Free, Freelance и аналогичные) - теперь при первом же обновлении ваш лицензионный ключ обновится автоматически, и редакция будет изменена на современную. Кстати, в Юмисофте периодически появляются новые редакции - например мой коллега в соседнем посте аннонсировал UMI.CMS EDU.
Настраивайте автоматическую установку
Теперь не нужно скачивать большие дистрибутивы, и следить за тем чтобы всегда скачать свежую версию. Новый инсталлятор - всего один файл размером 14 килобайт, который легко переслать по почте или даже по ICQ. Он всегда установит вам самую последнюю версию системы.
Ну а если вы хостер, или вам просто привычно работать в линуксе - запускайте installer.php из командной строки. Принципы его работы идентичны "клиентскому" инсталлятору: вы сможете указать в ini-файле нужный ключ, демосайт, реквизиты доступа к БД, а так же снизить пределы потребления ресурсов сервера.
Попробуйте прямо сейчас!
Скачивайте триальную версию 2.8.4 и знакомьтесь с самыми новыми возможностями UMI.CMS:
Инсталлятор (для установки через браузер)
Триальный лицензионный ключ
Комментирование доступно только авторизованным пользователям.
Пожалуйста, зарегистрируйтесь или войдите на сайт.
Единственное что меня озадачило - зачем изменили id супервайзера... Впрочем, это не проблема, это просто реплика.
В версиях выше 2.8.4 будет выпущено очередное ускорение нашего Selector-а. Сейчас тестируем на наших highload-площадках - на сложных выборках получаем ускорение в 10-30 раз при полной обратной совместимости.
Айдишники мы меняем не только здесь. Мы это делаем потому что переходим с mysql autoincrement id на уникальные GUID-ы. Это необходимо, например, когда разработчику нужно совмещать контент внесённый на локальной копии - с контентом который вносит владелец сайта на боевом сервере. При обычных id-шниках данные постоянно пересекались бы. Ну и в целом "гуиды" - это более правильный и надёжный способ идентифицировать объекты, принятый в мировой практике.
1. Любой вид кэширования в версии 2.8.3 вызывает ошибку вывода новостной ленты на хостинге UMIHOST. Несколько раз сообщал в СЗ, но дальше ответа "На данный момент по проблеме с APC-кешированием занесено обращение в отдел тестирования №10783 для диагностики ее причин. Сообщим Вам, когда появятся какие-либо результаты." дело не пошло.
2. Сейчас попробовал обновить студийный сайт (с версии 2.8.1 до текущей), дальше 2.8.2.1 обновляться не хочет.
3. Установщик иногда пропускает по каким-то причинам некоторые директории. По опыту студии: 1 раз не был установлен модуль комментариев, 1 раз не была установлена директория шаблонов блогов в tpl. Версия 2.8.3
4. Из пункта 3 вытекает, что лучше, иметь выбор между инсталлером и полноценным дистрибутивом.
Надеюсь, что перечисленные изменения будут исправлены в ближайших обновлениях.
P.S. к стати, тут поле ввода неправильно масштабируется, в ff4.
По остальным пунктам нам нужны факты, чтобы диагностировать проблемы. Если они вообще остались на данный момент, так как инсталлер регулярно обновляется. Прошу Вас написать отдельными тикетами в СЗ все логины-пароли-явки, как обычно. Будем решать.
По п.3, к сожалению, не могу предоставить инсталлоги, т.к. работы у заказчика уже произведены и он сменил реквизиты фтп. Надеюсь, что в 2.8.4 такой проблемы не будет
Сервер обновлений отклонил запрос: Указан некорректный лицензионный ключ. Обратитесь в Службу Заботы о клиентах.
Продолжение обновления невозможно.
Как мне безболезненно можно обновить cms?
технорай...