Тестирование производительности ZennoPoster (ZennoJSBench). У кого мощнее сервер?

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Реакции
3 883
Баллы
113
Тест производительности, бенчмарк (англ. benchmark) — контрольная задача, необходимая для определения сравнительных характеристик производительности компьютерной системы. © Википедия

Давно уже хотел проверить на сколько мой сервер слабее других конфигураций, да и много кто спрашивал сколько он тянет браузерных шаблонов. Наконец понял как можно сделать некий "синтетический" тест (в том понимании, что основываться на нем на 100% не стоит, но он покажет хоть какие-то результаты и их нужно сравнивать с другими). Тест сделал на основе JavaScript с помощью бенчмарка JetStream. Выбрал именно его, т.к. он делает множество тестов, используя современные библиотеки, которые могут встречаться на любом сайте.

Сразу же скажу, что лучше проводить именно такое контрольное тестирование на одном и том же шаблоне, с помощью одной и той же методологии (бенчмарка), т.к. в реальной работе можно запускать 50 браузерных шаблонов на очень легком сайте и система не будет загружаться. Или можно запускать 5 браузерных шаблонов на очень тяжелом сайте на этой же конфигурации и система будет загружена на 100%.

Плюс, основываясь на этом тесте - в теории можно будет пробовать "тюнить" настройки зенки и смотреть улучшилось или ухудшилось после изменения (конечно же, в первую очередь можно будет понять: "1 поток на процесс - это всё таки быстрее или медленнее?!!!"). Да и после выхода новых версий - с помощью этого шаблона тоже можно будет понять - стало ли лучше (например, если сменят/обновят браузерный движок).

Предупреждаю: тест может загрузить вашу систему под 100% (нагрузка на ЦП)!

Поэтому перед его запуском обязательно нужно выключить все свои работающие проекты + перезапустить зенку (это важно!), если кроме зенки на сервере что-то ещё трудится - лучше выключить другой софт.


Шаблон в аттаче, пользоваться им очень просто:
  1. Добавляете его в ZennoPoster (не в ProjectMaker, т.к. тестирование нужно проводить в многопоточном режиме).
  2. Нажатием на кнопку "+1" добавляете одно выполнение шаблона. В первый запуск шаблона сразу же добавится количество выполнений и параллельных потоков, равных количеству процессоров в системе.
  3. После этого сидим и ждем (иногда по 20 минут), мониторим лог, что не вывалились какие-то ошибки (если вывалятся, то всё тестирование зря, даже 1 потерянный поток - ухудшит общие результаты).
    Если вывалились ошибки - пробуем заново (или пишем тут, если вывалилось что-то странное).
  4. После того, как все потоки пройдут (без ошибок) - добавляете ещё одно задание на выполнение - после этого у вас в логе должны появится результаты тестирования (если запустится ещё одно тестирование - это плохо, значит ранее были ошибки).
  5. Если нужно запустить тестирование повторно - удалите файл results.txt, что лежит в директории с проектом.

В итоге после выполнения вышеописанных действий - вы получите сумму показателей для своей конфигурации. Чем она выше - тем мощнее система.


Померяемся писюнами серверами?


PS: если есть профи в плане "бенчей" - можете переделать шаблон и выложить свою версию, я буду только благодарен, т.к. я в этом немного "профан".

UPD Октябрь 2020. Актуальный шаблон находится тут
Спасибо @Ha9p за исправление.

UPD Июнь 2022. Актуальный шаблон находится тут (7.7.1.0+)
Спасибо @udder за наводку и @TurboM за исправление.
 
Категория
  1. Полезно

Вложения

Последнее редактирование модератором:
Очень прошу выкладывать результаты в следующем формате (можете копировать прямо оттуда):
Код:
Развернуть Свернуть Копировать
[B]Результат выполнения шаблона:[/B]
[IMG]ссылка на скриншот[/IMG]

[B]Конфигурация сервера:[/B]
[IMG]ссылка на скриншот[/IMG]

[SPOILER="Настройки инстанса"]
[IMG]ссылка на скриншот[/IMG]
[/SPOILER]

[B]Количество потоков в одном процессе:[/B] число

[B]Версия ZennoPoster:[/B] версия




Мои результаты:

Результат выполнения шаблона:
bKK509P.png


Конфигурация сервера:
ktsOivp.png


Более детальное описание конфига

5rb7IsU.png

Количество потоков в одном процессе: 1

Версия ZennoPoster: 5.11.4.0
 
Последнее редактирование:
Результат: 1303,76 (hyper threading выключен)
Результат: 1686,41 (hyper threading включен)

Xeon X5670 / 2.93 GHz / Boost 3.33 GHz / 6 ядер - 2шт
GPU ускорение: выкл
Потоков на процесс: 1
 
Последнее редактирование:
  • Спасибо
Реакции: Lord_Alfred
Результат выполнения шаблона:
BTQSVT8ESkycINqtzwEbKg.png


Конфигурация ноута:
cgStQDvmTsuQqYLl4AFbRQ.png


fwQqUnR_QIWuEy-k2zCTyA.png

A2DI8-i3TEWGaW1mKMg1uA.png

Количество потоков в одном процессе: 5
 
Последнее редактирование:
  • Спасибо
Реакции: Lord_Alfred
Результат по 4 параллельным потокам (по числу ядер в систе)
Сумма результатов: 676,17

Intel i7 4790k 4.0GHz Turbo Boost 4.4Ghz, 32GB DDR3 1600Mhz[/IMG]


Количество потоков в одном процессе: 1
 
Последнее редактирование:
  • Спасибо
Реакции: Lord_Alfred
Результат выполнения шаблона:
upload_2017-7-28_0-34-16.png


upload_2017-7-28_0-35-9.png
upload_2017-7-28_0-35-54.png

Количество потоков в одном процессе: 1
 
  • Спасибо
Реакции: Lord_Alfred
screenshot_22-png.22261
screenshot_23-png.22262

Оперативка: DDR3 1600Mhz
Видеокарта: GTX 1060
screenshot_25-png.22265

Количество потоков в одном процессе: 1
 

Вложения

  • Screenshot_22.png
    Screenshot_22.png
    6,2 KB · Просмотры: 4 588
  • Screenshot_23.png
    Screenshot_23.png
    13,2 KB · Просмотры: 4 893
  • Screenshot_24.png
    Screenshot_24.png
    28 KB · Просмотры: 1 354
Последнее редактирование:
  • Спасибо
Реакции: DenisK и Lord_Alfred
Последнее редактирование:
Сервер за 7000 руб.
3041f47dcf98.png
f3eb79303368.png

7f3ba23b680f.png

Количество потоков в одном процессе: 3
Zennoposter 5.9.9.1
 
Последнее редактирование:
  • Спасибо
Реакции: DenisK
Сервер за 30000+ руб.
vVacHdq.jpg

U5Ah49M.jpg

hsrW1U9.jpg

Количество потоков в одном процессе: 3
Zennoposter 5.9.9.1
 
Последнее редактирование:
стоило бы указывать версию зенопостера. предполагаю на 5.9.9.1 производительность будет выше.
 
Сервер за 60$ Hetzner. ЗП 5.11.3.0
Screenshot_4.png

103.40
103.66
107.67
103.50
104.87
107.83
105.75
104.68
----------
841
Screenshot_2.png
Screenshot_3.png
Количество потоков в одном процессе: 1
 
Последнее редактирование:
Пару тестов:

1.


Количество потоков в одном процессе: 1
Zennoposter 5.9.9.1

2.


Количество потоков в одном процессе: 10
Zennoposter 5.9.9.1

======================================

При 10 потоках в 1 процессе, шаблон выполнялся 30-40+ минут. При 1 потоке в процессе результат на скриншоте 5-6 минут.

Но при этом, при 10 - 20-25% процессора было занято, при 1 потоке - 90-100%...

Как считать эффективность и настраивать постер, нужно тестить. Настройки инстанса важны, но кол-во потоков уже заставляет задуматься.
 
Последнее редактирование:
  • Спасибо
Реакции: Lord_Alfred
При 10 потоках в 1 процессе, шаблон выполнялся 30-40+ минут. При 1 потоке в процессе результат на скриншоте 5-6 минут.

Но при этом, при 10 - 20-25% процессора было занято, при 1 потоке - 90-100%...
Когда 1 поток на процесс - ядро используется полностью, а когда 10 потоков на процесс - возникают ожидания, поэтому нагрузка меньше на него будет, но эффективность падает (что и тесты показали).
То есть при 10 потоках на процесс - можно больше одновременных потоков запустить, но вот толку от этого будет мало... (скорость работы резко упадет)
 
Последнее редактирование:
стоило бы указывать версию зенопостера. предполагаю на 5.9.9.1 производительность будет выше.
Хорошая идея, добавлю этот пункт в шаблон.
Надеюсь, кто сможет - дополнит у себя пост (редактирование, по-моему, должно быть доступно в этом разделе).

PS: насчет производительности на 5.9.9.1 - вот тут не факт. Лучше это проверить кому-нибудь, конечно. Но, имхо, на нем должно быть медленнее или так же (вроде движок фф там ещё старее, но могу ошибаться)
 
del
 
Последнее редактирование:
  • Спасибо
Реакции: Lord_Alfred
Протестировал различные настройки в проекте ради интереса, сразу скажу, что разницы - нет. Что странно.

Конфигурация сервера: Выше скрин, ничего не менялось
Настройки инстанса: Выше скрин, ничего не менялось
Количество потоков в одном процессе: 1
Версия ZennoPoster: 5.11.4.0


  1. Обычный запуск шаблона
    Настройки:
    AByEKKF.png


    Результат:
    NFbNwNU.png

  2. Выделенный процесс
    Настройки:
    crIb1Fm.png

    Результат:
    m22GPTl.png

  3. Браузер без отображения содержимого
    Настройки:
    sTnVV54.png

    Результат:
    G7atDSA.png

Эти изменения на небольшое количество единиц - не показатель. Я ожидал чего-то большего, не судьба...

PS: возможно, на обычных сайтах - и есть разница при использовании этих настроек. Но в этом частном примере - разницы никакой нет. Поэтому появились сомнения на этот счет
 
Последнее редактирование:
На более слабых компах различие заметно по опции "Браузер без отображения содержимого". На мощных не заметно.
 
upload_2017-7-31_14-58-16.png


ради интереса решил протестировать свой i3-530 (2 ядра, 4 потока), чтобы выяснить насколько мой раб. комп УГ (правда использую его для ПМ исключительно) по сравнению с вашими.. :-)
во-первых: 2 ядра, а поднимается 4 потока, вместо 2-х..
во-вторых: вываливается ошибка, как на скриншоте, пробовал несколько раз запускать..
 
Посмотреть вложение 22358

ради интереса решил протестировать свой i3-530 (2 ядра, 4 потока), чтобы выяснить насколько мой раб. комп УГ (правда использую его для ПМ исключительно) по сравнению с вашими.. :-)
во-первых: 2 ядра, а поднимается 4 потока, вместо 2-х..
во-вторых: вываливается ошибка, как на скриншоте, пробовал несколько раз запускать..
А логических процессоров сколько? HT есть? Там из C# приходит инфа о количестве процессоров, поэтому столько потоков и запускается)

По поводу ошибки - странно. Какая версия ZP? Там тот JS, что не может выполнится - всего лишь запускает тест. В ProjectMaker тоже так фейлится? Можно тогда поменять на обычный Rise->Click то действие с запуском теста
 
  • Спасибо
Реакции: Sergodjan
А логических процессоров сколько? HT есть? Там из C# приходит инфа о количестве процессоров, поэтому столько потоков и запускается)

По поводу ошибки - странно. Какая версия ZP? Там тот JS, что не может выполнится - всего лишь запускает тест. В ProjectMaker тоже так фейлится? Можно тогда поменять на обычный Rise->Click то действие с запуском теста
в таск-менеджере 4 графика (4 процессора типа), но процессор i3-530 физически имеет 2 ядра с HT..
в ПМ - ок, попробую..
 
Всем привет :-) Lord_Alfred заставил меня закодить этот тест на Селениуме. Так что, все, кто хочет, могут провести такой же тест с использованием любого браузера на хромиуме, любой версии ФФ и ИЕ. Если вам интересно сравнить с Зенкой :-) Гарантии, что сработает именно с вашим любимым браузером, нет. Скорей всего сработает, но может и нет. На одном компе может заработать, на другом нет :-) Я ничего не буду фиксить, прога as is.

Вот ссылка: https://github.com/jane-cook/selenium-benchmark

В архивет есть readme.txt. Почитайте перед запуском.
 
Последнее редактирование:
Спасибо @justhelen за то, что открыла глаза, что результат по этим тестам у хрома и фф может быть почти идентичный, что для меня было крайне удивительно (всегда думал, что хром будет впереди планеты всей). Да, скорее всего он будет кушать меньше ОЗУ, но быстродействие на сайтах, напичканных JS - будет таким же).

Выкладываю свои результаты по бенчу через тест селениума

Хром ( 60.0.3112.78 ):
DtgOHUs.png


Firefox ( 54.0.1 (64-бит) ):
jT43YaZ.png


Яндекс.Браузер и IE, к сожалению, не удалось у меня затестить, пол дня вчера ловили баги, но в итоге так и не вышло. Но по субъективным ощущениям (т.к. иногда тесты запускались, но не всей пачкой или фейлились перед окончанием) - IE у меня был бы сильно медленнее (что-то около 1000-1100), а вот Яндекс.Браузер показал бы лучший результат (думаю, около 1600), но это, конечно, без тестирования - не точно.

К сожалению, протестить их (или, например, ещё и Вивальди или Эпик) - времени уже нет. Но если кто-то заморочится - будет любопытно узнать (вместе с результатами по фф/хрому, чтобы было от чего отталкиваться) :)
 
  • Спасибо
Реакции: justhelen
Яндекс.Браузер и IE, к сожалению, не удалось у меня затестить, пол дня вчера ловили баги, но в итоге так и не вышло. Но по субъективным ощущениям (т.к. иногда тесты запускались, но не всей пачкой или фейлились перед окончанием) - IE у меня был бы сильно медленнее (что-то около 1000-1100), а вот Яндекс.Браузер показал бы лучший результат (думаю, около 1600), но это, конечно, без тестирования - не точно.
Кстати, я протестила у себя вчера ещё несколько раз с Яндекс.Браузером и у меня все разы получилось затестить :) И с ИЕ тоже. В общем, твой комп кто-то сглазил :)
 
Кстати, я протестила у себя вчера ещё несколько раз с Яндекс.Браузером и у меня все разы получилось затестить :-) И с ИЕ тоже. В общем, твой комп кто-то сглазил :-)
Сейчас ещё раз на всякий случай скачал твой последний билд с гитхаба, переустановил яндекс.браузер, попробовал поменять хромдрайвер, но не вышло. Выходит - да, проблема локально только у меня появляется, а от чего - не понятно :)
 
Сейчас ещё раз на всякий случай скачал твой последний билд с гитхаба, переустановил яндекс.браузер, попробовал поменять хромдрайвер, но не вышло. Выходит - да, проблема локально только у меня появляется, а от чего - не понятно :-)
Это может быть из-за версии браузера. По крайней мере, я видела на stackoverflow, люди пишут, что даже некоторые версии хрома у них ни в какую не работают. В итоге они делают даунгрейд, потому что непонятно, как решить эту проблему. Что самое смешное, эти же версии хрома работают у других людей :) И с той же самой прогой.

Тут немного другая ситуация, я например качала последний Яндекс.Браузер. Может, тут наоборот апгрейд нужен? :-) По "переустановил" не совсем понятно, последнюю версию поставил или нет. А ещё я тестила не на сервере (ну уж очень мне не хотелось вырубать своего бота там), а на своём компе. У меня Windows 7. Вполне может быть, что из-за этого. В общем, это какой-то баг или хромдрайвера или Яндекс.Браузера (я конечно как нелюбитель последнего склоняюсь ко 2му варианту :-)). А вот ИЕ вроде бы должен был начать работать.

Кто думает о переходе на Селениум, обратите внимание на вот это всё :-) Там бывает такое. Не для слабонервных, в общем :-)
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)