Penghala dengan lencana Wi-Fi 3,000 Mbps masih boleh memindahkan trafik tersulit pada sebahagian kecil daripada angka itu, dan kedua-dua angka itu tidak menipu. Penarafan radio menerangkan modulasi terbaik yang mungkin bagi pautan wayarles yang disokong oleh cipset; angka VPN menerangkan betapa pantas satu peranti boleh menolak paket tersulit melalui CPU penghala dan keluar dari litar akses anda. Itu lapisan berbeza, saiz paket berbeza dan kaedah pengukuran berbeza. Anggap angka pada kotak sebagai siling yang tiada siapa capai, bukan ramalan kelajuan terowong anda.

Langkah 1: Petakan empat lapisan yang mengehadkan angka itu

Hampir setiap aduan penghala perlahan yang saya tangani jatuh ke dalam satu daripada empat peringkat: pautan wayarles, kadar akses WAN, laluan penghantaran (NAT, tembok api, penjejakan sambungan) atau laluan kripto VPN. Semuanya bertindan, dan peringkat paling perlahan menentukan hasilnya. Kadar Wi-Fi yang diiklankan hanya bercakap tentang peringkat pertama, dan bercakap dengan murah hati.

Angka itu datang daripada bilangan strim didarab lebar saluran didarab modulasi tertinggi yang boleh dirunding cipset. Radio 2x2 pada 5 GHz pada 80 MHz dengan 1024-QAM diiklankan hampir 1,200 Mbps, tetapi Wi-Fi ialah medium dikongsi separuh dupleks: klien bergilir-gilir, penghantaran semula dan trafik pengurusan membakar masa udara, dan TCP menambah overhednya sendiri. Klien yang merunding kadar tertinggi dalam keadaan ideal biasanya mengukur jauh di bawah separuhnya, dan lebih rendah apabila rangkaian jiran muncul.

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

Jika jadual menunjuk ke radio, betulkan dahulu bahagian wayarles: jalur, lebar saluran, jarak. Jika ia menunjuk di bawah radio, empat langkah seterusnya yang penting, dan berapa banyak antena dibeli tidak akan mengubahnya.

Langkah 2: Ambil garis dasar berwayar sebelum menyentuh radio

Letakkan komputer riba pada Ethernet dan ukur dahulu laluan tanpa terowong, kerana itu memberi anda penyebut. Jalankan alat daya pemprosesan di hujung sana, pada VPS atau pelayan rumah yang menamatkan VPN, dan halakan klien ke alamat awamnya supaya trafik melalui penghala dan litar akses anda.

# 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

Dua angka daripada blok itu menjawab soalan berbeza. Satu strim menunjukkan siling setiap sambungan, termasuk tingkah laku tetingkap TCP dan sebarang pembentukan setiap aliran pada laluan. Empat strim menunjukkan sama ada pautan mempunyai kapasiti yang anda tidak gunakan, kerana aliran selari boleh mengisi paip yang tidak dapat diisi oleh satu aliran.

Kekalkan kejujurannya: hos yang sama, waktu hari dan tempoh, tanpa apa-apa lain menstrim di rumah. Pemindahan pukal tiga puluh saat ialah unit yang betul di sini, dan RFC 6349, rangka kerja untuk menguji daya pemprosesan TCP, dibina atas penaakulan itu, kerana letusan pendek dan permintaan kecil membuat pautan kelihatan lebih baik. Catat garis dasar sebelum anda mengubah apa-apa.

Langkah 3: Jalankan ujian yang sama melalui terowong

Sekarang ulangi terhadap alamat terowong titik akhir, dengan klien, tempoh dan bilangan strim yang sama, terowong dihidupkan dan tiada trafik lain. Nisbah antara kedua-dua hasil memberitahu anda berapa kos penyulitan dan enkapsulasi pada perkakasan itu; angka mutlak memberitahu anda sama ada ia cukup untuk kerja itu.

Perhatikan pembilang semasa pemindahan berjalan. Pada WireGuard, wg show melaporkan bait yang dipindahkan setiap rakan; pada OpenVPN, fail status yang ditulis pada selang masa memberi anda paparan yang sama.

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

Jika angka terowong hampir dengan garis dasar berwayar, VPN bukan kesesakan anda dan anda boleh berhenti menyalahkannya. Jika ia hanya sebahagian kecil daripada garis dasar, kehilangan berlaku di dalam laluan penyulitan dan penghantaran penghala, dan langkah seterusnya memberitahu bahagian mana.

Satu amaran: sebaik sahaja IP keluar berubah, sesetengah perkhidmatan ujian kelajuan senyap-senyap memilih pelayan pengukuran lain, jadi anda akhirnya membandingkan dua destinasi. Pin sendiri alamat pelayan.

Langkah 4: Baca CPU sebagai laluan, bukan purata

Penghala yang menunjukkan 30 peratus jumlah CPU masih boleh tepu: kerja satu terowong cenderung mendarat pada satu teras, satu baris gangguan atau satu benang kernel, jadi purata menyembunyikan siling. Lihat angka setiap teras dan softirq daripada tolok papan pemuka.

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

Tiga perkara penting dalam output itu. Satu teras tersemat hampir 100 peratus sementara yang lain melahu menunjuk kepada had setiap sambungan. %soft yang berat atau ksoftirqd yang sibuk pada satu CPU menunjuk kepada pemprosesan paket sebelah terima yang tidak merebak merentas baris gilir. Dan bendera aes yang tiada bermakna CPU tidak mempunyai arahan AES, jadi penyulitan simetri berjalan dalam perisian dan jauh lebih mahal setiap paket.

Pelaksanaan juga penting. Instans OpenVPN tradisional dalam ruang pengguna memproses paket satu terowong sebahagian besarnya di satu tempat, jadi kotak berbilang teras yang pantas boleh berkelakuan seperti satu teras untuk terowong itu. WireGuard dalam kernel menyebarkan kerja merentas CPU, dan pemunggahan saluran data OpenVPN juga memindahkan pengendalian paket ke dalam kernel, tetapi hanya pada binaan dan platform yang menyokongnya. Dakwaan pecutan perkakasan pada halaman pemasaran bukan bukti bahawa laluan kod yang anda jalankan menggunakannya.

Langkah 5: Putuskan apa yang perlu diubah, dalam urutan itu

Turunkan senarai ini dan berhenti pada baris pertama yang benar, kerana mengubah apa-apa di bawahnya tidak akan menggerakkan angka.

1. Daya pemprosesan terus berwayar lebih rendah daripada apa yang anda bayar: berbincang dengan penyedia, kerana terowong tidak boleh mencipta kapasiti yang tidak diberikan oleh litar akses. 2. Berwayar terus baik tetapi satu teras tersemat semasa ujian terowong: laluan kripto penghala ialah hadnya. 3. CPU melahu tetapi terowong perlahan: periksa MTU dan pemecahan, kemudian kapasiti titik akhir jauh itu sendiri. 4. Hanya klien Wi-Fi perlahan: tukar jalur atau lebar saluran, dan terima bahawa kadar yang diiklankan tidak pernah menjadi angka VPN.

Apabila penghala benar-benar menjadi had, pilihan jujur ialah peranti dengan arahan AES dan laluan penghantaran lebih pantas, terowong sebelah kernel seperti WireGuard dan bukan yang di ruang pengguna, atau memindahkan klien ke peranti itu sendiri supaya penghala berhenti menyulitkan. Mematikan penyulitan disahkan untuk memenangi penanda aras bukan salah satu daripadanya; ia menukar sifat keselamatan dengan angka yang masih tidak akan sepadan dengan kotak.

Sebelum membeli apa-apa, jalankan semula langkah 2 dan 3 pada peranti baharu dengan pelayan dan tempoh yang sama, kemudian bandingkan nisbah, bukan puncak.

Artikel berkaitan