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