S2 → Блог → 2011 → 05

S2 1.0 alpha 4

10 мая 2011 года, 23:54

Вышла новая версия S2 1.0 alpha 4.

Теперь S2 работает правильно, если не включена перезапись URL. Им можно пользоваться на непонятных серверах с криво настроенным Apache без включенного mod_rewrite. Наличие перезаписи URL автоматически проверяется при установке движка.

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

В расширении s2_blog на главную страницу блога добавлены ссылки «туда» и «сюда». Они позволяют просматривать ранние посты и будут полезны случайным посетителям, не желающим разбираться с навигацией на сайте.

В расширении s2_latex включены svg-картинки в Firefox 4.0.

В расширении s2_wysiwyg визуальный редактор TinyMCE обновлен до версии 3.4.2.

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

Еще одно исправление связано с сочетанием клавиш Ctrl + S (сохранение страницы), которое в предыдущей версии движка перестало работать в Опере 11.10.

Ключевые слова: релизы | Комментарии (2)

Быстродействие S2

18 мая 2011 года, 22:41

Рассмотрим вопрос о быстродействии S2. Если говорить кратко, S2 настолько быстр, насколько это возможно :) Давайте разберемся, почему это так.

Во-первых, в движке нет ненужного хлама. В его ядре реализованы самые необходимые вещи. Редко используемые функции [могут быть] выполнены как расширения.

Во-вторых, то, что в нем есть, сделано хорошо. Например, запросы к базе данных грамотно составлены и оптимизированы. Еще пример: если в шаблоне страницы нет какой-то части, вычислительные ресурсы на построение этой части не тратятся.

Перейдем от теории к практике. Сравним быстродействие S2 и WordPress. Важный параметр, влияющий на время сборки страниц, это количество запросов к базе данных. Обычно WordPress делает несколько десятков запросов, время сборки страницы составляет десятые доли секунды. Например, вот ресурсы для вывода главной страницы wordpress.org/news:

<!-- 19 queries. 0.277 seconds. -->

А вот для внутренней страницы:

<!-- 16 queries. 0.214 seconds. -->

В свою очередь, S2 в большинстве случаев делает не больше десятка (обычно 5 плюс-минус сколько-то) запросов к базе данных и тратит на сборку страницы несколько сотых долей секунды. Вы можете убедиться в этом, заглянув в подвал любой страницы на этом сайте.

Из первого правила (про количество запросов) есть несколько исключений. Например, для вывода списка обновлений и последних комментариев на главной странице нужны дополнительные простейшие запросы (их количество не превосходит удвоенной максимальной вложенности древовидной структуры сайта). Также делается несколько дополнительных запросов на страницах, помеченных ключевыми словами.

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

В S2 тоже есть кеш (который, кстати, штатными средствами не отключается). Кеш S2 не хранит содержимое всех страниц. Он экономит всего лишь два запроса к базе данных, которые без него выполнялись бы на каждой странице. Первый запрос считывает параметры настройки (которые можно редактировать на соответствующей странице панели управления), а второй — код расширений из файлов manifest.xml. Отключение кеша не привело бы ни к каким катастрофическим последствиям.

Теперь вы знаете, почему S2 — простой и быстрый движок сайтов.

Комментарии (2)

← сюда туда →