Varför routerns Wi-Fi-betyg inte förutsäger VPN-genomströmningen
En annonserad Wi-Fi-hastighet och en uppmätt VPN-hastighet beskriver olika lager. Gå igenom den här ordnade kontrollen innan du köper en snabbare router.
En router med ett Wi-Fi-märke på 3,000 Mbps kan fortfarande flytta krypterad trafik med en bråkdel av den siffran, och ingen av de två siffrorna är oärlig. Radiobetyget beskriver den bästa möjliga moduleringen av den trådlösa länken som chipsetet stöder; VPN-siffran beskriver hur snabbt en enda enhet kan trycka krypterade paket genom routerns processor och ut ur din accesslinje. Det är olika lager, olika paketstorlekar och olika mätmetoder. Behandla siffran på lådan som ett tak ingen når, inte som en prognos för din tunnelhastighet.
Steg 1: Kartlägg de fyra lager som begränsar siffran
Nästan varje klagomål på en långsam router som jag har arbetat med landar i en av fyra nivåer: den trådlösa länken, WAN-åtkomsthastigheten, vidarebefordringsvägen (NAT, brandvägg, anslutningsspårning) eller VPN-kryptovägen. De staplas, och den långsammaste nivån avgör resultatet. En annonserad Wi-Fi-hastighet talar bara om den första nivån, och den talar generöst om den.
Siffran kommer från strömmar gånger kanalbredd gånger den högsta modulering som chipsetet kan förhandla fram. En 2x2-radio på 5 GHz vid 80 MHz med 1024-QAM annonseras nära 1,200 Mbps, men Wi-Fi är ett delat halvduplexmedium: klienter turas om, omsändningar och hanteringstrafik bränner lufttid, och TCP lägger på sin egen overhead. En klient som förhandlar fram topphastigheten under idealiska förhållanden mäter vanligtvis långt under hälften, och mindre när grannätverk dyker upp.
| Symptom | Tier to suspect first |
|---|---|
| Wired clients are slow too | WAN access or forwarding path |
| Only Wi-Fi clients are slow | Radio, airtime, or channel width |
| One stream is slow, four parallel streams add up | Per-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 internet | WAN, not the tunnel |
Om tabellen pekar på radion, fixa den trådlösa sidan först: band, kanalbredd, avstånd. Om den pekar under radion är de nästa fyra stegen viktiga, och inget anteninköp kommer att ändra det.
Steg 2: Ta en kabelbaserad baslinje innan du rör radion
Sätt bärbara datorn på Ethernet och mät först vägen utan tunneln, för det ger dig en nämnare. Kör genomströmningsverktyget på andra sidan, på VPS:en eller hemservern som avslutar VPN:en, och peka klienten mot dess publika adress så att trafiken går genom routern och accesslinjen.
# 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
Två siffror från det blocket svarar på olika frågor. En ström visar taket per anslutning, vilket inkluderar TCP-fönstrets beteende och all formning per flöde på vägen. Fyra strömmar visar om länken har kapacitet du inte använder, eftersom parallella flöden kan fylla ett rör som ett enda flöde inte fyller.
Håll det ärligt: samma värd, tid på dygnet och varaktighet, och inget annat streamar i huset. En överföring på trettio sekunder är rätt enhet här, och RFC 6349, ramverket för test av TCP-genomströmning, bygger just på det resonemanget, eftersom korta skurar och små förfrågningar smickrar en länk. Skriv ner baslinjen innan du ändrar något.
Steg 3: Kör samma test genom tunneln
Upprepa det nu mot slutpunktens tunneladress, med samma klient, varaktighet och antal strömmar, med tunneln uppe och utan annan trafik. Förhållandet mellan de två resultaten berättar vad kryptering och inkapsling kostar på den hårdvaran; den absoluta siffran berättar om det räcker för jobbet.
Håll koll på räknarna medan överföringen pågår. På WireGuard rapporterar wg show överförda byte per peer; på OpenVPN ger en statusfil som skrivs med intervall dig samma vy.
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
Om tunnelsiffran ligger nära den kabelbaserade baslinjen är VPN:en inte din flaskhals, och du kan sluta skylla på den. Om det är en bråkdel av baslinjen skedde förlusten inne i routerns krypterings- och vidarebefordringsväg, och nästa steg säger vilken del.
En varning: så snart utgående IP ändras väljer vissa hastighetstesttjänster tyst en annan mätserver, så du jämför till slut två olika destinationer. Fäst serveradressen själv.
Steg 4: Läs processorn som en väg, inte som ett medelvärde
En router som visar 30 procent total CPU kan fortfarande vara mättad: arbetet för en tunnel landar oftast på en kärna, en avbrottskö eller en kerneltråd, så medelvärdet döljer taket. Titta på siffror per kärna och softirq i stället för mätaren på instrumentpanelen.
mpstat -P ALL 1
top -H -p $(pgrep -f 'openvpn')
grep -o -m1 aes /proc/cpuinfo
Tre saker spelar roll i den utskriften. En kärna fastnaglad nära 100 procent medan de andra står stilla pekar på en gräns per anslutning. Tung %soft eller en upptagen ksoftirqd på en CPU pekar på paketbehandling på mottagarsidan som inte sprids över köerna. Och en saknad aes-flagga betyder att processorn saknar AES-instruktioner, så symmetrisk kryptering går i programvara och kostar mycket mer per paket.
Implementeringen spelar också roll. En traditionell OpenVPN-instans i användarutrymmet behandlar paketen för en tunnel till stor del på ett ställe, så en snabb flerkärnig maskin kan bete sig som enkelkärnig för den tunneln. WireGuard i kärnan sprider arbetet över processorer, och OpenVPN:s datakanalavlastning flyttar också pakethanteringen in i kärnan, men bara på byggen och plattformar som stöder det. Ett påstående om hårdvaruacceleration på marknadsföringssidan är inget bevis för att kodvägen du kör använder den.
Steg 5: Bestäm vad du ska ändra, i den ordningen
Gå nedåt i listan och stanna vid den första raden som är sann, för att ändra något under den flyttar inte siffran.
1. Kabelbaserad direkt genomströmning ligger under det du betalar för: prata med leverantören, för tunneln kan inte skapa kapacitet som accesslinjen inte levererar. 2. Kabelanslutet direkt är bra, men en kärna fastnar under tunneltestet: routerns kryptoväg är gränsen. 3. Processorn är ledig, men tunneln är långsam: kontrollera MTU och fragmentering, sedan den fjärra slutpunktens egen kapacitet. 4. Bara Wi-Fi-klienter är långsamma: byt band eller kanalbredd, och acceptera att den annonserade hastigheten aldrig var en VPN-siffra.
När routern verkligen är gränsen är de ärliga alternativen en enhet med AES-instruktioner och en snabbare vidarebefordringsväg, en tunnel på kärnsidan som WireGuard i stället för en i användarutrymmet, eller att flytta klienten in på själva enheten så att routern slutar kryptera. Att stänga av autentiserad kryptering för att vinna ett referenstest är inte ett av dem; det byter en säkerhetsegenskap mot en siffra som fortfarande inte kommer att matcha lådan.
Innan du köper något, kör steg 2 och 3 igen på den nya enheten med samma server och varaktighet, och jämför sedan förhållanden i stället för toppar.