Потоки или гигабайты: как посчитать, какая тарификация дешевле под вашу задачу
Сравнивать «650 рублей за 50 потоков» с ценой за гигабайт бессмысленно напрямую: это разные единицы. Но точка, в которой одна становится выгоднее другой, считается — и считается из двух чисел, которые можно измерить за десять минут на своей же задаче.
Две единицы и что каждая из них ограничивает
Потоковая тарификация ограничивает, сколько запросов может идти одновременно, и ничего не говорит про объём. Трафиковая ограничивает объём и ничего не говорит про конкурентность. Отсюда простое следствие: выгоднее та единица, по которой ваша задача расходует меньше.
У нас счёт идёт по одновременным подключениям, а трафик на ротационных тарифах не тарифицируется вовсе. Резидентные и мобильные адреса на рынке почти всегда продаются за гигабайты. Значит вопрос сводится к профилю задачи: много мелких запросов или мало тяжёлых.
Два числа, которые надо измерить
Первое — средний размер ответа. Его не надо оценивать на глаз, curl отдаёт его прямо. Второе — пиковая конкурентность, то есть сколько запросов находится в работе одновременно. Её обычно путают с числом запросов в секунду, а это не одно и то же.
# Средний размер ответа по десятку типичных страниц
for u in $(head -10 urls.txt); do
curl -s -o /dev/null -w '%{size_download}\n' "$u"
done | awk '{s+=$1} END {print s/NR " байт в среднем"}'
# Заодно среднее время ответа — оно понадобится для потоков
for u in $(head -10 urls.txt); do
curl -s -o /dev/null -w '%{time_total}\n' "$u"
done | awk '{s+=$1} END {print s/NR " с в среднем"}'Как из этого получаются потоки
Конкурентность — это произведение частоты запросов на время ответа. Тридцать запросов в секунду при ответе за секунду с небольшим означают около трёх десятков одновременно открытых запросов, и именно это число должно поместиться в тариф. Считать по числу запросов в сутки нельзя: миллион запросов, размазанный по суткам, требует единиц потоков, а тот же миллион за час — десятков.
Если логи прошлых запусков уже есть, конкурентность по ним считается точнее любой формулы: возьмите метки времени начала и конца каждого запроса и найдите максимальное число интервалов, пересекающихся в одной точке. Формула через частоту и время ответа даёт среднее, а тариф должен покрывать пик — а пик у неровной нагрузки бывает вдвое выше среднего.
# Что нужно измерить, а не угадать
Средний размер ответа 4 КБ <- curl -w '%{size_download}'
Запросов в сутки 500 000
---------
Трафик в сутки ~2 ГБ
Трафик в месяц ~60 ГБ
# Пиковая конкурентность — сколько запросов идёт одновременно
Запросов в секунду 30
Среднее время ответа 1.2 с
---------
Нужно потоков ~36 <- 30 x 1.2, закон Литтла
# Тариф: 50 потоков перекрывает 36 с запасом.
# Трафик на ротационных тарифах не тарифицируется, поэтому 60 ГБ в счёт не идут.Где выгоднее гигабайты
Симметрично и честно: если ответов мало, но они тяжёлые, потоковая тарификация проигрывает. Скачивание файлов, выгрузка медиа, десяток параллельных загрузок по сотне мегабайт — здесь конкурентность крошечная, а объём огромный, и платить за потоки невыгодно. Наш продукт для такой задачи — не лучший выбор, и об этом проще сказать заранее, чем разбираться в возврате.
Ориентир для прикидки: килобайт на миллион запросов — это примерно гигабайт. Если ваш профиль это сотни тысяч ответов по несколько килобайт, объём получается смешным, а конкурентность — настоящим ограничением. Если наоборот — считайте по объёму.
Как понять, что платите за простой
Обратная задача встречается не реже. Признак простоя — тариф заметно больше посчитанной конкурентности, при этом задание не ускоряется от добавления потоков в самой программе. Это значит, что предел не в прокси: узкое место в задержке цели, в разборе страниц или в вашем же ограничителе частоты.
Отдельная статья расписывает, где программы расходуют потоки незаметно, — например встроенный чекер прокси в A-Parser по умолчанию занимает пятнадцать. Прежде чем сокращать тариф, стоит проверить, не съедает ли их что-то вспомогательное.
Чего в этой арифметике нет
- Цены конкурентов: они меняются чаще, чем правится статья, и приводить их значило бы вводить в заблуждение через месяц.
- Обещаний, что потоковая тарификация выгоднее всегда. Она выгоднее при высокой конкурентности и мелких ответах — это условие, а не свойство.
- Учёта повторов. Ретраи тратят и потоки, и трафик; при агрессивной политике повторов оба числа надо умножать, и как считать паузы, разобрано в статье про 429.
Практический итог: измерьте два числа на своей задаче, посчитайте конкурентность и сравните с тарифом. Десять минут измерений экономят месяц оплаты не того продукта — в любую из двух сторон.
Тариф под посчитанную конкурентность
Ротационные IPv6 — от 650 ₽ за 50 потоков, IPv4 — от 1375 ₽ за 100, трафик не тарифицируется. Начать разумно с 50 и поднять, когда упрётесь в предел.
Смотреть тарифыПрокси под эту задачу
Проверить нашими инструментами
Читайте также
- Сколько потоков ставить в парсере под тариф прокси: A-Parser, Key Collector, ZennoPoster, NetpeakПотоки считаются суммой по всем задачам, включая чекер прокси. Разбор, где потолок ставит программа, где лицензия, а где самый дешёвый тариф уже избыточен.
- Датацентровые прокси против резидентных: чего честно ждать от серверных адресовМы продаём только серверные и ISP-подсети. Как тип адреса определяется на самом деле, почему ротация внутри подсети не меняет сеть, где серверные справляются и где проигрывают принципиально.
- HTTP или SOCKS5: какой протокол прокси выбрать под ваш софтРазбираем, что прокси видит в каждом случае, где SOCKS5 действительно нужен, а где разницы нет вовсе — вопреки распространённому мнению.
