позиции · сбор данных · отчёты
реклама IPrazon Network: приватные прокси IPv4 и SOCKS5, около 12 000 адресов, безлимитный трафик, тест до 2 часов

Разделы · Парсеры и сбор данных

Прогон на 2 миллиона адресов: как разбить и не потерять состояние

10 ответов · 2 922 просмотров
знак участника Виктор Лаптев
Виктор ЛаптевНовичок
  • сообщений 230
  • на форуме 1 года
Парсеры и сбор данных

Собираю данные регулярно, софт привычный, и вот на чём споткнулся.

Данные собираются, но при сверке не хватает примерно пятнадцати процентов записей. На маленьком объёме всё работает, разница начинается после ста тысяч.

Прогон на 2 миллиона адресов: как разбить и не потерять состояние: разбор в цифрах
Прогон на 2 миллиона адресов: как разбить и не потерять состояние: как это выглядит у меня

Кто как это обходит?

знак участника Ильдар М.
Ильдар М.Участник
  • сообщений 1 010
  • на форуме 7 мес
полезный ответ
Виктор Лаптев писал: Прогон на 2 миллиона адресов: как разбить и …

Одно уточнение, иначе расчёт уедет.

Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.

знак участника regionfix
regionfixНовичок
  • сообщений 525
  • на форуме 1 года

У нас на прошлом проекте это выглядело так.

Большие каталоги не надо гонять одним куском. Разбейте на части по пятьдесят тысяч, каждую с отдельным состоянием, и падение одной части перестанет ронять весь прогон.

знак участника Ковтун
КовтунНовичок
  • сообщений 468
  • на форуме 11 мес

Так и есть, проходил через это в прошлом году.

Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.

знак участника Ефремова Н.
Ефремова Н.Участник
  • сообщений 1 465
  • на форуме 5 мес

А что показывают логи в момент падения?

А что показывают логи в момент падения?

знак участника csv_i_slezy
csv_i_slezyЗнаток
  • сообщений 2 180
  • на форуме 3 мес

У меня картина совпадает почти полностью.

Скорость упирается не в программу, а в темп, который держит площадка. Ставить 300 потоков на 20 адресов бессмысленно, отказы съедят весь выигрыш.

знак участника serpwatch
serpwatchЗнаток
  • сообщений 2 610
  • на форуме 2 мес

Пришёл к этому не сразу, сначала сделал ошибку.

Потери записей чаще всего идут из-за коротких ответов, которые программа считает успешными. Заведите проверку на минимальный размер ответа и на наличие обязательного куска разметки.

знак участника Емельян Ц.
Емельян Ц.Знаток
  • сообщений 2 130
  • на форуме 3 мес

Подтверждаю, у нас было ровно то же самое.

Память ест не число потоков, а хранение всего собранного в памяти до конца прогона. Пишите результат на диск пачками, и потолок пропадёт.

знак участника obhod_night
obhod_nightУчастник
  • сообщений 1 495
  • на форуме 5 мес

Согласен с предыдущим ответом, но с одной оговоркой.

Память ест не число потоков, а хранение всего собранного в памяти до конца прогона. Пишите результат на диск пачками, и потолок пропадёт.

знак участника Артём Гринь
Артём ГриньУчастник
  • сообщений 1 284
  • на форуме 4 мес
Виктор Лаптев писал: Прогон на 2 миллиона адресов: как разбить и …

Работает, пока объём небольшой. Дальше правила другие.

Потери записей чаще всего идут из-за коротких ответов, которые программа считает успешными. Заведите проверку на минимальный размер ответа и на наличие обязательного куска разметки.

$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt
обработано: 48 210 / 50 000
пустых ответов: 1 842

Отпишитесь, чем закончится, тема полезная.

знак участника Полина Ржевская
Полина РжевскаяУчастник
  • сообщений 715
  • на форуме 10 мес

Проверял это на своей задаче, вывод такой же.

Скорость упирается не в программу, а в темп, который держит площадка. Ставить 300 потоков на 20 адресов бессмысленно, отказы съедят весь выигрыш.

$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt
обработано: 48 210 / 50 000
пустых ответов: 1 842
Ответить в темеПодписаться

Рядом в разделе

Сеометр, форум специалистов по поиску и аналитике ПравилаУчастникиО форумеЛента 2026