A cURL proxy-időzítéseinek olvasása az ügyfél oldaláról
Értelmezze a kapcsolódási, TLS-, első bájt- és teljes időket anélkül, hogy a nem megfigyelt felsőbb munkát egy csak proxyra vonatkozó mérésnek tulajdonítaná.
Tegyük fel, hogy a cURL új TCP-kapcsolatot nyit egy egyszerű HTTP-proxy felé, HTTPS-alagutat épít, és letölt egy választ. Az idők azokat a mérföldköveket írják le, amelyeket a cURL ezen az úton megfigyelt.
| Érték | Az átvitel kezdetétől mért mérföldkő |
|---|---|
| time_connect | A proxyhoz való kapcsolódás befejeződött |
| time_appconnect | A vonatkozó TLS-kézfogás befejeződött |
| time_starttransfer | Megérkezett a válasz első bájtja |
| time_total | Az átvitel véget ért |
Egy szemléltető POSIX-shell rögzítéshez:
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/
Egy engedélyezett nyilvános HTTPS-összehasonlításhoz proxy-hitelesítő adatok nélkül a HTTP-proxy listából származó HTTP-bejegyzés helyettesítheti a példabeli proxyt. Az értékek halmozott másodpercek. Ezek nem négy független időtartam, amelyeket össze kellene adni. Tartsa az átviteli hibát és a válasz állapotát a számok mellett: egy sikertelen kapcsolódás vagy egy elutasított alagút nem érte el az összes későbbi mérföldkövet.
Mit árul el a kivonás
Egyetlen sikeres válasz esetén a time_total mínusz time_starttransfer az első bájt megérkezése után fennmaradó intervallumot írja le. Ez főleg a későbbi válaszátvitel és a hozzá tartozó ügyféloldali munka. Nem a proxy webhelyhez való kapcsolódási ideje, mert az a válasz megérkezése előtt történt.
Hasonlóképpen a time_starttransfer mínusz time_connect tartalmazhatja az alagútépítést, a TLS-t, a felső hálózat várakozásait, a kiszolgáló munkáját és egyéb feldolgozást. A teljes különbséget "proxy-késleltetésnek" nevezni több összetevőt rendel egyetlen résztvevőhöz.
A proxy DNS-, kapcsolódási és válaszvárakozásainak szétválasztásához szerezzen megfelelő megfigyeléseket vagy nyomkövetéseket a proxy oldaláról. Az ügyfél nem kapja meg ezeket a belső időbélyegeket pusztán azáltal, hogy HTTP CONNECT-et használ.
Hasonlítson össze egyenértékű átviteleket. Az átirányítások több kérés idejét adják hozzá, míg a kapcsolat újrafelhasználása és a multiplexelés megváltoztatja, milyen előkészítő munkára van szükség. Jegyezze fel ezeket a feltételeket, mielőtt az egyik proxy számait egy másikéval összehasonlítja.