Да предположим, че cURL отваря нова TCP връзка към обикновено HTTP прокси, установява HTTPS тунел и изтегля един отговор. Времената описват етапи, които cURL е наблюдавал по този път.

СтойностЕтап, измерен от началото на преноса
time_connectВръзката с проксито е установена
time_appconnectСъответното TLS ръкостискане е завършено
time_starttransferПолучен е първият байт от отговора
time_totalПреносът е приключил

За илюстративно заснемане в POSIX shell:

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.

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

Подобни статии