ฉันใช้ iperf3 เพื่อวัดประสิทธิภาพของ NIC (82599ES) (พอร์ตเดียว)
- Ubuntu 18.04 พร้อมคอมไพล์ 5.14.14 ด้วยตนเอง (จาก repo git ที่เสถียรต้นน้ำ)
- iperf3 3.1.3
- 82599ES และเปิดใช้เฟรมจัมโบ้บนสวิตช์
- พารามิเตอร์เคอร์เนลเป็นค่าดีฟอลต์มากหรือน้อย
คำสั่งที่ฉันกำลังเรียกใช้คือ
# iperf3 -c <IP> -u -l 8000 -t 600 -i 1 -b 10G
[ ID] ดาตาแกรมรวมแบนด์วิธการถ่ายโอนช่วงเวลา
[ 4] 0.00-1.00 วินาที 415 เมกะไบต์ 3.48 Gbits/วินาที 54429
[ 4] 1.00-2.00 วินาที 414 เมกะไบต์ 3.47 Gbits/วินาที 54274
ไม่มีการเพิ่มประสิทธิภาพใด ๆ ดูเหมือนว่า UDP ไม่ได้ อัตราการเข้าถึงสาย
ฉันพยายามเพิ่มขนาดบัฟเฟอร์ซ็อกเก็ต
# sysctl -w net.core.wmem_default=2129920
# sysctl -w net.core.wmem_max=2129920
จากนั้นการเรียกใช้ iperf3 ด้วยตัวเลือกเดียวกันอาจถึงอัตราบรรทัด
# iperf3 -c 100.200.116.81 -t 600 -b 10G -i 1 -l 8000 -u
[ ID] ดาตาแกรมรวมแบนด์วิธการถ่ายโอนช่วงเวลา
[ 4] 0.00-1.00 วินาที 1.15 GBytes 9.91 Gbits/วินาที 154798
[ 4] 1.00-2.00 วินาที 1.15 GBytes 9.91 Gbits/วินาที 154806
คำถามของฉัน เหตุใดการเพิ่มบัฟเฟอร์ซ็อกเก็ตจึงช่วยเพิ่มประสิทธิภาพ tx