สิ่งแวดล้อม:
- เซิร์ฟเวอร์ PROXMOX 5 (KVM) หลายตัว (เคอร์เนล: 4.15.18-30-pve)
- VM ที่ใช้งาน Debian 9, 10 และ 11 (vitrio /qemu-guest-agent เวอร์ชันปัจจุบันของเวอร์ชัน Debian ที่เกี่ยวข้อง)
- การ์ดเครือข่ายที่เชื่อมต่อผ่านโมดูลเคอร์เนล virtio_net
- VM ที่เชื่อมต่อผ่านลินุกซ์บริดจ์
- สวิตช์เครือข่าย 1Gbit
ปัญหา
- VMs ส่วนใหญ่ถ่ายโอนด้วยประมาณ 5 Mbit/s เท่านั้น
- บางครั้งอัตราการถ่ายโอนเต็มประมาณ 950Mbit/s เมื่อทดสอบในทิศทางตรงกันข้าม มักจะ (ไม่เสมอไป) เพียง 5 Mbit/s
- อัตราการถ่ายโอนระหว่าง VM บนโฮสต์หนึ่งใช้ได้ประมาณ 20Gbit/s (เซิร์ฟเวอร์เก่า)
การทดสอบ
- ทำการทดสอบผ่าน iperf3
- อัตราการถ่ายโอนระหว่างโฮสต์ KVM นั้นโอเค ประมาณ 950Mbit/s ทั้งสองทิศทาง
- ฉันย้าย VM ไปมาระหว่างโฮสต์โดยไม่เห็นรูปแบบของปัญหา
- ทำการทดสอบกับ VM ที่แตกต่างกัน (Debian 9-11)
ทดสอบทั้งสองทิศทาง vm ถึง vm (perf3)
root@@HOST1:~# iperf3 -c @HOST2
กำลังเชื่อมต่อกับโฮสต์ @HOST2 พอร์ต 5201
[ 5] ท้องถิ่น 192.168.40.121 พอร์ต 59440 เชื่อมต่อกับ 192.168.40.52 พอร์ต 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 วินาที 109 เมกะไบต์ 918 เมกะไบต์/วินาที 22 352 กิโลไบต์
[ 5] 1.00-2.00 วินาที 107 เมกะไบต์ 900 เมกะบิต/วินาที 16 253 กิโลไบต์
[ 5] 2.00-3.00 วินาที 107 เมกะไบต์ 898 เมกะไบต์/วินาที 2 390 กิโลไบต์
[ 5] 3.00-4.00 วินาที 108 เมกะไบต์ 910 เมกะไบต์/วินาที 7 423 กิโลไบต์
[ 5] 4.00-5.00 วินาที 109 เมกะไบต์ 913 เมกะไบต์/วินาที 3 419 กิโลไบต์
[ 5] 5.00-6.00 วินาที 93.3 MBytes 783 Mbits/วินาที 19 165 KBytes
[ 5] 6.00-7.00 วินาที 92.3 MBytes 775 Mbits/วินาที 3 375 KBytes
[ 5] 7.00-8.00 วินาที 107 เมกะไบต์ 895 เมกะไบต์/วินาที 27 358 กิโลไบต์
[ 5] 8.00-9.00 วินาที 110 เมกะไบต์ 920 เมกะไบต์/วินาที 9 322 กิโลไบต์
[ 5] 9.00-10.00 วินาที 109 เมกะไบต์ 914 เมกะไบต์/วินาที 17 327 กิโลไบต์
- - - - - - - - - - - - - - - - - - - - - - - -
[ ID] บิตเรตการถ่ายโอนช่วงเวลา
[ 5] 0.00-10.00 วินาที 1.03 GBytes 883 Mbits/วินาที 125 ผู้ส่ง
[ 5] 0.00-10.04 วินาที ตัวรับ 1.02 GBytes 876 Mbits/วินาที
เสร็จสิ้น
root@@HOST1:~# iperf3 -s
--------------------------------------------- ---------
เซิร์ฟเวอร์กำลังฟังบน 5201
--------------------------------------------- ---------
ยอมรับการเชื่อมต่อจาก 192.168.40.52 พอร์ต 35006
[ 5] ท้องถิ่น 192.168.40.121 พอร์ต 5201 เชื่อมต่อกับ 192.168.40.52 พอร์ต 35008
[ ID] บิตเรตการถ่ายโอนช่วงเวลา
[ 5] 0.00-1.00 วินาที 598 KBytes 4.90 Mbits/วินาที
[ 5] 1.00-2.00 วินาที 699 KBytes 5.72 Mbits/วินาที
[ 5] 2.00-3.00 วินาที 1.38 เมกะไบต์ 11.6 เมกะบิต/วินาที
[ 5] 3.00-4.00 วินาที 871 KBytes 7.14 Mbits/วินาที
[ 5] 4.00-5.00 วินาที 1.36 เมกะไบต์ 11.4 เมกะบิต/วินาที
[ 5] 5.00-6.00 วินาที 1.43 เมกะไบต์ 12.0 เมกะบิต/วินาที
[ 5] 6.00-7.00 วินาที 1.23 เมกะไบต์ 10.3 เมกะบิต/วินาที
[ 5] 7.00-8.00 วินาที 592 KBytes 4.85 Mbits/วินาที
[ 5] 8.00-9.00 วินาที 1.20 เมกะไบต์ 10.1 เมกะบิต/วินาที
[ 5] 9.00-10.00 วินาที 1.35 เมกะไบต์ 11.4 เมกะบิต/วินาที
- - - - - - - - - - - - - - - - - - - - - - - -
[ ID] บิตเรตการถ่ายโอนช่วงเวลา
[ 5] 0.00-10.04 วินาที 10.6 เมกะไบต์ ตัวรับ 8.89 เมกะบิต/วินาที
--------------------------------------------- ---------
เซิร์ฟเวอร์กำลังฟังบน 5201
--------------------------------------------- ---------
การกำหนดค่า NIC
- ฝั่งเซิร์ฟเวอร์ 1Gbit/s full duplex (ทดสอบด้วย ethtool)
- อแดปเตอร์ของอินเทล
ใครบ้างมีความคิดใด ๆ ว่าฉันจะแยกปัญหาหรือทราบปัญหาได้อย่างไร