Чытанне часоў проксі cURL з боку кліента
Тлумачэнне часоў злучэння, TLS, першага байта і агульнага часу без прыпісвання неназіраванай працы на баку сервера вымярэнню толькі проксі.
Выкажам здагадку, што 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.
Параўноўвайце эквівалентныя перадачы. Перанакіраванні дадаюць часы некалькіх запытаў, а паўторнае выкарыстанне злучэння і мультыплексаванне змяняюць тое, якая падрыхтоўчая праца патрэбна. Запішыце гэтыя ўмовы, перш чым параўноўваць лікі аднаго проксі з іншым.