У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
как сделать одинаковую работу скрипта для Record & Run
-
возможно ли сделать функцию чтобы работала в Record & Run?
если сделать функцию через GUI то работает только в Run
иначе [17:28:46] Thread #1 : ReferenceError: Can't find variable: myFunc1 during execution of actionесли через модуль то работает только в Record.
непонятно почему так.
по идее один и тот же скрипт должен работать одинаково. -
@jason said in как сделать одинаковую работу скрипта для Record & Run:
возможно ли сделать функцию чтобы работала в Record & Run?
если сделать функцию через GUI то работает только в Run
иначе [17:28:46] Thread #1 : ReferenceError: Can't find variable: myFunc1 during execution of actionесли через модуль то работает только в Record.
непонятно почему так.
по идее один и тот же скрипт должен работать одинаково.О какой фунции речь?
-
@jason said in как сделать одинаковую работу скрипта для Record & Run:
function in scenario editor
Я не об этом. Если вы хотите создать функцию с действиями BAS, то эту тему уже поднимали
https://community.bablosoft.com/topic/7778/баг-ф-ции-sleep-в-if-условии/15Для использования локальной функции в разных функциях BAS, поместите её в глобальную переменную:
toster = function(n){ log(n) }Тестовый скрипт
-
@Fox Он видимо имеет ввиду, что если создать функцию через интерфейс, то вызвать ее в редакторе через код не получится. Это действительно так.
@jason Но вы странный человек, сколько вам писали, что бас не предназначен для работы через API, сам разработчик БАС писал, что не гарантирует нормальной работы и не будет его развивать в этом направление. Поэтому смиритесь и учитесь писать кубиками или ищите другой софт, но если вы мазахист у которого дофига времени, то успехов вам. Форум таким вопросами засирать смысла нет.
-
@jason said in как сделать одинаковую работу скрипта для Record & Run:
как правильно вызвать
toster = function(n) {
log('pre')
sleep(400)!
log(n)
return '>>' + n
}такой не работает
очень запутано в docsНи как
-
работает p3-async.xml скрипт
вызывает асинк с параметрами из ноды