Dua server dengan jumlah prosesor sama dapat mempertahankan throughput yang sangat berbeda, karena angka yang penting adalah berapa banyak inti yang benar-benar dapat dipakai jalur data aktif. Satu daemon ruang pengguna yang memproses paket satu klien dibatasi satu inti, sedangkan jalur kernel yang di-offload dapat menyebarkan pekerjaan itu. Tak satu pun dari kedua pernyataan itu memberi tahu apa yang akan dilakukan mesin tertentu terhadap lalu lintas Anda, karena itu pengukuran datang sebelum menghitung inti.

Perbandingan di bawah ini membahas di mana paket diproses, bukan produk mana yang lebih cepat secara abstrak. Itu pertanyaan berbeda dengan jawaban berbeda.

Satu inti per aliran pada jalur ruang pengguna

Pada instans Community OpenVPN tradisional, kanal data diproses di ruang pengguna, dan koneksi yang sibuk dapat mengunci satu prosesor sementara pemanfaatan mesin secara keseluruhan tetap tidak mencolok. Itulah sebabnya menambah inti pada host yang sudah jenuh pada satu aliran tidak mengubah apa pun: penjadwal tidak punya cara membagi pekerjaan itu. Struktur satu proses per klien membatasi transfer satu klien pada kapasitas satu inti, berapa pun jumlah inti totalnya. Bacalah pemanfaatan per inti selama pengujian, bukan angka agregat, atau hambatan akan tampak seperti sisa kapasitas.

Menjalankan beberapa instans server pada satu host menyebarkan klien terpisah ke berbagai proses. Itu tidak memparalelkan koneksi yang sudah ada, dan menuntut kumpulan, pendengar, serta keputusan perutean yang terpisah.

Jalur lain: paket di dalam kernel

Offload kanal data memindahkan pemrosesan paket yang didukung dan kriptografi ke dalam kernel, tempat pekerjaan itu dapat memakai beberapa inti. Itu mengubah pertanyaan kapasitas dari satu inti menjadi mesin, tetapi hanya untuk konfigurasi yang didukung implementasinya: modul kernel yang kompatibel, cipher data yang memenuhi syarat, dan konfigurasi tanpa fitur yang dikecualikan offload. Memasang modul tidak sama dengan memakainya, jadi pastikan mode aktif dari log koneksi itu sendiri atau dari keluaran status. Banner versi membuktikan apa yang tersedia, bukan apa yang berjalan.

Offload tidak menghapus autentikasi atau kanal kontrol, dan tidak menjadikan setiap penyebaran multi-inti. Itu adalah percepatan lokal atas jalur data yang kompatibel, dan persyaratannya berbeda menurut platform dan versi.

Apa yang sebenarnya ditentukan perbandingan

Pilihan sebenarnya ada di antara menerima batas atas per aliran, menyebarkan klien ke beberapa instans, dan beralih ke konfigurasi offload yang didukung. Masing-masing menangani masalah berbeda, dan memilih yang salah menghabiskan uang tanpa menggerakkan angka. Uji yang penting adalah uji yang berbentuk seperti cara layanan itu dipakai.

Ukur tiga bentuk: satu klien dengan satu transfer, satu klien dengan beberapa aliran, dan beberapa klien sekaligus. Total tinggi pada bentuk ketiga tidak membuktikan satu unduhan dapat mencapainya, dan transfer tunggal yang lambat tidak membuktikan server kehabisan kapasitas total. Hasilnya menjawab pertanyaan berbeda dan keduanya layak dimiliki.

Hanya bentuk tengah yang memberi tahu apakah konkurensi di dalam satu klien membantu, yang biasanya merupakan sifat transportasi dan jalur, bukan server. Hanya bentuk pertama yang memberi tahu batas atas yang akan dilihat satu aplikasi. Jaga beban kerja tetap sama antar-eksekusi agar perbandingannya bermakna.

Mengukur agar angkanya bermakna

Catat versi server dan klien, jalur data aktif, cipher data yang dinegosiasikan, arah transfer, ukuran paket, jumlah aliran, dan durasi. Amati aktivitas per inti serta paket dan antrean yang hilang di kedua ujung, karena antarmuka klien sendiri, jaringan penyedia, atau layanan tujuan dapat menjadi batas lebih dulu. Ubah satu variabel setiap kali, sebab eksekusi yang mengubah cipher, kompresi, MTU, dan offload sekaligus tidak dapat memberi tahu mana yang penting. Pertahankan kebijakan akses yang benar-benar ingin Anda terapkan selama pengujian, karena tataan laboratorium yang tak akan dijalankan siapa pun hanya membuktikan sedikit.

Lalu sisakan ruang untuk kanal kontrol, untuk negosiasi ulang, dan untuk segala hal lain yang berjalan di host.

Laporkan apa yang dipertahankan konfigurasi di bawah konkurensi yang dimaksudkan, bukan laju yang diekstrapolasi dari perangkat keras orang lain. Angka dengan syarat pengujiannya terlampir berguna; janji tanpanya adalah dugaan yang akan dikutip balik kepada Anda.

Artikel terkait