Большое количество потоков / высокая нагрузка.



  • Добрый день, подскажите как лучше делать.
    Надо 200-300 потоков, железо (Xeon E5649 ( 24 х 2,67 - 2,93 ггц) / 32GB DDR3 / Диск SSD. ) .

    При 100 потоках комп уже почти умирает, то есть дополнительно кроме как BAS + Capmonster ничего не запустить. При этом нагрузка на проц 10-20%, оперативы 10-18 гб.
    Так вот вопрос, если запускать несколько копий допустим по 20-30 потоков, будет ли легче "справится" с такой нагрузкой. Или же не имеет значение, и это уже предел как таковой? :(

    По скриптам - не сильно тяжелые, большое количество слипов и т.д :(



  • @kibec Не используйте браузер, тогда нагрузка будет намного меньше) Ну а на счет того, чтобы запускать несколько копий думаю даже больше будет нагрузка(точно не скажу, потому что больше 10 не запускал)



  • @kibec

    нагрузка на проц 10-20%, оперативы 10-18 гб.

    Это разве умирает, если проц используется на 10-20% а оператива на 50%

    Запускать несколько копий БАС не поможет.
    Нагрузку на проц может уменьшить пропуск кадров побольше http://prnt.sc/cvcmdm
    и отключить картинки, скрипты

    Еще можно поискать флаги хрома, которые отключают разные плюхи и поместить их в файл chrome_command_line.txt



  • @support Пропуск кадров не влияет на выполнение скрипта?(ошибок больше не будет) И как можно отключить скрипты?



  • @Canine

    Пропуск кадров не влияет на выполнение скрипта?(ошибок больше не будет)

    90% нет. Но могут быть ситуации. Например, идет клик сначала по элементу, который изменяет высоту страницы(закрывает меню), а затем по другом элементу. С большим пропуском кадров высота страницы не успеет поменятся до начала второго клика, в результате чего координаты будут посчитаны неверно.

    И как можно отключить скрипты?

    Запрещая запросы по маске *.js http://wiki.bablosoft.com/doku.php?id=ru:how_to_restrict_access_to_certain_urls



  • @support А пропуск кадров настраивается на весь скрипт, или можно его как то в потоках настраивать?
    К примеру у меня 40 потоков, 1 поток следит за ситуацией на сайте и через глобальные переменные даёт команду остальным 39 потокам.. Вот 1 потоку бы так и оставить как было, а остальным 39 уменьшить, хоть до 1 кадра в секунду..



  • @Fox Пока только для всего скрипта.



  • @kibec said in Большое количество потоков / высокая нагрузка.:

    нагрузка на проц 10-20%, оперативы 10-18 гб.
    Так вот вопрос, если запускать несколько копий допустим по 20-30 потоков, будет ли легче "справится" с такой нагрузкой. Или же не имеет значение, и это уже предел как таковой? :(

    у меня почти довольно часто бывает такая похожая ситуация, на ЦПУ нагрузки нет, память свободка, а БАС дико тупит, например переключившись в консоль ее даже проскролить почти не возможно, задержка скрола по 5с. Нажать "стоп" в режиме записи при этом занимает также несколько секунд. Причем в данный момент, в ОС остальные приложение работают шустро, все ок, т.е. ресурсы ОС не нагружены. На этом же ПК в хроме эта же страница раз в 10 быстрее отрабатывает.

    как можно понять, где грабли? какой-то JS на странице может так подвешивать браузер БАСа или Flash плагин может так повесить?



  • @Sevenup

    какой-то JS на странице может так подвешивать браузер БАСа или Flash плагин может так повесить?

    Flash - нет, а вот ресурсоемкие вычисления в js могут. Например, чтение больших файлов, или их обработка.
    Тут нужен профайлер чтобы определить какое действие занимает больше всего времени. Сейчас что-то придумаю.



  • @support said in Большое количество потоков / высокая нагрузка.:

    @Sevenup

    какой-то JS на странице может так подвешивать браузер БАСа или Flash плагин может так повесить?

    Flash - нет, а вот ресурсоемкие вычисления в js могут. Например, чтение больших файлов, или их обработка.
    Тут нужен профайлер чтобы определить какое действие занимает больше всего времени. Сейчас что-то придумаю.

    дело в том, что рядом (запущенном на этом же ПК) в хроме эта же страница летает. профайлером в браузере прошелся, ресурсоемких вычислений не нашел, все довольно просто. как прикрутить профайлер к БАСу пока не придумал :)

    предполагаю, что есть какие-то методы в JS, которые под собранным хромиумом в БАСе работают как-то иначе и возможно это дает такой эффект.



  • This post is deleted!


  • @Sevenup

    Что делать если основной интерфейс БАС подвисает?

    1. Перезапускаем софт.
    2. Меню -> Отчеты -> Измерять время выполнения действий -> Солашаемся.
    3. Запускаем скрипт(режим запуска).
    4. Снова заходим в "Измерять время выполнения действий", в подвисании выиноваты действия вверху таблицы.

    Пример работы:
    https://www.youtube.com/watch?v=buHNU5E8qfs&feature=youtu.be

    Сборка БАС, или используйте версию 20.2.0 и старше:
    https://www.dropbox.com/s/o5haxvs6e4mp0vc/BrowserAutomationStudioInstallAllInOne.exe?dl=0



  • http client явно плохо оптимизирован
    Сделал только что тест на двоих софтах BAS и его платный аналог
    Логика скрипта в обоих софтах такая:
    В цикле while(true) get запрос без прокси и пауза 2 сек (без использования ресурсов )

    Результат BAS в 300 потоков: нагрузка на проц 8-12% в среднем
    Результат Платного аналога в 300 потоков: нагрузка на проц 3-5% в среднем

    Если требуется могу сделать видео сравнения



  • @vndes43ta пользуйтесь платным аналогом, в чём проблема? Не замечал чрезмерной нагрузки, всё в норме!


Log in to reply