Čtení časů proxy v cURL ze strany klienta
Vysvětlete časy připojení, TLS, prvního bajtu a celkového přenosu, aniž byste nepozorovanou práci na vyšší vrstvě přisoudili měření samotné proxy.
Předpokládejme, že cURL otevře nové TCP spojení k běžné HTTP proxy, vytvoří tunel HTTPS a stáhne jednu odpověď. Časy popisují milníky, které cURL na této cestě pozoroval.
| Hodnota | Milník měřený od začátku přenosu |
|---|---|
| time_connect | Spojení s proxy bylo dokončeno |
| time_appconnect | Příslušný TLS handshake byl dokončen |
| time_starttransfer | Byl přijat první bajt odpovědi |
| time_total | Přenos skončil |
Pro ilustrativní zachycení v POSIX shellu:
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/
Pro povolené veřejné srovnání přes HTTPS bez přihlašovacích údajů k proxy může příkladovou proxy nahradit HTTP záznam ze seznamu HTTP proxy. Hodnoty jsou kumulativní sekundy. Nejsou to čtyři nezávislé doby, které se sčítají. Uchovávejte chybu přenosu a stav odpovědi vedle čísel: neúspěšné spojení nebo odmítnutý tunel nedosáhly každého dalšího milníku.
Co může odhalit odečítání
U jedné úspěšné odpovědi popisuje time_total minus time_starttransfer zbývající interval po příchodu prvního bajtu. Jde hlavně o pozdější přenos odpovědi a související práci na straně klienta. Není to čas proxy na připojení k webu, protože ten nastal dříve, než odpověď mohla dorazit.
Stejně tak time_starttransfer minus time_connect může zahrnovat vytváření tunelu, TLS, čekání v nadřazené síti, práci serveru a další zpracování. Nazývat celý rozdíl "latencí proxy" znamená přisoudit několik složek jednomu účastníkovi.
Chcete-li oddělit čekání proxy na DNS, spojení a odpověď, získejte odpovídající pozorování nebo trasování ze strany proxy. Klient tyto vnitřní časové značky nedostane jen tím, že používá HTTP CONNECT.
Porovnávejte ekvivalentní přenosy. Přesměrování přidávají časy několika požadavků, zatímco opětovné použití spojení a multiplexování mění to, jaká přípravná práce je potřeba. Tyto podmínky si poznamenejte, než porovnáte čísla jedné proxy s čísly jiné.