У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
Вопрос к знатокам BAS-JS
-
@olegar said in Вопрос к знатокам BAS-JS:
Как в действии "яваскрипт на элементе" получить
width следующего соседа (next sibling)?А не проще обратиться сразу к необходимому элементу через селектор?
-
@olegar said in Вопрос к знатокам BAS-JS:
не могу, циклом прохожу по нужному элементу, но и следующий мне тоже нужен(внутри цикла), как и тот по которому циклом прохожу. Может есть другой какой способ, но я чета не додумался.
Ну в таком случае опишите изначальную задачу которую вы пытаетесь решить этим способом
-
"начать цикл" -> "получить координаты"([[FOR_EACH_XPATH]]>AT>[[CYCLE_INDEX]]) -> что то там делаю с этими координатами
Но мне нужны координаты не только вот этого элемента - [[FOR_EACH_XPATH]]>AT>[[CYCLE_INDEX]]
а еще и его соседа. Точнее его размер -
<div> <div class='one'> <div class='two'> <div> <div> <div class='one'> <div class='two'> <div> <div> <div class='one'> <div class='two'> <div>начать цикл (>XPATH>\\div[@class='one'])
получаем координаты <div class='one'> [[FOR_EACH_XPATH]]>AT>[[CYCLE_INDEX]]
ВОПРОС как получить координаты <div class='two'> *Добавлю, который находится рядом с [[FOR_EACH_XPATH]]>AT>[[CYCLE_INDEX]]
конец цикла -
@Vituskosoy отлично! В точку