Ας υποθέσουμε ότι το cURL ανοίγει μια νέα σύνδεση TCP σε έναν απλό διαμεσολαβητή HTTP, δημιουργεί ένα τούνελ HTTPS και κατεβάζει μία απόκριση. Οι χρόνοι περιγράφουν ορόσημα που παρατήρησε το cURL σε αυτή τη διαδρομή.

ΤιμήΟρόσημο μετρημένο από την έναρξη της μεταφοράς
time_connectΗ σύνδεση με τον proxy ολοκληρώθηκε
time_appconnectΗ σχετική χειραψία TLS ολοκληρώθηκε
time_starttransferΕλήφθη το πρώτο byte της απόκρισης
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 χωρίς διαπιστευτήρια proxy, μια καταχώριση HTTP από τη λίστα διαμεσολαβητών HTTP μπορεί να αντικαταστήσει τον proxy του παραδείγματος. Οι τιμές είναι αθροιστικά δευτερόλεπτα. Δεν είναι τέσσερις ανεξάρτητες διάρκειες που προστίθενται. Κρατήστε το σφάλμα μεταφοράς και την κατάσταση της απόκρισης δίπλα στους αριθμούς: μια αποτυχημένη σύνδεση ή ένα τούνελ που απορρίφθηκε δεν έφτασε σε κάθε επόμενο ορόσημο.

Τι μπορεί να σας πει η αφαίρεση

Για μία επιτυχημένη απόκριση, το time_total μείον το time_starttransfer περιγράφει το διάστημα που απομένει αφού φτάσει το πρώτο byte. Πρόκειται κυρίως για τη μεταγενέστερη μεταφορά της απόκρισης και την σχετική εργασία στην πλευρά του πελάτη. Δεν είναι ο χρόνος του proxy για σύνδεση με τον ιστότοπο, γιατί αυτό συνέβη πριν φτάσει η απόκριση.

Παρομοίως, το time_starttransfer μείον το time_connect μπορεί να περιλαμβάνει τη δημιουργία τούνελ, TLS, αναμονές του ανάντη δικτύου, εργασία του διακομιστή και άλλη επεξεργασία. Το να ονομάζουμε όλη τη διαφορά "καθυστέρηση του proxy" αποδίδει πολλά συστατικά σε έναν μόνο συμμετέχοντα.

Για να διαχωρίσετε τις αναμονές του proxy για DNS, σύνδεση και απόκριση, αποκτήστε αντίστοιχες παρατηρήσεις ή ίχνη από την πλευρά του proxy. Ο πελάτης δεν λαμβάνει αυτές τις εσωτερικές χρονικές σφραγίδες απλώς χρησιμοποιώντας HTTP CONNECT.

Συγκρίνετε ισοδύναμες μεταφορές. Οι ανακατευθύνσεις προσθέτουν χρόνους πολλών αιτημάτων, ενώ η επαναχρησιμοποίηση συνδέσεων και η πολυπλεξία αλλάζουν ποια προπαρασκευαστική εργασία απαιτείται. Καταγράψτε αυτές τις συνθήκες πριν συγκρίνετε τους αριθμούς ενός proxy με ενός άλλου.

Σχετικά άρθρα