У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
Вопрос по премиум версии BAS (исходник)
-
Вот здесь имеется подробная инструкция по сборке:
https://wiki.bablosoft.com/doku.php?id=how_can_i_change_bas_and_compile_for_premium -
@support_dan Флаги в диалоге компиляции "Install BAS engine inside AppData folder" и "Copy executable to run script in console mode" работают только в премиуме?
-
@Antonio Я не заметил какой-либо разницы при включении и выключении этих флагов. Вся обвязка в любом случае ставится в одну кубышку, и в AppData ничего не появляется. Набор исполняемых файлов тот же. Куда смотреть?
Кроме того, в авгстовских исходниках в гитхабе ничего про них вроде бы нет.
-
@daemons, ну это странно. Если первую галку не ставить, то для каждого скомпилированного скрипта в его папку скачивается движок целиком. Если ставить, то папка со скриптом меньше 500мб весит (после первого запуска). Экономит место если много версий или скриптов разных. Ну и экзешник для сайлент мода должен появляться при второй галке.
-
@Antonio Сайлент мод и так поддерживается как RemoteExecuteScript, так и FastExecuteScript через флаг командной строки --silent.
В гитхабе никакой логики, кроме как скачки движка целиком или заново развертывания уже скачанного, нет. Может, конечно, эта логика появилась после августа, но у меня никакого эффекта этот флаг не оказывает.
Скажите, у вас с этим флагом при развертывании в продуктиве через RemoteExecuteScript появляется что-то в AppData?
-
@Antonio Спасибо. А не затруднит вас прислать структуру директории
<ProjectDir>/appslocal/SIDxxxx/engine?
По идее, BAS должен перечислить все файлы в<ProjectDir>/appslocal/SIDxxxx/engine/filelist.txtТ.е. не могли бы вы прислать этот файл?
-
@daemons, сейчас с галкой и без галки про AppData скомпилировал скрипт и понял, что в AppData храниться только архив с движком engine.zip (153mb). И вот этот архив только и экономит место, потому-что из него все равно распаковываются файлы в папку со скомпилированным скриптом. Т.е. движок все равно в каждой папке есть, а не как я думал. Просто этот архив каждый раз не перекачивается с сервера БАСа и не плодит свои копии.