Adakah gateway VPN anda terhad oleh CPU? Baca dahulu beban setiap teras
Purata menyembunyikan benang yang penting. Baca beban setiap teras terhadap pemindahan terkawal, ketepikan laluan, kemudian tukar satu tetapan berdokumen setiap larian.
Tentukan had mana antara tiga had yang telah anda capai sebelum membeli instans yang lebih besar. Satu teras penuh manakala yang lain melahu menunjukkan kerja kripto setiap aliran. Semua teras tepu semasa pemindahan menunjukkan kapasiti agregat. CPU rendah dengan bilangan penghantaran semula yang meningkat menunjukkan laluan. Setiap satu mempunyai langkah pertama berbeza, dan hanya satu diselesaikan oleh instans yang lebih besar.
Tiga had, satu jadual, tiga pembetulan
| Limit | Reading during a transfer | First move |
|---|---|---|
| Single thread | one core near 100%, siblings idle | spread flows across workers |
| Aggregate CPU | every core busy, load average climbs | capacity, or less work per byte |
| Path or provider | low CPU, retransmits or steal time high | MTU, loss, host contention |
Baca baris sebagai diagnosis, bukan peringkat. Satu benang pada 100% manakala yang lain melahu ialah hasil paling biasa pada gateway yang membawa satu terowong besar, kerana penyulitan aliran itu berjalan pada satu teras. Semua teras sibuk semasa pemindahan bermaksud mesin sudah melakukan seberapa banyak kerja yang mampu. CPU rendah dengan penghantaran semula meningkat bermaksud pemproses menunggu rangkaian yang terus menggugurkan data.
Betulkan mengikut urutan bukti itu. Menyebarkan aliran kepada pekerja membantu kes pertama dan tidak melakukan apa-apa untuk kes kedua. Instans lebih besar membantu kes kedua dan membazir wang pada kes pertama. Pembetulan MTU atau kehilangan ialah satu-satunya yang menyentuh kes ketiga. Membeli kapasiti sebelum tahu di baris mana anda berada ialah versi mahal untuk meneka.
Pisahkan benang tersemat daripada hos sibuk
Mulakan dengan penggunaan setiap teras, supaya satu teras tersemat tidak boleh bersembunyi dalam purata. Satu larian semasa pemindahan menunjukkan sama ada beban rata atau berpuncak. Kedua-dua bentuk bermaklumat, dan profil berpuncak selalunya bermaksud tetingkap persampelan menangkap aktiviti penjadual dan bukan penyulitan.
mpstat -P ALL 1 5
Kaitkan teras sibuk dengan proses, kemudian dengan benang. Larian susulan di bawah menyimpan benang induk dan anak bersama, yang penting apabila daemon bercabang setiap sambungan:
pidstat -u -t -p $(pgrep -f 'openvpn|wireguard|ipsec') 1 10
Kripto kernel tidak pernah muncul dalam pembilang proses ruang pengguna. Sampel benang secara berasingan dan bandingkan pandangan itu dengan perakaunan proses:
top -H -b -n 1 | head -20
Baca pembilang soket terakhir, kerana itulah yang menentukan sama ada CPU tambahan akan membantu langsung. Penghantaran semula meningkat semasa CPU rata bukan masalah pemproses. Biarkan pemindahan berjalan semasa anda mempersampel, jika tidak angka itu menerangkan mesin melahu:
ss -ti | grep -E 'retrans|cwnd|rtt'
Pemindahan terkawal, dijalankan dua kali
Pembilang melahu tidak membuktikan apa-apa, dan penanda aras terhadap titik akhir rawak membuktikan sangat sedikit. Pilih satu klien, satu destinasi dan satu pemindahan wakil yang dibenarkan untuk anda jalankan, kemudian rakam daya pemprosesan dan kependaman interaktif dalam tetingkap yang sama. Gateway boleh tepu semasa salinan pukal masih selesai, dan lengkung kependaman itulah yang benar-benar dirasai pengguna. Tulis pemindahan, bilangan klien dan versi daemon di sebelah angka.
Ulang larian dengan beberapa aliran selari. Peningkatan merentas aliran mencadangkan tetingkap setiap aliran; kekal rata dengan satu teras tersemat mencadangkan pemprosesan.
Kemudian ulang sekali lagi dengan beban kerja pilihan dihentikan. Sandaran, penghantar log atau pangkalan data pada hos yang sama boleh menghasilkan purata sibuk yang tiada kaitan dengan terowong. Jika CPU masih tersemat sedangkan hos sebaliknya tenang, bukti menunjuk kepada proses VPN. Jika ia menurun, anda mengukur jiran, dan gateway tidak pernah menjadi masalah.
Ketepikan laluan sebelum membeli perkakasan
Penghantaran semula meningkat, tetingkap kesesakan mengecil dan masa pergi balik bertambah semuanya menunjuk jauh dari pemproses. Bandingkan MTU terowong dengan MTU laluan, periksa pautan asas untuk kehilangan, dan sahkan bahawa pautan naik klien sendiri bukan hadnya. Gateway lebih besar tidak membaiki pautan yang menggugurkan paket, dan pengguna menerangkan kedua-dua kerosakan dengan perkataan yang sama. Pembilang penghantaran semula memisahkan keduanya dalam beberapa minit.
Pada pelayan maya, tambah metrik penyedia kepada metrik tetamu. Masa dicuri ialah cara jualan berlebihan menjadi kelihatan di dalam tetamu, dan tiada penalaan di dalam tetamu menghapuskannya. Pembilang tetamu tidak dapat melihat hos, jadi graf tetamu yang bersih bukan bukti hos yang sihat.
Satu perubahan, satu pengukuran
Pilih hipotesis yang disokong bukti, kemudian tukar tepat satu tetapan yang disokong: bilangan pekerja, pilihan nyahmuat yang berdokumen atau saiz instans. OpenVPN menerbitkan panduan penyelesaian masalah prestasi tentang pembahagian yang sama antara pemprosesan dan pengangkutan: Penyelesaian masalah prestasi OpenVPN.
Sahkan pilihan nyahmuat benar-benar aktif dan bukan hanya mempercayai bendera, kemudian jalankan semula pemindahan yang sama dan bandingkan setara dengan setara. Itulah satu-satunya cara membezakan peningkatan sebenar daripada petang yang tenang. Simpan titik semak yang boleh anda pulihkan, kerana pada perubahan kedua orang kehilangan jejak mana yang membantu. Satu pemboleh ubah setiap larian lambat untuk sehari dan cepat untuk sebulan.
Jangan lemahkan pengesahan atau sut sifer untuk membuat graf kelihatan lebih baik. Jika CPU masih tidak mengikut simptom, kembali kepada pemeriksaan laluan dan aplikasi dan bukannya menaik taraf berdasarkan tekaan.