Читање на времињата на проксито во cURL од страната на клиентот
Протолчете ги времињата на поврзување, TLS, првиот бајт и вкупното време без да ѝ припишувате ненабљудувана работа од повисоко ниво на мерка само на проксито.
Да претпоставиме дека cURL отвора нова TCP врска до едноставно HTTP прокси, воспоставува HTTPS тунел и презема еден одговор. Времињата ги опишуваат етапите што cURL ги набљудувал на тој пат.
| Вредност | Етапа измерена од почетокот на преносот |
|---|---|
| time_connect | Врската со проксито е завршена |
| time_appconnect | Соодветното TLS ракување е завршено |
| time_starttransfer | Примен е првиот бајт од одговорот |
| time_total | Преносот заврши |
За илустративно снимање во POSIX-школка:
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.
Споредувајте еквивалентни преноси. Пренасочувањата додаваат времиња од повеќе барања, а повторното користење на врски и мултиплексирањето менуваат која подготовка е потребна. Запишете ги тие услови пред да ги споредите бројките на едно прокси со тие на друго.