Пінг і затримка
Затримка (пінг) — час, за який запит доходить до сервера й повертається відповідь; вимірюють у мілісекундах.
Оновлено · Редакція 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 ГБ
Реєстрація за хвилину, доступи одразу після оплати.