Пинг и задержка

Задержка (пинг) — время, за которое запрос доходит до сервера и возвращается ответ; измеряют в миллисекундах.

Обновлено · Редакция Prokso

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

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

Если скорость важна, выбирайте страну ближе к сайту, а не к себе: сайт в Германии через прокси из Германии ответит быстрее, чем через другой континент.

Время ответа конкретного прокси показывает проверка прокси. Связанная настройка — таймаут.

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

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

Поэтому с прокси важен keep-alive: повторное использование соединения экономит рукопожатия. Программы, которые открывают новое соединение для каждого запроса, каждый раз платят полную цену. Браузеры держат соединения сами, а в скриптах стоит использовать сессию, например requests.Session() в Python.

Как измерить каждый этап в curl

Добавьте к команде переменные времени: curl -s -o /dev/null -w "%{time_connect} %{time_appconnect} %{time_starttransfer} %{time_total}\n" -x http://LOGIN:PASSWORD@gw.prokso.com:823 https://example.com. Все значения считаются в секундах от начала запроса. Один замер мало что говорит, так что сравнивайте среднее из нескольких запросов, сделанных в одно время.

ПеременнаяДо какого момента
time_connectоткрыто TCP-соединение с прокси
time_appconnectзавершены туннель и рукопожатие TLS с сайтом
time_starttransferпришел первый байт ответа
time_totalполучен весь ответ

Задержка и скорость — разные вещи

Задержка — это сколько вы ждете первый байт, а скорость — как быстро загружается большой ответ. Для небольших запросов к API или проверки страниц задержка важнее скорости. Если time_starttransfer большой, а разница с time_total мала, смотрите на расстояние до сайта и тип адреса: серверные прокси обычно отвечают быстрее резидентских и мобильных.

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

Почему мобильный прокси медленнее серверного?

Запрос идёт через телефон или модем в мобильной сети, а серверный — через канал дата-центра.

Как уменьшить задержку?

Выберите страну прокси рядом с сайтом и тип адреса под задачу: для быстрой работы с открытыми данными — серверные.

Резидентские $1.59, мобильные $2.50, серверные $0.65 за 1 ГБ

Регистрация за минуту, доступы сразу после оплаты.

Создать аккаунт