Здравствуйте Пользуюсь парсером HTML::LinkExtractor без прокси в 300 потоков и настройкой Parse to level 1, для списка доменов. Если парсить без Parse to level, то скорость хорошая порядка 8000-10000, а с активированной падает до 100-200. Я думаю это из за того, что парсится один и тот же сайт во всех потоках, можно ли сделать, что бы в каждом потоке парсились разные сайты или есть другое решение увеличить скорость?
Такой возможности нет, т.к. парсер старается чтобы необработанные запросы не разрастались, поэтому обходит сайты по порядку
А если собрать ссылки в фаил, далее перемешать в файле и парсить, должно ускориться ?) есть возможность перемешать посредством парсера?
Такой возможности нету. Врядли, ведь то время которое вы потратите на сбор-перемешивание, скорее всего будет больше, чем сэкономленное время (это при условии, что работа действительно ускорится - а проверить это можно только попробовав).
сделал тест на небольшом кол-во доменов 200к скорость увеличилась sort -R file.txt >>file_rand.txt перемешать случайно теоретически абуз должно меньше быть, т.к. парсим с разбросом по времени, а не всю кучу.
Было бы хорошо иметь опцию по теме данного топика. чтобы спаршенные линки следующего уровня добавлялись в отдельный массив и перемешивались. а использовать после исходных линков только. 1000 потоков на сайт тормозят и сам сайт и парсинг в общем. а если 1000 сайтов по 1 потоку то уже другое дело.