D7 vs D8

1 сентября 2013 в 13:48

Что сравниваем:

текущую стабильную версию D7 (7.23) и D8 (dev branch), профиль установки Standart, язык En;

Чем мерим:

пока по верхам с помощью ab -n1000 -c10, позже поковыряю глубже.

На чем:

i7-4770, 32GB RAM, SSD, Nginx, php5-fpm, APC, MariaDB - сервер совсем пустой.

D7 - пустой:

Concurrency Level:      10
Time taken for tests:   3.541 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      7686000 bytes
HTML transferred:       7271000 bytes
Requests per second:    282.37 [#/sec] (mean)
Time per request:       35.415 [ms] (mean)
Time per request:       3.541 [ms] (mean, across all concurrent requests)
Transfer rate:          2119.41 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    16   35   8.1     35      72
Waiting:       16   35   8.1     34      72
Total:         16   35   8.1     35      72

Percentage of the requests served within a certain time (ms)
  50%     35
  66%     38
  75%     40
  80%     42
  90%     46
  95%     49
  98%     54
  99%     58
 100%     72 (longest request)

D8 - пустой:

Concurrency Level:      10
Time taken for tests:   14.023 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      8517000 bytes
HTML transferred:       8060000 bytes
Requests per second:    71.31 [#/sec] (mean)
Time per request:       140.226 [ms] (mean)
Time per request:       14.023 [ms] (mean, across all concurrent requests)
Transfer rate:          593.14 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    72  140  30.1    135     273
Waiting:       72  140  30.1    135     273
Total:         72  140  30.1    135     273

Percentage of the requests served within a certain time (ms)
  50%    135
  66%    148
  75%    158
  80%    163
  90%    182
  95%    196
  98%    209
  99%    230
 100%    273 (longest request)

Голый Drupal 7 быстрее почти на 400%, эпично весьма!
Пробуем разобраться: ставим и включаем на D7 те модули что вошли в D8 Ctools, Entity API, Views, Views UI), на D8 отключаем (CKEditor, Configuration Manager, Text Editor)

D7 +(Views, Views UI, Ctools, EntityAPI)

Requests per second:    269.50 [#/sec] (mean)

D8 -(CKEditor, Configuration Manager, Text Editor)

Requests per second:    74.22 [#/sec] (mean)

Особо ничего не изменилась разрыв сократился до 360%. Шансы что с релизом скорость работы вырастет в разы близки к нулю.

Всю следующую неделю буду ковырять подробнее как производительность так и новые фичи. Соберу что нибудь типовое на старой и новой версии что бы сравнение было более корректным.

Что интересно спрашивайте в комментах.

UP: Мерим тоже самое но с включенным кешем:

D7 +(Views, Views UI, Ctools, EntityAPI)

Requests per second:    815.52 [#/sec] (mean)

D8 -(CKEditor, Configuration Manager, Text Editor)

Requests per second:    637.52 [#/sec] (mean)

Разница в ~30% с включенным кешем, удручает не меньше чем без него.

UP: Тесты D8a3 -(CKEditor, Configuration Manager, Text Editor):

Server Software:        nginx/1.4.1
Server Hostname:        d8a3.test
Server Port:            80

Document Path:          /
Document Length:        8102 bytes

Concurrency Level:      10
Time taken for tests:   12.471 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0


Total transferred:      8559000 bytes
HTML transferred:       8102000 bytes
Requests per second:    80.19 [#/sec] (mean)
Time per request:       124.710 [ms] (mean)
Time per request:       12.471 [ms] (mean, across all concurrent requests)
Transfer rate:          670.23 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       1
Processing:    62  124  25.2    122     217
Waiting:       62  124  25.2    122     217
Total:         62  124  25.2    122     217

Percentage of the requests served within a certain time (ms)
  50%    122
  66%    133
  75%    140
  80%    145
  90%    158
  95%    173
  98%    184
  99%    193
 100%    217 (longest request)

+8% по сравнению с предыдущей альфой и по-прежнему чертовски медленно если сравнивать с D7

Комментарии

"webpavilion" wrote:
Что интересно спрашивайте в комментах.

а можно описание "степ бай степ", как такой тест провести?

1 сентября 2013 в 14:05

Как вы делаете тесты? Напишите пожалуйста, тоже хочется научиться. Статьи на инглише тоже пойдут, разберусь. Просто хз куда рыть даже.

1 сентября 2013 в 14:06

"Niklan" wrote:

Нужно мнение эксперта.


Методику теста фтопку. Дёрганье главной нормальных результатов не даст.
"alexandr.poddubsky" wrote:

d8 вешает сервер ;)


Ваши психиатрические заболевания обсуждаются в другом месте.

1 сентября 2013 в 14:40

"RxB" wrote:
Методику теста фтопку. Дёрганье главной нормальных результатов не даст.

Вот этого я и ждал. Так и думал что RxB способ тестирования откинет сразу.

Стоит ли от вас ждать своих тестов?

1 сентября 2013 в 14:50

"RxB" wrote:
Методику теста фтопку. Дёрганье главной нормальных результатов не даст.

Никакое тестирование не может дать нормальных результатов. Если новая версия отдает главную в 4 раза медленнее старой, при аналогичном наборе модулей, значит проблема с производительностью существует. А уж дерганием чего она найдена не так важно.

Можете предложить какой нибудь нормальный тест? Я планирую собрать простенький сайт с 1000 нод и погонять его через платный ак в http://loadimpact.com/, результатами поделюсь.

1 сентября 2013 в 14:51

"webpavilion" wrote:
Никакое тестирование не может дать нормальных результатов. Если новая версия отдает главную в 4 раза медленнее старой, при аналогичном наборе модулей, значит проблема с производительностью существует. А уж дерганием чего она найдена не так важно.

Проблема существует, но смысла смотреть на цифры после такого теста нет.
"webpavilion" wrote:
Можете предложить какой нибудь нормальный тест? Я планирую собрать простенький сайт с 1000 нод и погонять его через платный ак в http://loadimpact.com/, результатами поделюсь.

В сети есть готовые варианты профилей для jMeter. Можно эмулировать живых юзеров с нужными действиями.

1 сентября 2013 в 15:15

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

D7 node/1 Requests per second:    250.04 [#/sec] (mean)
D8 node/1 Requests per second:     67.25 [#/sec] (mean)

разница 370%

D7 /user/register Requests per second:    268.09 [#/sec] (mean)
D8 /user/register Requests per second:     59.71 [#/sec] (mean)

разница 455%

D7 /false Requests per second:    360.34 [#/sec] (mean)
D8 /false Requests per second:    124.59 [#/sec] (mean)

разница 290%

1 сентября 2013 в 16:01

"webpavilion" wrote:
jMeter делает ровно тоже самое, дергает страницы (статику дергать смысла нет), результаты его измерений предсказуемы. Абсолютные цифры да смысла не имеют, но их отношение очень даже показательно.

jMeter дёргает указанные страницы, эмулирует действия юзера в плане заполнения форм, поиска по сайту и т.п.
ab дёргает только одну страницу от анонимного пользователя.
Это разве тоже самое?

1 сентября 2013 в 16:05

devel generate отказывается работать, набивать 1000 нод руками не осилю.

Можно продолжить мерить после того как починят.

1 сентября 2013 в 16:05

"RxB" wrote:
Это разве тоже самое?

Намек понял. Вы считаете что страницы для анонимов где то в другом месте рендерятся, и для залогенненых это в 4 раза быстрее будет?

И через jMeter померю под пользователями, мне не трудно (как только devel починят), спорим на бутылочку хорошего коньяка что разница будет в 2-4 раза ниже от скорости D7?

1 сентября 2013 в 16:11

"webpavilion" wrote:
Намек понял. Вы считаете что страницы для анонимов где то в другом месте рендерятся, и для залогенненых это в 4 раза быстрее будет?

Я считаю, что считать производительность по анонимам это нерепрезентативно, так как увеличить скорость отдачи анонимам намного проще нежели авторизованным.

1 сентября 2013 в 16:32

"RxB" wrote:
Я считаю, что считать производительность по анонимам это нерепрезентативно, так как увеличить скорость отдачи анонимам намного проще нежели авторизованным.

А вы не считаете что скорость отдачи страниц анонимам без кеширования приблизительно равна скорости отдачи тех же страниц авторизированным пользователям?

1 сентября 2013 в 16:39

"webpavilion" wrote:
А вы не считаете что скорость отдачи страниц анонимам без кеширования приблизительно равна скорости отдачи тех же страниц авторизированным пользователям?

Да не очень уж и равна

1 сентября 2013 в 16:50

"webpavilion" wrote:
А вы не считаете что скорость отдачи страниц анонимам без кеширования приблизительно равна скорости отдачи тех же страниц авторизированным пользователям?

Не считаю, там - > OR <
А контриб-модули вообще такая интересная штука, что на одном проекте некоторые страницы грузятся для админа (uid = 1) значительно быстрее чем для обычного авторизованного юзера.

1 сентября 2013 в 16:58

"RxB" wrote:
В сети есть готовые варианты профилей для jMeter. Можно эмулировать живых юзеров с нужными действиями.

А можно ссылочки?

1 сентября 2013 в 17:25

"RxB" wrote:
ab дёргает только одну страницу от анонимного пользователя.

а куку передать сессионную ,не?
хотя какие замеры сейчас вообще могут быть и смысл в них на данный момент?
лучше бы читали про различия в api и пытались вникнуть , а то что восьмерка вешает семеркусервер ,так это и так понятно

1 сентября 2013 в 18:37

"drupby" wrote:

лучше бы читали про различия в api и пытались вникнуть , а то что восьмерка вешает семеркусервер ,так это и так понятно

что вы с ней делаете? У меня не вешает локальный серв.

"drupby" wrote:
хотя какие замеры сейчас вообще могут быть и смысл в них на данный момент?

А такие, что по факту, не так то и много они еще усилят производительность. Если смогут до уровня 7 спустить - молодцы, но я слабо в это верю.

Вы хотябы на размер пустого сайта гляньте, а также на то что друпал за собой тащет. Symfony(ожидалось), symfony-cmf, composer< doctrine, easyrdf, guzzle, kriswallsmith, phpunit, psr, twig (ожидалось), zendframework.

Еще бы он с таким букетом не весил под 40мб голый и не тормозил. Хотя у меня на взгляд одинакого пашет, что он, что семерка голые. Для этого и надо тесты.

1 сентября 2013 в 18:51

"drupby" wrote:
а куку передать сессионную ,не?

вот спасибо тебе, добрый человек.

главная под UID1:

D7 Requests per second:    186.37 [#/sec] (mean)
D8 Requests per second:    46.20 [#/sec] (mean)

разница 404%

/node/1 под UID1:

D7 Requests per second:    157.00 [#/sec] (mean)
D8 Requests per second:    45.77 [#/sec] (mean)

разница 349%

1 сентября 2013 в 19:12

"drupby" wrote:
хотя какие замеры сейчас вообще могут быть и смысл в них на данный момент?

Лично для меня смысл в том что бы определится что именно рационально делать на D8 и какие проекты из существующих стоит обновить.

Единственная мега фича которую я очень ждал это "Configuration Manager" теперь деплой чего то объемного будет намного проще, а вот лажа с производительностью ставит под вопрос использование D8 для мелких проектов.

1 сентября 2013 в 19:19

Я смотрю в сторону поисковых серверов - солра, видимо.

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

Как-то так.

2 сентября 2013 в 11:25

"Chyvakoff" wrote:
У меня и на патруле прекрасно работает.

У меня локальный намного слабже патруля. Как минимум без SSD.

2 сентября 2013 в 18:42

"RxB" wrote:
И про шестёрку, и про семёрку

прогресс не остановить? такими темпами D10 только на топовых дедиках будет работать а D12 на простеньких кластерах.

2 сентября 2013 в 19:38

"Niklan" wrote:
Слышал что Drupal 17 ложит сервера гугла, хз где бы хостинг под него найти.

облака мелко-мягких. инфа 146%

2 сентября 2013 в 20:50

"RxB" wrote:
ты как специалист по висякам, прекрасно знаешь, что восьмёрка вешает, как минимум, стойку.

Ну я до вашего уровня культуры скатываться не собираюсь. апорт Smile

3 сентября 2013 в 0:11

Unity офигенная штука если ей пользоваться на всю катушку. Проовал с неё на гном слезть, на синамон или как она там, кде и прочее, шлаком показалось не удобным. Как круто гуглить прям из даша. Веб аппся и прочие прелисти интеграции просто супер-дупер

3 сентября 2013 в 19:29

не, а мне гном3 (который не классик) прям ваще-ваще

но юзаю все равно классик - там можно в компизе настроить деформацию окон при перетаскивании

3 сентября 2013 в 19:37

Я долго на FVWM-Crystal сидел, а потом обзавелся двумя 24" мониторами и никак не получилось нормально все это дело настроить, да и надоело если честно. Уж год как пользуюсь unity, привык, удобно.

3 сентября 2013 в 20:29

"Niklan" wrote:

Unity офигенная штука если ей пользоваться на всю катушку.


кому как. юнити ненастраиваемая вообще, xfce4 debian 7 нормалек

3 сентября 2013 в 23:49

"alexandr.poddubsky" wrote:
кому как. юнити ненастраиваемая вообще

Каких именно настроек не хватает? Unity Tweak Tool вполне мощный инструмент. Да и пока там внутри сидит Compiz его любителям через ccm можно настроить что угодно

4 сентября 2013 в 10:17

"CSN_Tails" wrote:
KDE >_<
обычно те кто им пользуются любят аниме, для остальных не очень подходит.

"alexandr.poddubsky" wrote:
юнити ненастраиваемая вообще
ну xfce по сравнению с FVWM тоже не особо настраиваемая. Вопрос в том а надо ли это? Я как то поймал себя на том что 2 часа из 8 за компом трачу на то что бы что нибудь настроить, подправить, оптимизировать и улучшить. Поставил unity попривыкла недельку и получил 10 свободных часов в неделю.

4 сентября 2013 в 10:37

webpavilion wrote:
обычно те кто им пользуются любят аниме, для остальных не очень подходит.

У меня везде кеды. Аниме не люблю.

4 сентября 2013 в 11:13

"graker" wrote:
У меня везде кеды. Аниме не люблю.

Плазма не падает?
Лично мне KDE кажется не практичным, хотя не исключаю вероятность что я просто неправильно его готовил.

К теме топика нет желающих вернутся?

4 сентября 2013 в 11:25

Рано еще сравнивать Д7 и Д8. Уж больно рано.

КДЕ вполне годный продукт.
Хотя я обожаю Юнити. Конечно я жду когда доделают ее, чтобы на повторном клике на иконке, программа сворачивалась, а не сейчас ноль по фазе.

4 сентября 2013 в 20:44

"iHappy" wrote:

Рано еще сравнивать Д7 и Д8. Уж больно рано


неа, не рано, релиз возможно в январе будет (мои догадки ибо 7 вышла тогдаже)

4 сентября 2013 в 20:45

"iHappy" wrote:
Конечно я жду когда доделают ее, чтобы на повторном клике на иконке, программа сворачивалась, а не сейчас ноль по фазе.
ну ждать чего то там это ни linux-way надо сделай сам, ну или найди того кто уже сделал: https://launchpad.net/~ikarosdev/+archive/unity-revamped

4 сентября 2013 в 20:50

"Niklan" wrote:
неа, не рано, релиз возможно в январе будет (мои догадки ибо 7 вышла тогдаже)

Рано.
D7 уже допиленный продукт, где уже основная масса багов уже исправлена.
А D8 все еще сырая и с багами.

"webpavilion" wrote:
ну ждать чего то там это ни linux-way

Клал я на линукс вей если честно)
Хочу из коробки)

"webpavilion" wrote:
ну или найди того кто уже сделал:

Спасибо. Сейчас заценю.
...
заценил, не работает.

4 сентября 2013 в 22:11

"RxB" wrote:
у меня модули пачкой не включаются и батч подвисает

я всего лишь включил модуль admin_menu и получил
Fatal error: Call to a member function get() on a non-object in /home/drupby/domains/d8.loc/html/core/lib/Drupal.php on line 147
модуль отключил и удалил -ошибка однако осталась

5 сентября 2013 в 12:23

У себя прогнал Drupal 8 alpha-2 и Drupal 8 alpha-3

СРАВНИВАТЬ с тем что в топике смысла нет. Комп домашний и никак не может выдать показателей настроенного сервера, банально SSD нету. Так что сравнивайте показатели лишь данного коммента. А то волосы поседеют если сравнить с тем что в топике.

Версия Русская, стандартный профиль.

Drupal 8 alpha-2

Concurrency Level:      10
Time taken for tests:   78.835 seconds
Complete requests:      1000
Failed requests:        2
   (Connect: 0, Receive: 0, Length: 2, Exceptions: 0)
Write errors:           0
Total transferred:      12098270 bytes
HTML transferred:       11608270 bytes
Requests per second:    12.68 [#/sec] (mean)
Time per request:       788.355 [ms] (mean)
Time per request:       78.835 [ms] (mean, across all concurrent requests)
Transfer rate:          149.87 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:   303  786 307.4    767    3626
Waiting:      277  687 286.5    672    3428
Total:        304  786 307.4    767    3627

Percentage of the requests served within a certain time (ms)
  50%    767
  66%    852
  75%    892
  80%    915
  90%   1003
  95%   1073
  98%   1173
  99%   3072
 100%   3627 (longest request)

Drupal 8 alpha-3

Concurrency Level:      10
Time taken for tests:   66.478 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      9036000 bytes
HTML transferred:       8546000 bytes
Requests per second:    15.04 [#/sec] (mean)
Time per request:       664.781 [ms] (mean)
Time per request:       66.478 [ms] (mean, across all concurrent requests)
Transfer rate:          132.74 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:   257  663 150.7    675    1273
Waiting:      241  620 140.3    634    1122
Total:        257  663 150.7    675    1274

Percentage of the requests served within a certain time (ms)
  50%    675
  66%    722
  75%    753
  80%    772
  90%    837
  95%    907
  98%    989
  99%   1099
 100%   1274 (longest request)

Зацените, в Alpha-3 новый инсталлер

Если там много чего поменяли я опять поковырясь бегло и напишу чо к чему сделали.

5 сентября 2013 в 12:28

"drupby" wrote:
Fatal error: Call to a member function get() on a non-object in /home/drupby/domains/d8.loc/html/core/lib/Drupal.php on line 147

У меня тоже частенько так.
"Niklan" wrote:
Зацените, в Alpha-3 новый инсталлер

Он и во втором был, если не в первом.

5 сентября 2013 в 12:37