Uji trafik¶
Trafik diuji melewati router, dari client ke server: c1 → R2 → R1 → s1, memakai iperf3.
Jangan menguji dari router
Trafik yang berasal dari router sendiri lewat jalur Linux (tap), bukan VPP. Lihat Alur paket.
bwtest¶
bwtest melakukan tiga hal:
- TCP throughput:
iperf3 -P Ndari c1 ke s1, lalu menampilkanshow dataplane loaddi R2 dan R1. - Pembagian koneksi: UDP satu arah. UDP dipakai karena tanpa ACK, sehingga hasilnya murni menunjukkan pembagian koneksi. Lulus kalau setiap worker meneruskan minimal setengah porsi adilnya (≥ 25% untuk 2 worker, ≥ 16,7% untuk 3 worker), yang dicek dengan
cidr-dataplane load --check. - Cara pembagian:
show dataplane queues.
Contoh hasil (R2 dengan 4 vCPU)¶
==> Connection spreading (one-way UDP, 48 streams, so ACKs do not blur the result)
--- r2: show dataplane load (UDP, one direction)
Thread Core Forwarded Share Avg pps Vec/call Bar
----------------------------------------------------------------
vpp_main 0 0 0.0% 0 0.00
vpp_wk_0 1 12198 35.5% 424 18.06 #######
vpp_wk_1 2 13570 39.5% 471 5.33 ########
vpp_wk_2 3 8624 25.1% 299 16.50 #####
--- r1: show dataplane load (UDP, one direction)
vpp_wk_0 1 16118 56.3% 286 8.39 ###########
vpp_wk_1 2 12489 43.7% 222 14.10 #########
PASS R2 spreads the connections over its workers
PASS R1 spreads the connections over its workers
Angka throughput di VM bukan angka performa router
Di lab, throughput dibatasi virtualisasi. Contoh di atas berasal dari VM tanpa KVM (emulasi), sehingga hanya sekitar 55 Mbps. Yang dibuktikan lab adalah pembagian koneksinya. Angka performa sebenarnya harus diukur di server fisik dengan NIC Intel atau Mellanox.
Memantau saat uji berjalan¶
admin@r2> monitor interface traffic
Interface Input rate Input pps Output rate Output pps
------------------------------------------------------------------
eth1 319.61 Kbps 579 54.06 Mbps 4463
eth2 53.83 Mbps 4444 314.74 Kbps 570
eth2 menerima dari c1, dan eth1 meneruskan ke R1.
Manual¶
Di router: clear dataplane statistics sebelum uji, lalu show dataplane load sesudahnya.
Menguji di hardware asli¶
- Siapkan client dan server di luar router, di dua sisi yang berbeda.
- Jalankan
iperf3 -c <server> -P 64 -t 60. Untuk angka line-rate, pakai generator trafik seperti TRex. - Pantau
monitor interface trafficdanshow dataplane load. KalauVec/callmendekati 256 di semua worker, router sudah jenuh.