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

Τρία όρια που φαίνονται ίδια από τη γραμμή προόδου

Η χωρητικότητα είναι το πρώτο, και είναι ιδιότητα του προϊόντος πρόσβασης, όχι της σήραγγας. Ένα ανερχόμενο κανάλι λίγων μεγαμπίτ είναι φυσιολογικό στις οπτικές ίνες οικιακής χρήσης και σε πολλά κινητά προγράμματα, και το κόστος κρυπτογράφησης είναι μικρό μπροστά σε αυτή τη διαφορά. Η ενθυλάκωση προσθέτει επίσης byte ανά πακέτο, κάτι που μειώνει τη χρήσιμη απόδοση και στις δύο κατευθύνσεις και όχι μόνο στη μία, άρα δεν μπορεί από μόνη της να εξηγήσει μια μεγάλη ασυμμετρία.

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

Μετρήστε μία κατεύθυνση τη φορά

Χρησιμοποιήστε την ίδια συσκευή, το ίδιο προφίλ και τον ίδιο προορισμό, και μην τρέχετε ποτέ και τις δύο κατευθύνσεις ταυτόχρονα, εκτός αν ο ανταγωνισμός είναι αυτό που θέλετε να παρατηρήσετε. Παγώστε τις δικές σας προαιρετικές μεταφορές πριν από την πρώτη εκτέλεση. Δύο εκτελέσεις με μία σημαία ανάμεσά τους λύνουν το μεγαλύτερο μέρος.

iperf3 στέλνει από τον πελάτη εξ ορισμού, άρα η απλή εκτέλεση μετρά τη διαδρομή ανεβάσματος· -R αντιστρέφει την κατεύθυνση και μετρά το κατέβασμα. Τρέξτε τις με μερικά λεπτά διαφορά και καταγράψτε και τους δύο αριθμούς αντί να βγάλετε μέσο όρο:

iperf3 -c speed.example.net -t 30 -P 4
iperf3 -c speed.example.net -t 30 -P 4 -R

Αν το νούμερο του ανεβάσματος είναι μικρό κλάσμα του νούμερου του κατεβάσματος και μένει σταθερό μεταξύ των εκτελέσεων, το σχήμα ταιριάζει με ασύμμετρη γραμμή πρόσβασης και η σήραγγα δεν είναι η ιστορία. Αν το ανέβασμα ταλαντεύεται μεταξύ εκτελέσεων ή καταρρέει μετά από δέκα δευτερόλεπτα, συνεχίστε να διαβάζετε.

Αποφασίστε από το πού αλλάζει το ανέβασμα

Αλλάξτε μία μεταβλητή τη φορά και παρατηρήστε ποια κατεύθυνση κινείται. Ένα δεύτερο τελικό σημείο VPN που ανεβάζει καλύτερα δείχνει σε εκείνο το σημείο ή στη διαδρομή προς αυτό. Το ίδιο αργό ανέβασμα από δεύτερη συσκευή στην ίδια γραμμή δείχνει στη γραμμή. Μια διαφορετική συσκευή σε διαφορετική γραμμή που είναι επίσης αργή δείχνει στην πολιτική εισόδου του προορισμού, την οποία δεν μπορείτε να διορθώσετε τοπικά.

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

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

Όταν το κόλλημα νικά τη βραδύτητα

Μια μεταφορά που παγώνει σε επαναλήψιμο σημείο και μετά συνεχίζει συμπεριφέρεται σαν πρόβλημα MTU της διαδρομής και όχι σαν όριο ρυθμού. Η σήραγγα μειώνει το χρήσιμο φορτίο ανά πακέτο, και μια συσκευή που απορρίπτει το προκύπτον μήνυμα ICMP αφήνει τον αποστολέα να μαντεύει. Αυτό το μοτίβο αξίζει δικό του τεστ, γιατί η επισκευή διαφέρει από τη ρύθμιση ενός ρυθμού. Ένας σταθερά χαμηλός αριθμός δείχνει χωρητικότητα, ενώ μια έκρηξη που ακολουθείται από σιωπή δείχνει φορτίο που η διαδρομή δεν μπορεί να μεταφέρει.

Δοκιμάστε τη διαδρομή με φορτίο που δεν πρέπει να κατατμηθεί, μετά συγκρίνετε το MTU της διεπαφής της σήραγγας με την τιμή που περνά:

ping -M do -s 1400 -c 3 203.0.113.10
ip link show dev tun0 | grep -o "mtu [0-9]*"

Αν ο μεγάλος ανιχνευτής εξαφανιστεί ενώ ένας μικρότερος πετυχαίνει, σφίξτε το TCP MSS στη σήραγγα αντί να χαμηλώσετε το MTU της διεπαφής για κάθε πρωτόκολλο. Τα επίμονα κολλήματα μετά από αυτό το σημείο ανήκουν στην αποθήκευση ή στον ρυθμό της εφαρμογής που λαμβάνει, όχι στη διαδρομή του δικτύου.

Τι να αλλάξετε και τι να αφήσετε

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

Γράψτε τους αριθμούς πριν και μετά μαζί με το προφίλ, το τελικό σημείο και την ώρα της ημέρας, γιατί ένα πρόβλημα ανεβάσματος που μετακινείται με το τελικό σημείο είναι ζήτημα δρομολόγησης, και ένα που μετακινείται με τη συσκευή είναι τοπικό. Αυτή η καταγραφή είναι που μετατρέπει ένα ασαφές παράπονο σε απόφαση, και κοστίζει δύο εκτελέσεις της ίδιας εντολής.

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