Tutaq ki, cURL adi HTTP proksisinə yeni TCP bağlantısı açır, HTTPS tuneli qurur və bir cavab yükləyir. Vaxt göstəriciləri cURL-in həmin yolda müşahidə etdiyi mərhələləri təsvir edir.

DəyərÖtürmənin başlanğıcından ölçülən mərhələ
time_connectProksisə bağlantı tamamlandı
time_appconnectMüvafiq TLS əl sıxma tamamlandı
time_starttransferİlk cavab baytı alındı
time_totalÖtürmə bitdi

Nümunəvi POSIX-shell çəkim üçün:

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/

Proksi etimad məlumatları olmadan icazə verilən ictimai HTTPS müqayisəsi üçün HTTP proksi siyahısındakı bir HTTP girişi nümunə proksini əvəz edə bilər. Dəyərlər yığılmış saniyələrdir. Onlar birlikdə toplanacaq dörd ayrı müddət deyil. Ötürmə xətasını və cavab statusunu rəqəmlərin yanında saxlayın: uğursuz bağlantı və ya rədd edilmiş tunel sonrakı hər mərhələyə çatmayıb.

Çıxma nəyi deyə bilər

Tək uğurlu cavab üçün time_total mənfi time_starttransfer ilk bayt gəldikdən sonra qalan intervalı təsvir edir. Bu, əsasən sonrakı cavab ötürməsi və ona bağlı müştəri tərəfi işidir. Bu, proksisin sayta qoşulma vaxtı deyil, çünki o, cavab gələ bilməzdən əvvəl baş verib.

Eyni şəkildə time_starttransfer mənfi time_connect tunel qurulmasını, TLS-i, yuxarı axın şəbəkə gözləmələrini, server işini və digər emalı əhatə edə bilər. Bütün fərqi "proksi gecikməsi" adlandırmaq bir neçə komponenti bir iştirakçıya aid etməkdir.

Proksisin yuxarı axın DNS, bağlantı və cavab gözləmələrini ayırmaq üçün proksi tərəfində uyğun müşahidələr və ya izlər əldə edin. Müştəri yalnız HTTP CONNECT istifadə etməklə həmin daxili zaman damğalarını almır.

Bərabər ötürmələri müqayisə edin. Yönləndirmələr bir neçə sorğunun vaxtlarını əlavə edir, bağlantının təkrar istifadəsi və multipleksləşdirmə isə hansı quraşdırma işinin lazım olduğunu dəyişir. Bir proksisin rəqəmlərini digəri ilə müqayisə etməzdən əvvəl bu şərtləri qeyd edin.

Əlaqəli məqalələr