Сравнение производительности форумных CMS

Часто приходится читать мнения о скорости работы каких- либо CMS. Обычно это звучит как "SMF - очень быстрый форумный движок" или "punbb - очень лёгкий движок". А вот в чём конкретно отличие? На сколько SMF быстрее? И на сколько punbb легче? Давайте замерим!

Участники тестирования:

  • Fluxbb 1.5.8
  • Punbb 1.4.2
  • Phpbb 3.1.6
  • PHORUM 5.2.20
  • SMF 2.1

Раунд первый - замеряем скорость загрузки стандартных шаблонов.

1. Fluxbb

Чистый fluxbb генерирует страницу за 0.1 секунды, ещё 0.2с тратится на загрузку 2 изображений и 0.07с на загрузку CSS. Итого: 0.37с, 4 запроса и 33.33кб на всё.

Html: 0.1с Скорость загрузки Fluxbb css, js, img: 0.27c Общий размер: 33.33кб Общее время: 0.37с Запросов: 4

2. Punbb

Картина похожая, что не удивительно - движки родственные:

Html: 0.1с Скорость загрузки Punbb css, js, img: 0.2c Общий размер: 85.75кб Общее время: 0.3с Запросов: 4

3. Phpbb

Картина совсем другая. Десятикратное увеличение времени загрузки. При чём, скорость генерации страницы больше не значительно. Основной вклад- js библиотеки.

Html: 0.12с Скорость загрузки Phpbb css, js, img: 2.99с Общий размер: 312.27кб Общее время: 3.11с Запросов: 32

4. PHORUM

Html: 0.1с

Скорость загрузки PHORUM

css, js, img: 1,12с
Общий размер: 225.59кб
Общее время: 1.22
Запросов: 12

Шаблон всего в 1.5 раза меньше чем у Phpbb, но упаковка всего js в один файл позволила в 2.5 раза быстрей загрузиться.

5. SMF

Html: 0.11

smf-empty

css, js, img: 1.28с
Общий размер: 362.54кб
Общее время: 1.39с
Запросов: 17

Результаты: первое место делят сразу 3 участника: fluxbb, punbb, и phorum со скоростью генерации страницы в 0.1с и очень лёгкими шаблонами. SMF и Phpbb находятся на втором и третьем местах.

Раунд второй.

Пишем скрипт-генератор сообщений, и закидываем в каждый форум по 100 тем. В каждую тему - 100 текстовых сообщений. Итого 10000 сообщений - размер небольшого форума. Для единообразия данных на всех подопытных форумах, каждая тема именуется как "news topic 0,1,2...", а сообщения- все одинаковые. Это позволит точно сравнить размер выделяемой памяти, в независимости от передаваемых данных.

Далее расставляем микротайм счётчики и смотрим на реальную скорость генерации страниц. Замеряем не на главной странице, а на странице сообщений внутри темы. Так движку придётся немного активнее использовать БД. И одновременно собираем информацию о выделенной памяти.

Результаты:

Движок Время генерации строницы Использование памяти
PHORUM 0.01с +- 0.002с 1572864 байт
Punbb 0.017с +- 0.003c 1310720 байт
Fluxbb 0.018с +- 0.005c 1835008 байт
SMF 0.026c +- 0.003c 1835008 байт
Phpbb 0.5с (0.08с с кэшем) 3670016 байт

Заключение.

5. Явным аутсайдером нашего тестирования является Phpbb. Даже при использование кэша, страница генерируется в 8 раз дольше чем у лидера- PHORUM. В случае, если ещё не был готов кэш, страница генерируется в 50 (пятьдесят) раз дольше. Памяти используется в 3 раза больше, чем у лидера- Punbb. Шаблон огромный и раздроблен на множество мелких фрагментов: 4 js и 11 css файлов.

4. С большим отрывом от Punbb, следующее место присуждается SMF. Экономно использует память, но медленно(в 2.5 раза) генерирует страницы. Шаблон так же слабо оптимизирован.

3. Fluxbb. Оказался медленней брата-близнеца Punbb. Но разница не существенна.

2. Punbb. Экономнее всего использует память, очень быстро генерирует страницы. Очень лёгкий шаблон.

1. Первое место присуждается PHORUM. Быстрее всех генерирует страницы. Отрыв от второго места почти в 2 раза. Очень экономно расходует память. И хотя шаблон значительно больше чем у Fluxbb и Phpbb, имеет огромное преимущество в архитектуре.



Создание контроллера и шаблона на opencart 2

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

Ссылка на товар из меню редактирования товара

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


(0) Комментариев