Läs cURLs proxytider från klientsidan
Tolka tider för anslutning, TLS, första byte och total utan att tillskriva oobserverat arbete högre upp en mätning som bara gäller proxyn.
Anta att cURL öppnar en ny TCP-anslutning till en enkel HTTP-proxy, upprättar en HTTPS-tunnel och hämtar ett svar. Tiderna beskriver de milstolpar som cURL observerade på den vägen.
| Värde | Milstolpe mätt från överföringens start |
|---|---|
| time_connect | Anslutningen till proxyn är klar |
| time_appconnect | Den aktuella TLS-handskakningen är klar |
| time_starttransfer | Den första byten i svaret togs emot |
| time_total | Överföringen är avslutad |
För en illustrativ inspelning i ett POSIX-skal:
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/
För en tillåten offentlig HTTPS-jämförelse utan proxyuppgifter kan en HTTP-post från listan över HTTP-proxyer ersätta exempelproxyn. Värdena är ackumulerade sekunder. De är inte fyra oberoende varaktigheter att addera. Håll överföringsfel och svarsstatus bredvid siffrorna: en misslyckad anslutning eller en avvisad tunnel nådde inte varje senare milstolpe.
Vad subtraktion kan berätta
För ett enda lyckat svar beskriver time_total minus time_starttransfer det återstående intervallet efter att den första byten anlänt. Det är huvudsakligen den senare svarsöverföringen och tillhörande arbete på klientsidan. Det är inte proxyns tid att ansluta till webbplatsen, eftersom det skedde innan svaret kunde anlända.
På samma sätt kan time_starttransfer minus time_connect omfatta tunneldragning, TLS, väntetider i det överliggande nätet, serverarbete och annan bearbetning. Att kalla hela skillnaden "proxylatens" tilldelar flera komponenter till en enda part.
För att skilja proxyns väntetider för DNS, anslutning och svar, skaffa motsvarande observationer eller spår från proxysidan. Klienten får inte dessa interna tidsstämplar bara genom att använda HTTP CONNECT.
Jämför likvärdiga överföringar. Omdirigeringar lägger till tider från flera förfrågningar, medan återanvändning av anslutningar och multiplexing ändrar vilket förberedelsearbete som behövs. Anteckna dessa villkor innan du jämför en proxys siffror med en annans.