Разделы · Парсеры и сбор данных
Собираю данные регулярно, софт привычный, и вот на чём споткнулся.
Вводные, чтобы не гадать.
Ставил 200 потоков, потом снижал до 80, разница по времени невелика. Каталог на 400 тысяч адресов, память на машине 32 гигабайта.
Как считаете вы? Интересует порядок, а не общие слова.
Проверьте, что настройка вообще применилась.
Разбейте прогон на части, станет ровнее.
Всё верно написали выше, добавлю от себя пару деталей.
Разметка на маркетплейсах меняется регулярно. Держите разбор в одном месте, чтобы правка занимала минуту, а не полдня.
Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.
Так и есть, проходил через это в прошлом году.
Потери записей чаще всего идут из-за коротких ответов, которые программа считает успешными. Заведите проверку на минимальный размер ответа и на наличие обязательного куска разметки.
$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt обработано: 48 210 / 50 000 пустых ответов: 1 842
У нас на прошлом проекте это выглядело так.
Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.
Уменьшите потоки вдвое и замерьте заново.
Тут ничего нового не скажу, только подтвержу.
Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.
Работает, пока объём небольшой. Дальше правила другие.
Потери записей чаще всего идут из-за коротких ответов, которые программа считает успешными. Заведите проверку на минимальный размер ответа и на наличие обязательного куска разметки.
Считаю так же, и цифры у меня близкие.
Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.
Тут есть тонкость, о которой обычно забывают.
Память ест не число потоков, а хранение всего собранного в памяти до конца прогона. Пишите результат на диск пачками, и потолок пропадёт.
$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt обработано: 48 210 / 50 000 пустых ответов: 1 842
Если поможет, напишите здесь же, пригодится следующим.
Всё верно написали выше, добавлю от себя пару деталей.
Скорость упирается не в программу, а в темп, который держит площадка. Ставить 300 потоков на 20 адресов бессмысленно, отказы съедят весь выигрыш.
Хороший разбор, добавлю в закладки.
Считаю так же, и цифры у меня близкие.
Если данные отдаются скриптом, обычный сбор их не увидит. Смотрите, откуда страница берёт содержимое: часто рядом есть простой запрос, который отдаёт то же самое в удобном виде.
Память ест не число потоков, а хранение всего собранного в памяти до конца прогона. Пишите результат на диск пачками, и потолок пропадёт.
Хороший разбор, добавлю в закладки.
Подтверждаю, у нас было ровно то же самое.
Память ест не число потоков, а хранение всего собранного в памяти до конца прогона. Пишите результат на диск пачками, и потолок пропадёт.
Проверьте, что настройка вообще применилась.
Какая версия программы и что с настройками по умолчанию?