Router mengiklankan Wi-Fi cepat lalu kesulitan mengenkripsi lalu lintas tiga perangkat sekaligus. Laptop mencapai batas pemrosesan sementara tautan akses masih punya ruang. Biasanya server dituduh lebih dulu, dan biasanya ia tidak bersalah. Batasnya ada pada mesin yang mengerjakan tunnel, dan menemukannya berarti mengamati mesin itu, bukan uji kecepatan.

Gejalanya menunjuk satu mesin, bukan internet

Tempat tunnel berjalan menentukan prosesor mana yang membayarnya. Jika router yang mengakhirinya, setiap klien yang tercakup berbagi anggaran router itu. Jika laptop menjalankan klien, laptop yang membayar dan router tidak. Menjalankan tunnel di kedua ujung menciptakan dua beban kerja yang masing-masing bisa menjadi batas pada hari berbeda. Menamai mesinnya adalah langkah pertama, dan itulah langkah yang orang lewati saat membuka tiket terhadap penyedia.

Hitung perangkat antara aplikasi dan ujung jauh, lalu tandai perangkat yang mengenkripsi. Sisanya hanyalah pengangkut byte yang tidak bisa dibacanya.

Pantau beban per inti selama transfer

Persentase CPU keseluruhan adalah alat yang salah, karena kerja enkripsi sering menahan satu inti sementara sisanya menganggur. Lihat angka per inti selama transfer terkendali dan perhatikan satu inti yang mendekati jenuh. Rata-rata sedang dengan satu thread sibuk adalah sinyal kuat, sedangkan rata-rata tinggi tanpa thread sibuk biasanya berarti program yang tidak terkait. Polanya lebih penting daripada angkanya.

mpstat -P ALL 1 5
top -H -b -n 1 | head -20
lscpu | grep -i -E "model name|aes"

Perintah ketiga memberi tahu apakah prosesor menyediakan instruksi AES, yang mengubah biaya cipher yang sama dengan selisih besar. Perintah itu tidak memberi tahu apakah implementasi VPN memakainya, dan celah antara kedua fakta itulah sumber sebagian besar klaim optimasi.

Pisahkan enkripsi dari penanganan paket

Enkripsi adalah satu biaya di antara beberapa. Menyalin paket antara kernel dan ruang pengguna, pencarian rute, aturan firewall, dan penanganan antarmuka semuanya menyumbang, dan beberapa implementasi membayar lebih mahal untuk penyalinan daripada untuk kriptografi. Perhatikan penghitung mana yang naik bersama transfer alih-alih mempercayai nama proses untuk menjelaskan setiap siklus. Tunnel di ruang pengguna dan tunnel di dalam kernel dapat menunjukkan profil yang sangat berbeda untuk lalu lintas yang sama.

Jika satu inti sibuk di dalam kernel, penanganannya berbeda dari thread ruang pengguna yang sibuk, dan profil memberi tahu Anda yang mana. Perbedaan itu sepadan dengan satu jam sebelum membeli perangkat keras.

Bandingkan hal yang setara sebelum menarik kesimpulan

Perbandingan hanya berguna jika tugas, jaringan akses, dan titik akhir tetap sama. Ganti server dan hasilnya mencakup rute serta kapasitas server itu; ganti jaringan dan hasilnya mencakup operator. Gunakan berkas yang sama, tujuan yang sama, dan waktu yang sama dalam sehari, serta hentikan pekerjaan latar belakang Anda sendiri. Jika harus mengganti perangkat, ganti hanya perangkatnya.

Daya dan panas mengubah kinerja berkelanjutan, jadi jalankan singkat pada mesin dingin bukan pengukuran yang sama dengan transfer panjang pada mesin panas. Bandingkan kondisi daya yang serupa dan catat, karena batas termal tampak persis seperti batas pemrosesan pada grafik.

Gunakan offload yang didukung dan pastikan benar-benar aktif

Beberapa implementasi dapat memindahkan sebagian jalur data ke kernel atau ke perangkat keras, dan ketersediaannya bergantung pada klien, sistem operasi, server, dan konfigurasi. Baca dokumentasi untuk versi yang Anda jalankan dan gunakan keluaran status atau log miliknya sendiri untuk memastikan fitur aktif. Paket yang terpasang atau kotak yang dicentang bukan bukti. Panduan OpenVPN mendokumentasikan opsi kanal data untuk rilisnya sendiri, dan opsi itu berbeda antar versi.

Ketika perubahan yang didukung menggeser plafon, jalankan ulang tugas aplikasi sekaligus transfer massal, dan simpan profil sebelumnya agar Anda bisa kembali. Laju massal yang berlipat dua sementara aplikasi tetap lambat telah memindahkan hambatan, bukan menghilangkannya.

Jika pengamatan prosesor tidak mengikuti gejala, kembalilah ke sisi jaringan. Percobaan ulang Wi-Fi, antrean, dan jalur keluar menghasilkan hasil yang sama tanpa keterlibatan CPU sama sekali.

Artikel terkait