Ένας δρομολογητής με σήμα Wi-Fi 3,000 Mbps μπορεί ακόμη να μεταφέρει κρυπτογραφημένη κίνηση με ένα κλάσμα αυτού του αριθμού, και κανένας από τους δύο αριθμούς δεν είναι ανέντιμος. Η αξιολόγηση ασυρμάτου περιγράφει την καλύτερη δυνατή διαμόρφωση της ασύρματης ζεύξης που υποστηρίζει το τσιπ· ο αριθμός VPN περιγράφει πόσο γρήγορα μια συσκευή μπορεί να σπρώξει κρυπτογραφημένα πακέτα μέσα από τον επεξεργαστή του δρομολογητή και έξω από το κύκλωμα πρόσβασής σας. Αυτά είναι διαφορετικά επίπεδα, διαφορετικά μεγέθη πακέτων και διαφορετικές μέθοδοι μέτρησης. Αντιμετωπίστε τον αριθμό στο κουτί ως ένα ταβάνι που δεν φτάνει κανείς, όχι ως πρόβλεψη της ταχύτητας της σήραγγάς σας.

Βήμα 1: Χαρτογραφήστε τα τέσσερα επίπεδα που περιορίζουν τον αριθμό

Σχεδόν κάθε παράπονο για αργό δρομολογητή που έχω δουλέψει καταλήγει σε ένα από τέσσερα επίπεδα: την ασύρματη ζεύξη, τον ρυθμό πρόσβασης WAN, τη διαδρομή προώθησης (NAT, τείχος προστασίας, παρακολούθηση συνδέσεων) ή τη διαδρομή κρυπτογράφησης VPN. Στοιβάζονται, και το πιο αργό επίπεδο καθορίζει το αποτέλεσμα. Μια διαφημιζόμενη ταχύτητα Wi-Fi μιλά μόνο για το πρώτο επίπεδο, και μιλά γενναιόδωρα γι' αυτό.

Αυτός ο αριθμός προκύπτει από τις ροές επί το πλάτος καναλιού επί την υψηλότερη διαμόρφωση που μπορεί να διαπραγματευτεί το τσιπ. Ένα ασύρματο 2x2 στα 5 GHz στα 80 MHz με 1024-QAM διαφημίζεται κοντά στα 1,200 Mbps, αλλά το Wi-Fi είναι ένα κοινόχρηστο, ημι-αμφίδρομο μέσο: οι πελάτες εναλλάσσονται, οι επαναλήψεις και η κίνηση διαχείρισης καίνε χρόνο αέρα, και το TCP προσθέτει τη δική του επιβάρυνση. Ένας πελάτης που διαπραγματεύεται την κορυφαία ταχύτητα σε ιδανικές συνθήκες συνήθως μετρά πολύ κάτω από το μισό της, και λιγότερο μόλις εμφανιστούν γειτονικά δίκτυα.

SymptomTier to suspect first
Wired clients are slow tooWAN access or forwarding path
Only Wi-Fi clients are slowRadio, airtime, or channel width
One stream is slow, four parallel streams add upPer-connection CPU path, not the link
Every stream is slow and one core sits at 100%Crypto path
Fast to LAN hosts, slow to the internetWAN, not the tunnel

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

Βήμα 2: Πάρτε μια ενσύρματη βάση πριν αγγίξετε το ασύρματο

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

# on the far host (VPN endpoint)
iperf3 -s

# wired client, direct to the endpoint's public address
iperf3 -c 203.0.113.10 -t 30

# same client, four parallel streams
iperf3 -c 203.0.113.10 -t 30 -P 4

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

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

Βήμα 3: Τρέξτε την ίδια δοκιμή μέσα από τη σήραγγα

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

Παρακολουθήστε τους μετρητές όσο τρέχει η μεταφορά. Στο WireGuard, το wg show αναφέρει τα μεταφερμένα byte ανά ομότιμο· στο OpenVPN, ένα αρχείο κατάστασης που γράφεται κατά διαστήματα σας δίνει την ίδια εικόνα.

watch -n 1 'wg show wg0 transfer'
# OpenVPN: add --status /run/openvpn/server.status 10 to the server config
tail -f /run/openvpn/server.status

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

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

Βήμα 4: Διαβάστε τον επεξεργαστή ως διαδρομή, όχι ως μέσο όρο

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

mpstat -P ALL 1
top -H -p $(pgrep -f 'openvpn')
grep -o -m1 aes /proc/cpuinfo

Τρία πράγματα μετράνε σε αυτή την έξοδο. Ένας πυρήνας καρφωμένος κοντά στο 100 τοις εκατό ενώ οι άλλοι αδρανούν δείχνει ένα όριο ανά σύνδεση. Βαρύ %soft ή ένας απασχολημένος ksoftirqd σε έναν επεξεργαστή δείχνει επεξεργασία πακέτων στην πλευρά λήψης που δεν απλώνεται στις ουρές. Και ένα απόν aes σημαίνει ότι ο επεξεργαστής δεν έχει εντολές AES, οπότε η συμμετρική κρυπτογράφηση τρέχει σε λογισμικό και κοστίζει πολύ περισσότερο ανά πακέτο.

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

Βήμα 5: Αποφασίστε τι θα αλλάξετε, με αυτή τη σειρά

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

1. Η ενσύρματη άμεση ροή είναι κάτω από αυτό που πληρώνετε: μιλήστε με τον πάροχο, γιατί η σήραγγα δεν μπορεί να δημιουργήσει χωρητικότητα που δεν παρέχει το κύκλωμα πρόσβασης. 2. Η ενσύρματη άμεση είναι εντάξει αλλά ένας πυρήνας καρφώνεται κατά τη δοκιμή της σήραγγας: η διαδρομή κρυπτογράφησης του δρομολογητή είναι το όριο. 3. Ο επεξεργαστής είναι αδρανής αλλά η σήραγγα αργή: ελέγξτε MTU και κατακερματισμό, μετά τη χωρητικότητα του ίδιου του απομακρυσμένου τελικού σημείου. 4. Μόνο οι πελάτες Wi-Fi είναι αργοί: αλλάξτε ζώνη ή πλάτος καναλιού, και δεχτείτε ότι η διαφημιζόμενη ταχύτητα δεν ήταν ποτέ αριθμός VPN.

Όταν ο δρομολογητής είναι πραγματικά το όριο, οι έντιμες επιλογές είναι μια συσκευή με εντολές AES και ταχύτερη διαδρομή προώθησης, μια σήραγγα στην πλευρά του πυρήνα όπως το WireGuard αντί για μία στον χώρο χρήστη, ή η μετακίνηση του πελάτη στην ίδια τη συσκευή ώστε ο δρομολογητής να σταματήσει να κρυπτογραφεί. Το να κλείσετε την πιστοποιημένη κρυπτογράφηση για να κερδίσετε ένα benchmark δεν είναι μία από αυτές· ανταλλάσσει μια ιδιότητα ασφάλειας με έναν αριθμό που πάλι δεν θα ταιριάζει με το κουτί.

Πριν αγοράσετε οτιδήποτε, ξανατρέξτε τα βήματα 2 και 3 στη νέα συσκευή με τον ίδιο διακομιστή και διάρκεια, και μετά συγκρίνετε αναλογίες αντί για κορυφές.

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