@WarHouse http://bablosoft.com/distr/BrowserAutomationStudio/23.2.2/BrowserAutomationStudioInstallAllInOne.exe - вот вам ссылка на скачивание старого билда. Но на новую версию всё равно переходить в итоге придётся, откатываясь, вы лишь отсрочиваете этот момент, не более...
Многопоток (100+)
-
У меня связь с бд у каждого бота потока своя,
так как изменения о том что бот поток запущен, нужно вносить в базу что снова этот бот не был выбран другим потоком,
при любой причине остановке потока нужно вносить изменения связанные с тем что поток остановлен, это это через супер глобальный массив потоков.
кроме того нужно вносить изменения сколько за каждую сессию бот заработал.
Короче там достаточно много взаимодействий каждого потока с базой, и как это все вынести в отдельный поток просто не предтавляю, так как изменения должны вноситься полюбому и своевременно, иначе если будут запушены 2 аккаунта разными потоками с разными ip, то все хана блокировка этих акков.
С бд mysql работаю уже лет 10, так что мне она наиболее знакома, и для моих целей полностью подходит, на счет других бд не знаю с ними не работал. -
@gomeapat по описанию можно сделать потоки через асинхронные функции.
запуск функции - запрос в бд,
завершение функции - запрос в бд.и все запуски и запросы через основной поток, который запускает и ждет пока функция/поток не исполнит задачу
-
@gomeapat said in Многопоток (100+):
На производительность в многопотоке очень сильно влиет параметр из настроек проекта
Пропуск кадров
у меня на 3900x 128 гиг оперативы c пропуском 0 кадров максиум идет 40-50 потоков, потом комп начинает тормазить
а если ставлю пропуск 60 то и 120 потоков тянет, где то только на половину нагружая проц, думаю 200 точно должен вытянуть
Так что советую Вам играться с параметром Пропуск кадров, так как это может в разы увеличить максимальное кол-во используемых Вами потоков.В качестве бд использую mysql 8 c увеличиной настройкой максимальных соединений
Connection Settings
max_connections = 8192
так как у меня там пулы соеденений по 32 штуки на поток
без этой настройки короче часто бд просто падалаА не влияет ли как-то пропуск кадров на то, как нас видит сайт?
-
@Evheniu said in Многопоток (100+):
А не влияет ли как-то пропуск кадров на то, как нас видит сайт?
Чисто в теории может заметить наверное делая замеры производительности. И из-за пропуска кадров могут происходить ошибки в работе сайтов, плюс сам скрипт работает гораздо медленней. Я его не использую.
-
@UserTrue said in Многопоток (100+):
@Evheniu said in Многопоток (100+):
А не влияет ли как-то пропуск кадров на то, как нас видит сайт?
Чисто в теории может заметить наверное делая замеры производительности. И из-за пропуска кадров могут происходить ошибки в работе сайтов, плюс сам скрипт работает гораздо медленней. Я его не использую.
Спасибо, я тоже стараюсь не использовать эту функцию
-
@UserTrue said in Многопоток (100+):
@Evheniu said in Многопоток (100+):
А не влияет ли как-то пропуск кадров на то, как нас видит сайт?
Чисто в теории может заметить наверное делая замеры производительности.
Так есть же эмуляция производительности.
-
@FastSpace said in Многопоток (100+):
Так есть же эмуляция производительности.
Ну ну ) Хотя я не использую совсем не из-за этого, а как уже писал выше из-за того что падает скорость выполнения потока и возможны ошибки. Сомнительная выгода
-
@FastSpace said in Многопоток (100+):
@UserTrue said in Многопоток (100+):
@Evheniu said in Многопоток (100+):
А не влияет ли как-то пропуск кадров на то, как нас видит сайт?
Чисто в теории может заметить наверное делая замеры производительности.
Так есть же эмуляция производительности.
А ты используешь пропуск кадров?
Если да, сколько пропуск ставишь?
А ты заменяешь действие спать,на выполнить код и там что-то типа sleep?
-
Спасибо всем, попробую поиграться и с пропуском тоже.
Потому как уже не знаю, что что грешить.У виртуалки 128 Гб оперативы, 32 ядра проца (16 по 2 сокета), диск поставил на максимальное FastSSD.
Остаются только настройки самого BAS. -
@AngelOfAncient said in Многопоток (100+):
Спасибо всем, попробую поиграться и с пропуском тоже.
Потому как уже не знаю, что что грешить.У виртуалки 128 Гб оперативы, 32 ядра проца (16 по 2 сокета), диск поставил на максимальное FastSSD.
Остаются только настройки самого BAS.На сколько потоков тебе хватает такой конфигурации?
-
@Evheniu На ~200 (Если по процу и памяти, 200 загруженных Твичей с запретом на видео и картинки). Но тормоза не из-за системных ресурсов. Грешу на SSD (Создание или обращение к 200 профилей примерно одновременно) - типа I\O Error, может не успевает писать на диск.
-
@AngelOfAncient said in Многопоток (100+):
типа I\O Error, может не успевает писать на диск.
можно подумать о https://ru.wikipedia.org/wiki/RAM-диск
-
@tet-vivi Я беру диск в облаке! В ЦОДе.
Там должно быть всё нормально с этим)
И так самый быстрый SSD у них взял.
Но под виртуалкой ещё RAM-диск запустить.
Хм... Ну можно пробнуть.
Только что там хранить?
Если BAS установлена на системном, она и обращаться будет к нему же.
Или если весь релиз приложеньки вылить на RAM-диск, то он и работать будет только с него? -
@AngelOfAncient профили. но не забыть бекапить(RAM при отключении железа очистится)
-
Ошибки конечно из за включения пропуска кадров, возможны
например с поиском элементов в iframe
Так что нужно это все хорошо тестировать.
Задержки в скорости работы со включенным пропуском кадров, я не заметил но может они и есть, я тесты на это не делал.
На работу моего скрипта это ни какого существенного влияния не оказывает.
А вот выигрыш с 40 - 50 потоков до 200 на моей системе для меня имеет принципиальное значение. -
@tet-vivi said in Многопоток (100+):
запуск функции - запрос в бд,
завершение функции - запрос в бд.
и все запуски и запросы через основной поток, который запускает и ждет пока функция/поток не исполнит задачуА как тогда смотреть что там в каждом браузере происходит
Я сейчас через запуск скрипта иногда смотрю что там в каждом браузере происходит
А если там запустить 50 браузеров ассинхроно то как тогда смотреть что в них происходит? -
@gomeapat said in Многопоток (100+):
А как тогда смотреть что там в каждом браузере происходит
Я сейчас через запуск скрипта иногда смотрю что там в каждом браузере происходит
А если там запустить 50 браузеров ассинхроно то как тогда смотреть что в них происходит?там так же можно будет посмотреть как и в обычном режиме
-
@gomeapat said in Многопоток (100+):
Ошибки конечно из за включения пропуска кадров, возможны
например с поиском элементов в iframe
Так что нужно это все хорошо тестировать.
Задержки в скорости работы со включенным пропуском кадров, я не заметил но может они и есть, я тесты на это не делал.
На работу моего скрипта это ни какого существенного влияния не оказывает.
А вот выигрыш с 40 - 50 потоков до 200 на моей системе для меня имеет принципиальное значение.А какой пропуск кадров дал такой прирост?
-
@Evheniu
Я так понимаю что пропуск кадров связан в первую очередь с тем как быстро будет отрисовываться интерфейс у браузера, чем реже его нужно отрисовать тем меньше нагрузка на процессор, но так же это влияет и на нагрузку которую создает сам браузер, браузер становится как бы ленивым.
Конкретные цифры прироста производительности я не замерял,
но поставьте к примеру сначало 5 посмотрите что б не было ошибок
далее ставьте 10 и снова смотрите на ошибки и так найдете оптимальные настройки под Ваш сайт и скрипт
Еще раз пишу что настройка пропуск кадров подойдут далеко не для всех сайтов, поэтому нужно внимательно смотреть на каждый отдельный случай. -
Сделал на скорую руку замеры с пропуском кадров = 75 и без. С пропуском кадров скорость выполнения упала примерно на 30-35%, но учитывая снижение нагрузки на процессор профит из-за увеличения числа потоков будет. Другой момент на графике вебвизора этот пропуск кадров сильно заметен, я не знаю как этому отнесется тот же яндекс.
