Seyare Seyare

HELP-CENTER

Как считаются TCP соединения в безлимитном прокси

Объясняем, как считаются одновременные TCP соединения, что происходит при превышении лимита и как HTTP/2 влияет на использование прокси.

Маркетинговая команда · · 4 min read

Как считаются TCP соединения в безлимитном прокси

В нашем тарифе с безлимитным трафиком действительно нет ограничений на объём данных.

👉 Вы можете передавать сколько угодно мегабайт и гигабайт.

Но есть другое ограничение — количество одновременных TCP соединений.

Это ограничение часто вызывает вопросы, потому что оно менее очевидно, чем трафик или скорость.

Проще говоря:

👉 трафик — это “сколько данных вы передали”
👉 соединения — это “сколько одновременно открытых каналов связи у вас есть”

И именно второе мы ограничиваем.


Что именно мы ограничиваем

Мы считаем только одновременные (concurrent) TCP соединения.

👉 Важно:

  • не трафик (он безлимитный)
  • не скорость
  • не количество запросов

А именно количество активных соединений в один момент времени.


Важно понимать

TCP соединение — это не запрос.

Один клиент может:

  • открыть одно соединение и сделать 100 запросов
  • или открыть 100 соединений и сделать те же 100 запросов

👉 для лимита это будет совершенно разная нагрузка

Как считается лимит

Каждое открытое TCP соединение = 1 соединение в лимите.

  • учёт ведётся по Login ID
  • считаются все протоколы вместе:
    • HTTP(S)
    • SOCKS5
  • разницы между ними нет — всё суммируется

👉 Если у вас:

  • 30 соединений через HTTP
  • 20 через SOCKS5

Итого = 50 активных соединений

Не важно, каким способом они были созданы — считается общая нагрузка.


Что происходит при превышении лимита

Если лимит достигнут:

👉 все новые соединения получают отказ (connection refused / reset)

При этом:

  • уже установленные соединения продолжают работать
  • новые — не принимаются, пока не освободятся старые

Визуально: как работает ограничение

  flowchart LR
    A[Ваше приложение] --> B[Соединение 1]
    A --> C[Соединение 2]
    A --> D[Соединение 3]
    A --> E[Соединение 4]
    A --> F[Соединение 5]

    B --> P[Прокси]
    C --> P
    D --> P
    E --> P
    F --> P

    P --> OK[Все работают]

    A --> G[Попытка открыть ещё одно]
    G --> X[❌ Отказ<br/>connection refused]

Что такое TCP соединение (простыми словами)

TCP соединение — это “отдельный канал связи” между вашим приложением и прокси.

Каждый раз, когда:

  • браузер открывает сайт
  • скрипт делает запрос
  • бот обращается к API

— создаётся TCP соединение (или используется уже открытое).


Важный момент: keep-alive

Если используется keep-alive:

👉 несколько запросов идут через одно соединение

Это:

  • экономит лимит
  • снижает нагрузку

Если включён keep-alive, несколько HTTP-запросов могут переиспользовать одно и то же TCP-соединение вместо того, чтобы открывать новое для каждого запроса — в зависимости от поведения клиента/сервера и времени жизни соединения.


Визуально: как работает keep-alive

  flowchart LR
    A[Ваше приложение] -->|1 соединение| P[Прокси]

    P --> R1[Запрос 1]
    P --> R2[Запрос 2]
    P --> R3[Запрос 3]
    P --> R4[Запрос 4]

    R1 --> S[Сайт]
    R2 --> S
    R3 --> S
    R4 --> S

HTTP/1 — каждое подключение часто создаёт новое TCP соединение

В HTTP/1 (особенно без оптимизаций) чаще всего работает простая модель:

👉 один запрос = одно TCP соединение

Это значит, что ваше приложение:

  • открывает соединение
  • делает запрос
  • закрывает его
  • и повторяет это снова и снова

Почему это важно

Если у вас высокая активность:

👉 количество соединений растёт очень быстро

И вы можете:

  • неожиданно упереться в лимит
  • получить ошибки подключения
  • столкнуться с нестабильной работой

Визуально: как работает HTTP/1

  flowchart LR
    A[Ваше приложение]

    A -->|Запрос 1| C1[Отдельное соединение]
    A -->|Запрос 2| C2[Отдельное соединение]
    A -->|Запрос 3| C3[Отдельное соединение]
    A -->|Запрос 4| C4[Отдельное соединение]

    C1 --> P[Прокси]
    C2 --> P
    C3 --> P
    C4 --> P

HTTP/2 — более эффективная модель

HTTP/2 может сильно снизить количество соединений.

👉 Как это работает:

  • один TCP канал
  • внутри — много параллельных запросов (stream’ов)

👉 Для нас важно:

  • мы считаем только TCP соединение
  • HTTP/2 внутри — это просто поток данных
  • мы не ограничиваем количество stream’ов

HTTP/2 внутри — это просто способ передавать запросы эффективнее.


Визуально: как работает HTTP/2

  flowchart LR
    A[Ваше приложение] -->|1 соединение| P[Прокси]

    P --> R1[Запрос 1]
    P --> R2[Запрос 2]
    P --> R3[Запрос 3]
    P --> R4[Запрос 4]
    P --> R5[Запрос 5]
    P --> R6[Запрос 6]

    R1 --> S[Сайт]
    R2 --> S
    R3 --> S
    R4 --> S
    R5 --> S
    R6 --> S

Что это значит на практике

  • HTTP/1.1 → много TCP соединений
  • HTTP/2 → меньше TCP соединений

👉 Поэтому с HTTP/2:

  • лимит соединений расходуется медленнее
  • но нагрузка может быть такой же или выше

Типичные сценарии

1. Браузер

Обычный браузер:

  • открывает 5–20 соединений на один сайт
  • при нескольких вкладках — больше

👉 С HTTP/2 соединений будет меньше


2. Парсинг / скрейпинг

Частая ошибка:

  • каждый запрос = новое соединение
  • нет keep-alive
  • нет пула соединений

👉 Результат:

  • лимит быстро заканчивается
  • появляются ошибки подключения

3. Боты / софт

Многие инструменты:

  • открывают десятки потоков
  • не переиспользуют соединения
  • забывают закрывать соединения после работы. всегда закрывайте соединения!

👉 Это самый частый источник превышений


Частые ошибки пользователей

❌ “У меня мало трафика — почему лимит?”
→ считается не трафик, а соединения

❌ “Я сделал всего 100 запросов”
→ возможно, это 100 отдельных TCP соединений

❌ “Иногда работает, иногда нет”
→ вы упираетесь в лимит соединений


Как использовать лимит эффективно

👉 Рекомендуем:

  • использовать keep-alive
  • включать connection pooling
  • ограничивать количество потоков в софте
  • по возможности использовать HTTP/2
  • закрывать соединения, если больше не нужны

Коротко

  • считаются только одновременные TCP соединения
  • учёт по Login ID
  • HTTP и SOCKS5 суммируются
  • при превышении → connection refused / reset
  • HTTP/2 помогает экономить соединения

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

Готовы протестировать с реальными IP?

Зарегистрируйтесь сейчас, чтобы получить мгновенный доступ к нашим прокси-пулам.