cURL starpniekservera laiku lasīšana klienta pusē
Interpretējiet savienojuma, TLS, pirmās baita un kopējos laikus, neattribuējot nenovērotu augšupēju darbu tikai starpniekservera mērījumam.
Pieņemsim, ka cURL atver jaunu TCP savienojumu ar vienkāršu HTTP starpniekserveri, izveido HTTPS tuneli un lejupielādē vienu atbildi. Laiki apraksta posmus, ko cURL novēroja šajā ceļā.
| Vērtība | Posms, mērīts no pārsūtīšanas sākuma |
|---|---|
| time_connect | Savienojums ar starpniekserveri ir pabeigts |
| time_appconnect | Attiecīgā TLS rokasspiediena ir pabeigta |
| time_starttransfer | Ir saņemta atbildes pirmā baits |
| time_total | Pārsūtīšana ir beigusies |
Ilustratīvam POSIX čaulas ierakstam:
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/
Atļautam publiskam HTTPS salīdzinājumam bez starpniekservera akreditācijas datiem parauga starpniekserveri var aizstāt ar HTTP ierakstu no HTTP starpniekserveru saraksta. Vērtības ir uzkrātas sekundes. Tie nav četri neatkarīgi ilgumi, kas jāsaskaita. Glabājiet pārsūtīšanas kļūdu un atbildes statusu blakus skaitļiem: neizdevies savienojums vai noraidīts tunelis nesasniedza katru nākamo posmu.
Ko var pateikt atņemšana
Vienai veiksmīgai atbildei time_total mīnus time_starttransfer apraksta atlikušo intervālu pēc pirmās baita ierašanās. Tas galvenokārt ir vēlākā atbildes pārsūtīšana un ar to saistītais klients puses darbs. Tas nav starpniekservera laiks savienojumam ar vietni, jo tas notika pirms atbildes ierašanās.
Tāpat time_starttransfer mīnus time_connect var ietvert tuneļa veidošanu, TLS, augšupējā tīkla gaidīšanu, servera darbu un citu apstrādi. Visu starpību saukt par "starpniekservera latentumu" nozīmē vairākas sastāvdaļas attiecināt uz vienu dalībnieku.
Lai atdalītu starpniekservera DNS, savienojuma un atbildes gaidīšanu, iegūstiet atbilstošus novērojumus vai pēdas no starpniekservera puses. Klients nesaņem šos iekšējos laika zīmogus tikai tāpēc, ka izmanto HTTP CONNECT.
Salīdziniet līdzvērtīgas pārsūtīšanas. Novirzīšana pievieno vairāku pieprasījumu laikus, bet savienojumu atkārtota izmantošana un multipleksēšana maina to, kāds sagatavošanas darbs nepieciešams. Pierakstiet šos nosacījumus pirms viena starpniekservera skaitļu salīdzināšanas ar cita skaitļiem.