Все локации активны · 99.99% uptime
Руководство по прокси

Что такое лимит одновременных подключений у прокси?

Формулировки вроде «50K подключений» или «100 одновременных потоков», которые часто встречаются в прокси-тарифах, говорят об одном: количество TCP-соединений, которые вы можете держать открытыми одновременно. Этот лимит напрямую определяет, насколько быстро вы сможете работать, а при его превышении сообщения об ошибках чаще всего вводят в заблуждение.

В этой статье мы разбираем, что такое параллелизм, как рассчитывается правильное значение и как диагностировать превышение лимита.

Параллелизм и скорость запросов — не одно и то же

Два понятия постоянно путают:

ПараллельностьОДНОВРЕМЕННО ОТКРЫТЫЕ СОЕДИНЕНИЯ
Скорость запросовЧИСЛО ЗАПРОСОВ В СЕКУНДУ
ЗадержкаДЛИТЕЛЬНОСТЬ ОДНОГО ЗАПРОСА
Скорость = Параллелизм / ЗадержкаВСЕ ТРИ СВЯЗАНЫ МЕЖДУ СОБОЙ

Простая форма закона Литтла: скорость запросов = параллелизм ÷ средняя длительность запроса. Если у вас 20 одновременных соединений и каждый запрос занимает в среднем 500 мс, вы можете отправлять 40 запросов в секунду. Если длительность запроса вырастет до 2 секунд, при том же параллелизме вы отправите лишь 10 запросов в секунду.

СХЕМАВлияние разной задержки при одинаковом параллелизме
ИЗМЕРЕНИЕ80задержка 250 ms20 соединений · запросов/с40задержка 500 ms20 соединений · запросов/с13задержка 1500 ms20 соединений · запросов/с

Медленный прокси замедляет вашу работу, не увеличивая параллелизм. Поэтому задержка чаще оказывается более определяющей, чем лимит параллелизма.

Где применяется лимит?

Лимит параллелизма существует не в одном месте, а сразу в нескольких точках цепочки:

СХЕМАУровни, ограничивающие параллелизм
УРОВНИВаш клиентПроксипровайдерЦелевой серверПотоки / asyncколичество задачОперационная системалимит сокетовНа аккаунтквота соединенийНа каждый выходной IPлимитОграничение скоростина IPВаш реальный потолок — самый низкий из лимитов

Открыть 200 потоков у себя бесполезно, если провайдер ограничивает вас 50; лишнее будет ждать в очереди или получать ошибку.

Признаки превышения лимита

При превышении лимита параллелизма вы не получите чёткого сообщения «лимит превышен». Типичные признаки такие:

СХЕМАПризнаки, вызванные параллелизмом
ДИАГНОСТИКАКОД / ПРИЗНАКВОЗМОЖНАЯ ПРИЧИНАРЕШЕНИЕРост таймаутовсоединенияНовые соединения встают в очередь у провайдераПостепенно снижайте параллелизм и измеряйте времяСлучайные сбросысоединенийСоединения сверх лимита активнозакрываютсяЗафиксируйте размер пула соединений ниже лимитаРезкий скачок задержкиВремя ожидания в очереди добавляется к запросуСнизьте параллелизм; скорость чаще всего вырастет429 Too Many RequestsОграничение скорости целевого сервера — не проксиСнизьте скорость на IP, расширьте пулEMFILE / too many openfilesЛимит файловых дескрипторов операционной системыПовысьте значение ulimit -n

Критическое различие: 429 приходит от цели, сброс соединения — от прокси, а EMFILE — от вашей собственной машины. Все три требуют разных решений.

Как найти правильный параллелизм

Вместо теоретического расчёта надёжнее экспериментальный подход. Проведите ступенчатый нагрузочный тест:

01

Начните с малого

Отправьте 200 запросов при 5 одновременных соединениях. Зафиксируйте среднюю длительность и долю успешных запросов.

02

Удваивайте

Двигайтесь так: 10, 20, 40, 80… На каждом шаге повторяйте те же измерения.

03

Найдите точку перелома

Момент, когда общая пропускная способность (запросов/с) перестаёт расти, а средняя длительность начинает увеличиваться, означает, что вы близко к реальному лимиту.

04

Работайте на 70% от него

Используйте в продакшене примерно 70% от точки перелома. Этот запас защищает от колебаний в течение суток.

СХЕМАПропускная способность и задержка при росте параллелизма
НАГРУЗОЧНЫЙ ТЕСТ014284155Пропускная способность (запросов/с)Задержка (×100 ms)510204080160

Кривая пропускной способности выходит на плато между 40 и 80, а задержка взлетает. После этой точки увеличение параллелизма лишь добавляет время ожидания.

Почему важен пул соединений (keep-alive)?

Выполнять новое TCP- и TLS-рукопожатие для каждого запроса дорого и по задержке, и по параллелизму. Повторное использование соединения (keep-alive) даёт при том же параллелизме гораздо более высокую пропускную способность:

СХЕМАСогласование размера пула с параллелизмом
Переиспользование соединений01# Python httpx — задайте лимиты явно02import httpx03limits = httpx.Limits(max_connections=40, max_keepalive_connections=40)04transport = httpx.HTTPTransport(proxy="http://proxy.example.com:8080", retries=1)05client = httpx.Client(limits=limits, transport=transport, timeout=20.0)0607# Node.js undici — количество соединений в пуле08import { Agent, setGlobalDispatcher } from "undici";09setGlobalDispatcher(new Agent({ connections: 40, keepAliveTimeout: 30_000 }));1011# Linux — повысьте лимит сокетов12ulimit -n 65535

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

Связь параллелизма и количества IP

Увеличение параллелизма повышает и плотность запросов, выходящих с одного IP. Если целевой сайт применяет ограничение скорости на IP, рост параллелизма через один IP напрямую ведёт к блокировке. Правильный подход — масштабировать параллелизм вместе с количеством IP .

Практическое правило

Не превышайте 1–2 одновременных соединения на один IP на одну цель. Если вы хотите отправлять 60 одновременных запросов, вам нужно минимум 30–60 разных выходных IP. Для расчёта размера пула в нашей статье о пуле прокси смотрите.

Управление скоростью, дружественное к цели

Не менее важная тема, чем параллелизм, — распределение запросов во времени. Вместо отправки 40 запросов одновременно лучше распределить их с небольшими задержками: это и выглядит на цели естественнее, и предотвращает накопление очереди.

  • Добавьте jitter: Случайная пауза 150–350 мс вместо фиксированных 200 мс снижает роботизированный след.
  • Используйте token bucket: Ведро токенов, выдающее N запросов в секунду, предотвращает резкие всплески.
  • Применяйте отступ (backoff): Получив 429, постепенно снижайте параллелизм, а после возврата успеха медленно увеличивайте.
  • Ведите отдельную очередь на каждую цель: Замедление одного сайта не должно влиять на другие.

Типичные лимиты для разных типов прокси

ТипТипичная параллельностьОграничивающий фактор
DatacenterВысокий — сотниПропускная способность и ограничение скорости на цели
ISPСредний-высокийТолерантность цели к одному IP
ResidentialСредний — зависит от тарифаКвота аккаунта у провайдера
МобильныеНизкаяОдно устройство и соединение оператора

Мобильные прокси выходят через один физический модем, поэтому по своей природе дают низкий параллелизм; зато они обладают самым высоким уровнем доверия. Подробнее — в нашей статье о мобильных прокси можно посмотреть.

Резюме

Параллелизм определяет скорость не сам по себе, а вместе с задержкой. Путь к правильному значению лежит через экспериментальный нагрузочный тест: найдите точку, где пропускная способность выходит на плато, а задержка взлетает, и работайте на 70% от неё. Зафиксируйте пул соединений на этом значении, масштабируйте параллелизм вместе с количеством IP и отступайте при получении 429. Чтобы измерить задержку ваших текущих прокси, тест пинга и проверка proxy вы можете воспользоваться нашими инструментами.

Часто задаваемые вопросы

01Что значит 50 000 подключений?

Обычно это верхний предел общего числа TCP-соединений, которые ваш аккаунт может держать открытыми одновременно. На практике для достижения этого числа нужно много выходных IP и высокая пропускная способность; открыть столько соединений с одной машины мешают лимиты операционной системы.

02Почему после увеличения параллелизма стало медленнее?

При превышении лимита новые соединения встают в очередь, и время ожидания добавляется к длительности каждого запроса. Кроме того, целевой сайт может замедлять ответы, применяя ограничение скорости на IP. Снижение значения и повторное измерение чаще всего увеличивает скорость.

03Сколько потоков использовать?

Количество потоков не должно превышать ваш лимит параллелизма. Если вы используете асинхронный клиент, эффективнее вместо потоков ограничивать количество задач семафором.

04Придётся ли платить дополнительно при превышении квоты параллелизма?

У большинства провайдеров нет; соединения сверх лимита отклоняются или ставятся в очередь. Однако в некоторых корпоративных тарифах превышение может тарифицироваться. Уточните поведение по договору заранее.

05Влияет ли использование пула соединений на лимит параллелизма?

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

Связанные статьи и страницы

СЛЕДУЮЩИЙ ШАГ

Усильте свою прокси-инфраструктуру уже сегодня.

Начните с платным тарифом за считанные минуты или сначала попробуйте наш бесплатный список прокси.

FREEPROXY.TR

Ищете бесплатные прокси — вы попали по адресу

Комплексная прокси-платформа, где можно посмотреть актуальные адреса бесплатных прокси, сравнить типы HTTP и SOCKS и проверить свои прокси-подключения бесплатными инструментами.