D7 vs D8

Главные вкладки

Аватар пользователя webpavilion webpavilion 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

Комментарии

Аватар пользователя k_dmitry k_dmitry 1 сентября 2013 в 14:05

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

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

Аватар пользователя Niklan Niklan 1 сентября 2013 в 14:06

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

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 1 сентября 2013 в 14:40

"Niklan" wrote:

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


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

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


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

Аватар пользователя Niklan Niklan 1 сентября 2013 в 14:50

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

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

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

Аватар пользователя webpavilion webpavilion 1 сентября 2013 в 14:51

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

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

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

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 1 сентября 2013 в 15:15

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

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

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

Аватар пользователя webpavilion webpavilion 1 сентября 2013 в 16:01

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%

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 1 сентября 2013 в 16:05

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

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

Аватар пользователя webpavilion webpavilion 1 сентября 2013 в 16:05

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

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

Аватар пользователя webpavilion webpavilion 1 сентября 2013 в 16:11

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

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

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

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 1 сентября 2013 в 16:32

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

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

Аватар пользователя webpavilion webpavilion 1 сентября 2013 в 16:39

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

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

Аватар пользователя Niklan Niklan 1 сентября 2013 в 16:50

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

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

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 1 сентября 2013 в 16:58

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

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

Аватар пользователя gorr gorr 1 сентября 2013 в 17:25

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

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

Аватар пользователя drupby drupby 1 сентября 2013 в 18:37

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

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

Аватар пользователя Niklan Niklan 1 сентября 2013 в 18:51

"drupby" wrote:

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

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

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

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

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

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

Аватар пользователя webpavilion webpavilion 1 сентября 2013 в 19:12

"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%

Аватар пользователя webpavilion webpavilion 1 сентября 2013 в 19:19

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

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

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

Аватар пользователя Andruxa Andruxa 2 сентября 2013 в 11:25

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

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

Как-то так.

Аватар пользователя Niklan Niklan 2 сентября 2013 в 18:42

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

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

Аватар пользователя webpavilion webpavilion 2 сентября 2013 в 19:38

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

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

Аватар пользователя alex_shut alex_shut 2 сентября 2013 в 20:50

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

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

Аватар пользователя alexandr.poddubsky alexandr.poddubsky 3 сентября 2013 в 0:11

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

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

Аватар пользователя Niklan Niklan 3 сентября 2013 в 19:29

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

Аватар пользователя Andruxa Andruxa 3 сентября 2013 в 19:37

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

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

Аватар пользователя webpavilion webpavilion 3 сентября 2013 в 20:29

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

Аватар пользователя alexandr.poddubsky alexandr.poddubsky 3 сентября 2013 в 23:49

"Niklan" wrote:

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


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

Аватар пользователя Niklan Niklan 4 сентября 2013 в 10:17

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

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

Аватар пользователя webpavilion webpavilion 4 сентября 2013 в 10:37

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

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

Аватар пользователя graker graker 4 сентября 2013 в 11:13

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

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

Аватар пользователя webpavilion webpavilion 4 сентября 2013 в 11:25

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

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

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

Аватар пользователя ihappy ihappy 4 сентября 2013 в 20:44

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

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

Аватар пользователя Niklan Niklan 4 сентября 2013 в 20:45

"iHappy" wrote:

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


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

Аватар пользователя webpavilion webpavilion 4 сентября 2013 в 20:50

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

Аватар пользователя ihappy ihappy 4 сентября 2013 в 22:11

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

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

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

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

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

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

Аватар пользователя drupby drupby 5 сентября 2013 в 12:23

"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
модуль отключил и удалил -ошибка однако осталась

Аватар пользователя Niklan Niklan 5 сентября 2013 в 12:28

У себя прогнал 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 новый инсталлер

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

Аватар пользователя Chyvakoff Chyvakoff 5 сентября 2013 в 12:37

"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 новый инсталлер

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