Разделы · Лимиты, капчи и отказы
Пишу с логами, чтобы разговор был предметным.
После получаса простоя адреса возвращаются в работу сами. Часть адресов проходит спокойно, часть ловит проверку с первых минут. Пробовал уменьшить потоки вдвое, отказов стало меньше, но время выросло втрое.
12:04:11 200 ok 12:04:12 200 ok 12:19:38 429 too many requests 12:19:39 429 too many requests
Как считаете вы? Интересует порядок, а не общие слова.
Одно уточнение, иначе расчёт уедет.
Отказы волнами обычно означают, что счётчик сбрасывается по расписанию. Замерьте промежуток между волнами и подгоните темп.
Сколько адресов и какой темп при этом стоит?
От себя добавлю по железу под адреса: своё оборудование у поставщика заметно ровнее аренды чужого. Беру серверные адреса IPv4 как раз поэтому.
Начните с малого объёма и растите постепенно.
Тут есть тонкость, о которой обычно забывают.
Паузу ставьте с разбросом. Ровная пауза в две секунды заметнее, чем разброс от полутора до трёх, потому что ровный ритм это признак машины.
12:04:11 200 ok 12:04:12 200 ok 12:19:38 429 too many requests 12:19:39 429 too many requests
Работает, пока объём небольшой. Дальше правила другие.
Отказы волнами обычно означают, что счётчик сбрасывается по расписанию. Замерьте промежуток между волнами и подгоните темп.
12:04:11 200 ok 12:04:12 200 ok 12:19:38 429 too many requests 12:19:39 429 too many requests
Проверял это на своей задаче, вывод такой же.
Паузу ставьте с разбросом. Ровная пауза в две секунды заметнее, чем разброс от полутора до трёх, потому что ровный ритм это признак машины.
Расскажу, чем закончилось у меня.
Ровный порог отказов означает счётчик на стороне площадки. Считайте не потоки, а запросы с адреса за минуту, и подгоняйте темп под этот счётчик.
Код 200 с короткой заглушкой это тоже отказ, просто вежливый. Заведите проверку на размер ответа, иначе прогон соберёт пустоту и вы этого не заметите.
12:04:11 200 ok 12:04:12 200 ok 12:19:38 429 too many requests 12:19:39 429 too many requests
Почти так, но одна деталь меняет вывод.
Паузу ставьте с разбросом. Ровная пауза в две секунды заметнее, чем разброс от полутора до трёх, потому что ровный ритм это признак машины.
12:04:11 200 ok 12:04:12 200 ok 12:19:38 429 too many requests 12:19:39 429 too many requests
Так и есть, проходил через это в прошлом году.
После отказа адрес выводите из работы минут на двадцать. Возвращать его сразу бесполезно, счётчик ещё не остыл.
Отпишитесь, чем закончится, тема полезная.
Подтверждаю, у нас было ровно то же самое.
Уменьшение потоков помогает не всегда: если темп на адрес прежний, отказы останутся. Добавляйте адреса, а не убавляйте потоки.
Разнесите нагрузку по времени суток. Ночью площадки спокойнее не потому, что спят, а потому что общий поток меньше и ваш вклад в него не выделяется.
Одно уточнение, иначе расчёт уедет.
После отказа адрес выводите из работы минут на двадцать. Возвращать его сразу бесполезно, счётчик ещё не остыл.
Отказы волнами обычно означают, что счётчик сбрасывается по расписанию. Замерьте промежуток между волнами и подгоните темп.
12:04:11 200 ok 12:04:12 200 ok 12:19:38 429 too many requests 12:19:39 429 too many requests
До этого работало? Что менялось перед тем, как сломалось?