У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
по какой причине может невыходить функция на уровень вызвавшей ее.
-
Есть функция, внутри нее есть метки но только внутри нее. В запуске иногда наблюдаю проблему, в том что функция дорабатывает до конца, но не возвращается на уровень выше, который ее и вызвал. И там она еще и в ошибку обернута.
Тупо стопорит в конце этой функции.
Поставил в конце этой функции ретурн, но в запуске один фиг ретурн это и есть последнее действие, то есть не выходит на уровень выше.
Возможно это по причине выхода из цикла вайл по метке выше в этой функции...Может кто сталкивался.
-
@Nicolas Это 100% из-за меток.
-
@Nicolas said in по какой причине может невыходить функция на уровень вызвавшей ее.:
@UserTrue Спасибо, да, действительно была метка между функциями и в этом проблема.
Я в самом начале знакомства с БАС с этим столкнулся и с тех пор метки не использую ) Либо совсем редко в качестве костыля, что бы что-то проверить по быстрой
-
@Nicolas said in по какой причине может невыходить функция на уровень вызвавшей ее.:
Но вот между функциями их нельзя использовать походу
Да, между функциями нельзя