У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
Друзья, подскажите по многопотоку!
-
@Ratom1 said in Друзья, подскажите по многопотоку!:
Приветствую! Такой вопрос - могу ли я запусть 2 потока на выполнение 1 задачи но с задержкой в 5 мин между запуском?
Все перепробовал, ничего не помогло...делай условие на номер потока. если поток номер 2 то timeout на 5 мин
как определить номер потока, ставить условие и делать таймаут есть инструкции/вики -
@tet-vivi
Есть действие "номер потока". Ну и ПОИСК. К примеру:
https://community.bablosoft.com/topic/3089/запуск-потоков-по-очереди-с-промежутком -
@denanotherday said in Друзья, подскажите по многопотоку!:
@tet-vivi
Есть действие "номер потока". Ну и ПОИСК. К примеру:
https://community.bablosoft.com/topic/3089/запуск-потоков-по-очереди-с-промежуткомесли выполнять 1 раз и со старта начинать отчет, то моего варианта достаточно.
там вариант избыточен при такой задаче.(по ссылке задача сильно различается)все зависит от задачи.
как я понял ему просто надо 2 поток запустить с задержкой.
для этого достаточно:- получить "номер потока"
- "номер потока" == 2 то выполнить таймаут