На большом количестве потоков многие сайты не парсятся

  • Автор темы Автор темы yadzha
  • Дата начала Дата начала

yadzha

A-Parser Pro License
A-Parser Pro
Доброго времени всем,
Заметил такую беду. Ставлю количество потоков 2000, запускаю парсер, собираю с множества сайтов регуляркой определенную информацию. Процессор загружен на 5-10%, все летает нормально. Но что-то дернуло меня перепроверить данные вручную. Заметил, что на некоторых сайтах необходимая информация присутствует, а парсер ее не смог вытащить.

Далее делаю тесты. При запущенном основном парсере запускаю тестовый парсинг, сайт выдает 596 ошибку. Останавливаю основной парсер и вуаля - тестовый парсер вытащил необходимую инфу.

Собственно вопрос, что за ерунда такая происходит? Как понимаю, слишком много потоков в работе, из за чего какие-то сайты не открываются. Но процессор ведь не нагружен совершенно, памяти предостаточно. Как понять, какой безопасный лимит потоков, чтобы парсер открывал все сайты и чтобы информация не пропадала ?
 
Последнее редактирование:
Я не использую прокси. 1 сайт = 1 запрос. Сайтов несколько миллионов, прокси ненужны.

Подозреваю, что эта проблема из за лимита по ДНС запросам от Google 8.8.8.8. Собственно вопрос, возможно ли настроить A-parser таким образом, чтобы распределить нагрузку между несколькими разными ДНС серверами?
 
Покажите скрин неудачного запроса в логе задания
cdf3dd561f.png


Запустил парсер в 3000 потоков. Как видно из лога, очень многие сайты отдают ошибку 596. При этом, через браузер захожу на эти сайты - все ОК, открываются. Также, если останавливаю основной многопоточный парсер и запускаю тестовый парсинг для каждого из этих сайтов, там все ОК, по одному сайты парсятся корректно.
 
cdf3dd561f.png


Запустил парсер в 3000 потоков. Как видно из лога, очень многие сайты отдают ошибку 596. При этом, через браузер захожу на эти сайты - все ОК, открываются. Также, если останавливаю основной многопоточный парсер и запускаю тестовый парсинг для каждого из этих сайтов, там все ОК, по одному сайты парсятся корректно.

Слишком большое кол-во потоков.
к примеру если 100 мбит подключение, то
100 * 1024 / 3000 = 34.1333333333333

это значит что каждый сайт должен грузится со скоростью 34кбит\с
 
Канал на сервере 500мбит. Сейчас вот запустил 200 потоков, 596 ошибок стало сильно меньше (около 5-10% от общего кол-ва), но все равно это ерунда какая-то. Мощный сервер, широкий канал, а парсит через пень-колоду. Все таки думаю, что это проблема с ДНС. Нашел в хелпе такую функцию :

5a9e24ae7f.png


Работает ли этот функционал? Можно создать конфиг файл и добавить в него с десяток разных ДНС серверов?
 
Назад
Верх