TrueSocks

Гайды · 7 мин

Почему прокси работает медленно и как его ускорить

«Прокси тормозит» - одна из самых частых жалоб, и причина далеко не всегда в самом прокси. Скорость складывается из расстояния до сервера, типа адреса, настроек программы, поведения сайта и даже вашего собственного подключения. Разберём, куда уходит время, как найти узкое место за пять минут и что реально помогает ускорить работу.

  • Команда TrueSocks
  • 7 мин чтения

Из чего складывается скорость

Под словом «скорость» обычно смешивают две разные величины:

  • Задержка (пинг, latency) - сколько времени нужно, чтобы запрос дошёл до сервера и вернулся ответ. От неё зависит, как быстро начинает открываться страница и как быстро проходят мелкие запросы.
  • Пропускная способность - сколько данных в секунду проходит через канал. От неё зависит, как быстро скачиваются большие файлы, видео и тяжёлые страницы.

Для парсинга, работы в аккаунтах и открытия сайтов важнее задержка: страница состоит из десятков небольших запросов, и каждая лишняя сотня миллисекунд умножается на их количество. Пропускная способность становится главной при скачивании больших объёмов.

Куда уходит время одного запроса

ЭтапЧто происходитОт чего зависит
Подключение к проксиTCP-соединение от вас до прокси-сервераРасстояние до прокси и ваше подключение
Авторизация и туннельПроверка логина, команда CONNECT или SOCKS-рукопожатиеПротокол и нагрузка на прокси
DNSОпределение IP сайта по имениГде выполняется: у вас или на прокси
Соединение с сайтомTCP и TLS-рукопожатие от прокси до сайтаРасстояние от прокси до сервера сайта
ОтветСайт формирует страницу и передаёт данныеСам сайт, его нагрузка и лимиты

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

Основные причины медленной работы

Расстояние

Путь «вы - прокси - сайт» может быть намного длиннее прямого. Если вы в Москве, прокси в США, а сайт в Европе, данные пересекают океан дважды. Задержка между Россией и Западной Европой обычно составляет десятки миллисекунд, а до США - больше сотни. Выбирайте страну прокси поближе к серверу сайта, если для задачи не важна конкретная страна. О выборе между странами - в статье прокси США или Европы.

Тип адреса

У серверных IPv4 и ISP-прокси скорость дата-центра. У резидентских скорость зависит от домашнего подключения узла, через который идёт трафик, а у мобильных - от сети оператора 4G/5G. Если вам нужна в первую очередь скорость, а сайт нормально работает с серверными адресами, резидентские и мобильные будут медленнее без пользы для задачи.

Ротация на каждый запрос

При ротации каждый запрос может идти через новый узел, а значит заново устанавливать соединение. Для загрузки одной страницы с десятками ресурсов это заметно. Для таких задач используйте липкую сессию: подробнее в статье ротация и sticky-сессии.

Слишком много потоков

У любого канала есть предел. У мобильного прокси потоки ограничены каналом модема, у общего IPv4 канал делится между пользователями адреса. Сотни параллельных запросов через один адрес не ускоряют работу, а создают очередь. Часто уменьшение числа потоков на адрес и добавление адресов в пул дают больший прирост, чем любые другие настройки.

Сайт сам замедляет ответы

Многие сайты при частых запросах с одного адреса не блокируют их сразу, а начинают отвечать медленнее, показывать капчу или ошибку 429. Это выглядит как «медленный прокси», хотя прокси работает нормально. Проверьте: если другие сайты через тот же адрес открываются быстро, дело в темпе запросов. Как с этим работать, рассказано в статье почему сайт блокирует прокси.

IPv6-адрес на сайте без IPv6

IPv6-прокси работают только с сайтами, которые поддерживают IPv6. Если сайт его не поддерживает, программа может долго ждать таймаута, прежде чем выдать ошибку, и это похоже на очень медленное соединение. Подробнее в статье IPv4 или IPv6 прокси.

Ваше собственное подключение

Перегруженный Wi-Fi, VPN поверх прокси, антивирус с проверкой HTTPS-трафика или браузерные расширения добавляют задержку ещё до прокси. Сравните скорость с прокси и без него в одинаковых условиях.

Как найти узкое место за пять минут

Утилита curl есть в Windows 10 и 11, macOS и Linux и умеет показывать время каждого этапа запроса. Запустите одну и ту же команду с прокси и без него.

Замер этапов запроса через прокси
curl -x http://login:[email protected]:8000 -o /dev/null -s -w "connect: %{time_connect}  tls: %{time_appconnect}  first byte: %{time_starttransfer}  total: %{time_total}\n" https://example.com

В Windows вместо -o /dev/null укажите -o NUL. Адрес прокси в примере условный. Как читать результат:

  • Большой `connect` - долго подключаемся к самому прокси: далеко, перегружено ваше подключение или неудачный маршрут.
  • Большая разница между `connect` и `tls` - долго устанавливается туннель и соединение с сайтом: далеко от прокси до сайта или медленный узел.
  • Большой `first byte` при нормальных остальных - долго думает сайт. Возможно, он замедляет ответы из-за частоты запросов.
  • Большой `total` при быстром первом байте - узкое место в пропускной способности: тяжёлая страница или медленный канал.

Сделайте несколько замеров подряд и в разное время: единичное значение мало что говорит. Подробная проверка формата, гео и утечек описана в статье как проверить прокси.

Как ускорить работу через прокси

  1. Выберите страну ближе к сайту. Если страна не важна для задачи, это самый простой способ снизить задержку.
  2. Переиспользуйте соединения. В коде используйте сессии (requests.Session, общий клиент httpx или aiohttp), а не новое соединение на каждый запрос. Примеры в статье прокси в Python.
  3. Найдите оптимальное число потоков. Увеличивайте параллельность постепенно и смотрите, где время ответа начинает расти.
  4. Не загружайте лишнее. При парсинге отключите картинки, видео и шрифты. Это ускоряет работу и экономит трафик резидентских прокси.
  5. Включите DNS на стороне прокси для SOCKS5: схема socks5h в коде или соответствующая галочка в браузере.
  6. Кешируйте ответы и не запрашивайте повторно то, что не изменилось.
  7. Подберите тип адреса под задачу. Для скорости - серверные IPv4 и ISP, для сайтов с жёсткими проверками - резидентские и мобильные, понимая, что они медленнее.

Чего ожидать от разных типов прокси

Чтобы не искать проблему там, где её нет, полезно знать нормальное поведение каждого типа.

ТипЗадержкаСтабильность скоростиТипичное узкое место
Серверные IPv4Низкая, зависит от расстоянияВысокаяРасстояние и число потоков
ISPНизкая, как у дата-центраВысокаяРасстояние и число потоков
Общие IPv4НизкаяСредняя: канал делится между пользователями адресаНагрузка соседей по адресу
РезидентскиеВыше, чем у серверныхМеняется от узла к узлуДомашнее подключение узла
МобильныеВыше, чем у серверныхЗависит от сети оператораКанал модема и смена IP
Общие закономерности. Конкретные значения зависят от страны, маршрута и сайта.

Резидентский прокси, который работает медленнее серверного, - это нормально: вы платите за происхождение адреса, а не за скорость. Если для задачи нужны и доверие, и скорость, посмотрите в сторону ISP-адресов: они статические, из подсетей провайдеров и работают со скоростью дата-центра.

Мифы о скорости прокси

  • «Прокси может ускорить интернет». Прокси добавляет промежуточный узел, поэтому быстрее прямого соединения он бывает только в редких случаях с неудачным маршрутом провайдера.
  • «SOCKS5 всегда быстрее HTTP». Разница между протоколами в обычных задачах незаметна. На скорость гораздо сильнее влияют расстояние и переиспользование соединений.
  • «Дорогой прокси быстрее дешёвого». Цена отражает тип адреса и происхождение, а не скорость. Мобильный канал дороже серверного IPv4 и при этом обычно медленнее.

Если ничего не помогло

Если замеры показывают, что медленно работает конкретный адрес, а другие адреса той же страны быстрые, адрес можно заменить. В течение 24 часов после покупки замена бесплатная: её можно сделать в кабинете на странице заказа или через поддержку. Порядок описан в разделе замена и возврат.

Вопросы и ответы

Почему через прокси сайт открывается медленнее, чем напрямую?

Запрос проходит дополнительный путь до прокси-сервера и обратно, а если прокси далеко от вас или от сайта, задержка растёт. Также влияют тип адреса, число потоков и то, как сайт реагирует на частые запросы.

Какие прокси самые быстрые?

Серверные IPv4 и ISP-прокси: у них канал дата-центра. Резидентские и мобильные медленнее, потому что трафик идёт через домашнее подключение или сеть оператора.

Поможет ли больше потоков ускорить парсинг?

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

На посадку

Прокси для этой задачи

Цена «от» за единицу на базовый срок, страны и скидка за объём видны на странице товара.

  • #скорость прокси
  • #пинг
  • #задержка
  • #диагностика
  • #curl
Поделиться

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

Все статьи