Drupal → Производительность 6 vs 7

14.12.2010

Попытался сравнить производительность двух веток друпала — 6.19 и 7.RC1.

Методика:

  1. Установка последних версий друпала.
  2. Установка локализации с сайта drupaler.ru
  3. Отключение ненужных модулей вроде Color и Update status, включение нужных модулей вроде Devel и Devel Generate.
  4. Генерация тегов в количестве 100 штук. Каждому тегу присваивается синоним.
  5. Генерация нод в количестве 5000 штук. Каждой ноде присваивается синоним, несколько тегов и несколько комментариев.

Результаты:

Drupal 6 Drupal 7
Время генерации главной страницы: 250 ms 310 ms
Число SQL запросов на главной странице: 156 88
Время выполнения SQL запросов на главной странице: 140 ms 66 ms
Использованная память для генерации главной страницы: 1.73 mb 3.45 mb
Число главных страниц, сгенерированных за 1 секунду: 5.7 3.4

Тестовое окружение:

OS: Windows 7
PHP: 5.2.8 + xCache 1.3
MySQL: 5.0.45 (MyISAM, query cache off)
xCache memory: 32 mb
CPU: Intel Core i5 750
Memory: 4GB DDR3

Включённые модули:

Drupal 6 — Block, Comment, Database logging, Help, Locale, Menu, Path, Taxonomy, Devel, Pathauto, Token, Filter, Node, System, User.

Drupal 7 — Block, Comment, Database logging, Help, Locale, Menu, Path, Taxonomy, Devel, Pathauto, Token, Filter, Node, System, User, Field, Field SQL storage, Options, RDF, Text, Toolbar.

Выводы:

Ничего кардинально не изменилось. SQL запросов в D7 стало меньше на половину, но модулей, нужных для нормального функционирования — несколько больше. За счёт этого в два раза увеличилось потребление памяти и соответственно выросло время генерации страницы.

Добавлено позже: при смене типа таблиц на InnoDB, время выполнения SQL запросов в D7 уменьшается ещё вдвое и итоговые результаты (страниц в секунду) становятся практически одинаковыми.

Написанное актуально для
Drupal 6.19, Drupal 7 RC1
Похожие записи

Комментарии

Максим
14.12.2010, 18:39

Другого и не ожидал. Спасибо за тесты.

Да, помнится еще Дрис сокрушался, что D6 + CCK работает быстрей чем D7

Странно, что число запросов уменьшилось, общее время генерации страницы возросло.

Павел
15.12.2010, 11:09

Видимо, не хватает оптимизаторов в команде. Очень жаль, что производительность (и так невысокая) не возросла...

были слухи что восьмёрка в этом плане будет получше

api переработано очень сильно, стало более логичным. Теперь, будет намного меньше костылей при разработке, особенно при темизации.
Думаю, на сложных сайтах при грамотной реализации D7 будет на порядок быстрей чем D6.

"на порядок" конечно не будет :) как минимум не хуже

Добавлено позже: при смене типа таблиц на InnoDB, время выполнения SQL запросов в D7 уменьшается ещё вдвое и итоговые результаты (страниц в секунду) становятся практически одинаковыми.

но вроде как InnoDB ест больше оперативки у сервера... не получится ли что одно лечишь - другое калечишь?

Жаков Виталий
10.10.2011, 11:08

А есть подобные тесты для свежей версии, для 7.8, например?

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