@DrPrime спасибо! сработало. удалил разные тестовые функции в который было куча nodejs кубиков и удалил из проекта несколько не нужных тестовых npm пакетов , после этого скрипт залился на сервер.
Как снизить нагрузку браузера BAS на сервер
-
А памяти при этом сколько остаётся?
-
@Bigma сколько ОЗУ при ошибке Timeout during creating new process, увы, не знаю, т.к. нет графика в панели такого. Только если ловить ошибку снова и смотреть в диспетчере. Но что-то я сомневаюсь, учитывая, что при полной загрузке там 70% свободно всегда.
-
@Bigma said in Как снизить нагрузку браузера BAS на сервер:
@doupiu замер сделай - запустил одно число через пару часов на сколько увеличится или нет память...
Мощный совет
На форуме тема не раз поднималась. ОЗУ и ЦПУ это последнее куда нужно смотреть.
Есть спец. софты под винду, по ним можно понять где узкое место. -
@FastSpace совет действительно мощный, учитывая что мне так и не ответили - вошёл ли исправленный модуль sql в новую сборку или нет. А он течет по памяти, и все модули использующие ноду имеют ту же болячку. И это первое что стоит проверить - не течет ли память.
-
Нашел в файле скрипта вот такие параметры:
<SettingsWorker>EnableFlash=false
EnableWidevine=true
AutostartDebug=false
SaveBrowserLog=false
ProfilesCaching=true
ToolboxHeight=502
MaxBrowserStartSimultaneously=3
MinFreeMemoryToStartBrowser=1500
MinUnusedCpu=35
ScenarioWidth=602
Zoom=100
IsMaximized=true
Restart=true
UseHumanLikeMouseMoves=true
DebugToolbox=false
DebugScenario=false
Languages=""
Modules=""
Canvas="disable"
CanvasNoise=""
Audio="disable"
QUIC="disable"
AudioNoise=""
MaxFPS=60
Webrtc="disable"
WebrtcIps=""
Webgl="disable"
WebglNoise=""
WebglRenderer=""
WebglVendor=""
Detector=false
</SettingsWorker>
И еле нашел, где это редактируется в интерфейсе (http://joxi.ru/12MnVZYi8XzQOA).Кто-нибудь работает с этими параметрами? Потому что мне они показались интересными в контексте проблемы, особенно MaxBrowserStartSimultaneously, MinFreeMemoryToStartBrowser, MinUnusedCpu, MaxFPS, но документации на это все я не нашел.
-
@doupiu said in Как снизить нагрузку браузера BAS на сервер:
Кто-нибудь работает с этими параметрами? Потому что мне они показались интересными в контексте проблемы, особенно MaxBrowserStartSimultaneously, MinFreeMemoryToStartBrowser, MinUnusedCpu, MaxFPS, но документации на это все я не нашел.
У каждого параметра есть описание в настройках
-
Кто-нибудь работает с этими параметрами?
@doupiu создай новый проект в режиме записи и там справа шестеренка будет с настройками проекта. там все это написано несколько лет.
Я бы поставил MaxBrowserStartSimultaneously=1
И поставил бы processhacker. Логика такая: если будет критический скачек по памяти, тогда раздуется своп файл и поднимется размер общей доступной памяти. Заходим на сервер , когда все крякнуло и смотрим увеличелось ли общее кол-во доступной памяти по сравнению с памятью после рестарта винды ( не пишу 16 гб, потому что там плюсом своп может быть сразу, тут лучше по факту после рестарта системы замерить )
-
@dung-bui спасибо, поковырялся по этим настройкам, вроде старт браузеров должен проходить лучше.
Но обнаружил еще одну особенность. Судя по диспетчеру задач, после завершения потоков браузеры как будто не закрываются полностью и копятся. Вероятно, это и является причиной того, что именно спустя 1-2 суток скрипт начинает крашится (накапливается слишком много браузеров). Приложил скрин
После завершения потока BAS по умолчанию полностью не убивает браузер? А как это сделать тогда?

-
@Fox Изучил весь форум на предмет этих параметров. Вычитал, что настройка "Перезапускать процесс в начале работы потока" (которая по умолчанию включена) уменьшает потребление ОЗУ, но нагружает проц. В моем случае, когда запас ОЗУ куда выше запаса проца, получается, эту галку можно отключить. Вопрос: а он процессы в итоге когда-то будет перезапускать, чтобы полностью не забить ОЗУ? В разных версиях упоминается то ли через 10, то ли через 100 раз он все же их перезапускает.
-
@doupiu said in Как снизить нагрузку браузера BAS на сервер:
ные
Есть скрипт, который работает с браузером в 20 потоков. То есть начинает поток, работает в браузере, через ~10 минут заканчивает, поток завершается, поток запускается снова. И так по кругу, то есть всегда активны 20 потоков с браузером.
Скрипт стоит на сервере с характеристиками:Intel Xeon Gold - 4ГГц х 10 ядер
16 Гб ОЗУПроблема
Спустя 1-2 суток потоки перестают создаваться из-за ошибки Timeout during creating new process. При этом нагрузка на ЦП не превышает 55%, ОЗУ занято меньше 5Гб. А когда начинает вылетать эта ошибка, так вообще нагрузка падает до 10% (но потоки все равно не создаются). График на скрине: http://joxi.ru/MAjDRbocYZq3zm. В моем понимании ресурсов сервера должно хватать с запасом на такое кол-во потоков. При 15 потоках такой ошибки не возникает, т.е. все-таки ресурсов впритык.А не проще ли запускать в 2 вариантах из разных директорий ?
На 15 и 5, если судить вашей логике то проблем не будет.
