Router s nálepkou Wi-Fi 3,000 Mbps může stále přenášet šifrovaný provoz jen zlomkem tohoto čísla a ani jedno z těch čísel není nepoctivé. Hodnocení rádia popisuje nejlepší možnou modulaci bezdrátového spoje, kterou čipset podporuje; číslo pro VPN popisuje, jak rychle dokáže jedno zařízení protlačit šifrované pakety přes procesor routeru a ven z vašeho přístupového okruhu. To jsou různé vrstvy, různé velikosti paketů a různé metody měření. Berte číslo na krabici jako strop, kterého nikdo nedosáhne, ne jako předpověď rychlosti vašeho tunelu.

Krok 1: Zmapujte čtyři vrstvy, které číslo omezují

Téměř každá stížnost na pomalý router, kterou jsem řešil, spadá do jedné ze čtyř úrovní: bezdrátový spoj, rychlost přístupu WAN, cesta předávání (NAT, firewall, sledování spojení) nebo krypto cesta VPN. Sčítají se a nejpomalejší úroveň určuje výsledek. Inzerovaná rychlost Wi-Fi mluví jen o první úrovni a mluví o ní štědře.

Toto číslo vzniká z počtu toků krát šířka kanálu krát nejvyšší modulace, kterou čipset umí vyjednat. Rádio 2x2 na 5 GHz při 80 MHz s 1024-QAM se inzeruje kolem 1,200 Mbps, ale Wi-Fi je sdílené poloduplexní médium: klienti se střídají, opakované přenosy a řídicí provoz spalují vysílací čas a TCP přidává svou vlastní režii. Klient, který v ideálních podmínkách vyjedná nejvyšší rychlost, obvykle naměří hluboko pod polovinou a ještě méně, jakmile se objeví sousední sítě.

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

Pokud tabulka ukazuje na rádio, opravte nejprve bezdrátovou stranu: pásmo, šířku kanálu, vzdálenost. Pokud ukazuje pod rádio, rozhodují následující čtyři kroky a žádné nakupování antén to nezmění.

Krok 2: Pořiďte kabelovou základní linii, než se dotknete rádia

Připojte notebook na Ethernet a nejprve změřte cestu bez tunelu, protože tím získáte jmenovatel. Spusťte nástroj propustnosti na vzdálené straně, na VPS nebo domácím serveru, který ukončuje VPN, a namiřte klienta na jeho veřejnou adresu, aby provoz procházel vaším routerem a přístupovým okruhem.

# 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

Dvě čísla z toho bloku odpovídají na různé otázky. Jeden tok ukazuje strop na jedno spojení, který zahrnuje chování okna TCP a jakékoli tvarování toku na cestě. Čtyři toky ukazují, zda má spoj kapacitu, kterou nevyužíváte, protože paralelní toky dokážou naplnit trubku, kterou jeden tok nezaplní.

Držte to poctivé: stejný hostitel, denní doba a doba trvání, a nic dalšího doma nestreamuje. Přenos třicet sekund dlouhý je zde správná jednotka a RFC 6349, rámec pro testování propustnosti TCP, je postaven právě na této úvaze, protože krátké nárazy a malé požadavky spoji lichotí. Zapište základní linii, než cokoli změníte.

Krok 3: Spusťte stejný test tunelem

Teď to zopakujte proti adrese tunelu na koncovém bodu, se stejným klientem, délkou a počtem toků, s tunelem nahoru a bez dalšího provozu. Poměr mezi oběma výsledky vám řekne, co šifrování a zapouzdření na tomto hardwaru stojí; absolutní číslo vám řekne, zda to na danou práci stačí.

Sledujte čítače, dokud přenos běží. U WireGuardu wg show hlásí přenesené bajty na protějšek; u OpenVPN vám soubor se stavem zapisovaný v intervalu dává stejný pohled.

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

Pokud je číslo tunelu blízko kabelové základní linii, VPN není vaše úzké hrdlo a můžete ji přestat obviňovat. Pokud je to zlomek základní linie, ztráta vznikla uvnitř krypto a předávací cesty routeru a příští krok vám řekne, která část.

Jedno upozornění: jakmile se změní výstupní IP, některé služby pro test rychlosti tiše zvolí jiný měřicí server, takže nakonec porovnáváte dvě různé destinace. Adresu serveru si zafixujte sami.

Krok 4: Čtěte procesor jako cestu, ne jako průměr

Router, který ukazuje 30 procent celkového vytížení procesoru, může být stále nasycený: práce jednoho tunelu obvykle padne na jedno jádro, jednu frontu přerušení nebo jedno vlákno jádra, takže průměr strop skrývá. Dívejte se na čísla po jádrech a na softirq místo měřidla na panelu.

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

V tom výstupu záleží na třech věcech. Jedno jádro přikované blízko 100 procentům, zatímco ostatní zahálí, ukazuje na limit na spojení. Vysoký %soft nebo zaneprázdněný ksoftirqd na jednom procesoru ukazuje na zpracování paketů na straně příjmu, které se nerozkládá mezi fronty. A chybějící příznak aes znamená, že procesor nemá instrukce AES, takže symetrické šifrování běží v softwaru a stojí mnohem víc na paket.

Záleží i na implementaci. Tradiční instance OpenVPN v uživatelském prostoru zpracovává pakety jednoho tunelu z velké části na jednom místě, takže rychlá vícejádrová krabice se pro tento tunel může chovat jako jednojádrová. WireGuard v jádře rozkládá práci mezi procesory a odlehčení datového kanálu u OpenVPN také přesouvá zpracování paketů do jádra, ale jen v sestaveních a na platformách, které to podporují. Tvrzení o hardwarovém zrychlení na marketingové stránce není důkaz, že ho cesta kódu, kterou spouštíte, využívá.

Krok 5: Rozhodněte, co změnit, v tomto pořadí

Projděte seznam dolů a zastavte se u prvního pravdivého řádku, protože změna čehokoli pod ním číslem nepohne.

1. Kabelová přímá propustnost je nižší než to, co platíte: mluvte s poskytovatelem, protože tunel nemůže vytvořit kapacitu, kterou přístupový okruh nedodá. 2. Kabelově přímo je to v pořádku, ale jedno jádro se při testu tunelu přikove: krypto cesta routeru je limit. 3. Procesor zahálí, ale tunel je pomalý: zkontrolujte MTU a fragmentaci, pak vlastní kapacitu vzdáleného koncového bodu. 4. Pomalí jsou jen klienti Wi-Fi: změňte pásmo nebo šířku kanálu a přijměte, že inzerovaná rychlost nikdy nebyla číslem pro VPN.

Když je router skutečně limitem, poctivé možnosti jsou zařízení s instrukcemi AES a rychlejší předávací cestou, tunel na straně jádra jako WireGuard místo toho v uživatelském prostoru, nebo přesun klienta přímo na zařízení, aby router přestal šifrovat. Vypnutí autentizovaného šifrování, abyste vyhráli benchmark, mezi ně nepatří; mění bezpečnostní vlastnost za číslo, které stejně nebude odpovídat krabici.

Než cokoli koupíte, spusťte kroky 2 a 3 na novém zařízení se stejným serverem a délkou a pak porovnávejte poměry, ne špičky.

Související články