Припустімо, cURL відкриває нове TCP-з'єднання до звичайного HTTP-проксі, встановлює тунель HTTPS і завантажує одну відповідь. Ці часи описують етапи, які cURL спостерігав на цьому шляху.

ЗначенняЕтап, відрахований від початку передавання
time_connectЗ'єднання з проксі встановлено
time_appconnectВідповідне рукостискання TLS завершено
time_starttransferОтримано перший байт відповіді
time_totalПередавання завершено

Для ілюстративного запису в POSIX-оболонці:

curl --proxy http://proxy.example:8080 \
  --output /dev/null \
  --write-out 'connect=%{time_connect} tls=%{time_appconnect} first=%{time_starttransfer} total=%{time_total}\n' \
  https://example.com/

Для дозволеного публічного порівняння через HTTPS без облікових даних проксі можна взяти HTTP-запис зі списку HTTP-проксі замість проксі з прикладу. Значення — це накопичені секунди. Це не чотири незалежні тривалості, які треба додавати. Тримайте помилку передавання та статус відповіді поруч із числами: невдале з'єднання або відхилений тунель не досягли кожного наступного етапу.

Що може показати віднімання

Для однієї успішної відповіді time_total мінус time_starttransfer описує проміжок, що залишився після надходження першого байта. Це переважно подальше передавання відповіді та пов'язана з ним робота на боці клієнта. Це не час проксі на з'єднання із сайтом, бо це сталося раніше, ніж могла надійти відповідь.

Так само time_starttransfer мінус time_connect може включати створення тунелю, TLS, очікування у вищій мережі, роботу сервера та іншу обробку. Називати всю різницю «затримкою проксі» означає приписувати кілька складників одному учаснику.

Щоб відокремити очікування проксі щодо DNS, з'єднання та відповіді, отримайте відповідні спостереження або трасування з боку проксі. Клієнт не отримує цих внутрішніх позначок часу лише тому, що використовує HTTP CONNECT.

Порівнюйте еквівалентні передавання. Переспрямування додають часи кількох запитів, а повторне використання з'єднань і мультиплексування змінюють те, яка підготовча робота потрібна. Запишіть ці умови, перш ніж порівнювати числа одного проксі з числами іншого.

Схожі статті