Разделы · Парсеры и сбор данных
Пишу подробно, потому что вопрос всплывает у всех, кто работает с объёмами.
Вводные, чтобы не гадать.
Ставил 200 потоков, потом снижал до 80, разница по времени невелика. Прогон рассчитан на восемь часов, встаёт примерно на середине. Пробовал разбивать список на части по пятьдесят тысяч, стало ровнее.
Может, есть более простой путь, которого я не вижу.
Разбейте прогон на части, станет ровнее.
У меня картина совпадает почти полностью.
Память ест не число потоков, а хранение всего собранного в памяти до конца прогона. Пишите результат на диск пачками, и потолок пропадёт.
От себя добавлю по железу под адреса: своё оборудование у поставщика заметно ровнее аренды чужого. Беру серверные прокси с целыми подсетями как раз поэтому.
А что показывают логи в момент падения?
Начните с малого объёма и растите постепенно.
До этого работало? Что менялось перед тем, как сломалось?
Работает, пока объём небольшой. Дальше правила другие.
Скорость упирается не в программу, а в темп, который держит площадка. Ставить 300 потоков на 20 адресов бессмысленно, отказы съедят весь выигрыш.
Разметка на маркетплейсах меняется регулярно. Держите разбор в одном месте, чтобы правка занимала минуту, а не полдня.
Логи в помощь, без них это гадание.
Проверял на трёх проектах подряд, картина устойчивая.
Разметка на маркетплейсах меняется регулярно. Держите разбор в одном месте, чтобы правка занимала минуту, а не полдня.
Большие каталоги не надо гонять одним куском. Разбейте на части по пятьдесят тысяч, каждую с отдельным состоянием, и падение одной части перестанет ронять весь прогон.