Пінг і затримка

Затримка (пінг) — час, за який запит доходить до сервера й повертається відповідь; вимірюють у мілісекундах.

Оновлено · Редакція 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 ГБ

Реєстрація за хвилину, доступи одразу після оплати.

Створити акаунт