network speed problems

Oct 9, 2024
230
8
18
Hi everyone, I'm explaining my problem. I have 3 nodes with Proxmox 9, and each node has 10G network cards.
Doing some testing, I noticed from various complaints from my customers that VM traffic can't exceed 3G, either between VMs, even on the same node, or between VMs and the outside world. However, when I do traffic tests between the various nodes (such as Ceph traffic, migrations, etc.), traffic between the nodes easily reaches 10G. Could someone tell me what I could check or how to configure the VMs to get the best performance on the network? I'm also wondering why, even if I put 2 VMs on the same node, the traffic between them is always terrible?
 
and when I go outside? , then the strange thing is that in download on the VMs if I do a spidtest I go at 4G, in UP I go at a full 10G What should I do to solve this problem? Instead if I do it between the VMs and VMs I go 4G down and 4G an UP
 
Last edited:
I have already done this test and it gives me 4G from the VM of node 1 to the VM of node 2, and 4G from the VM of node 2 to the VM of node 1, if instead I do a test from the VM to the router I get 4G in down and 10G in UP, this means that all the VMs have down of 4G and UP of 10G, if instead I do the test from one node to another I get 10 down and 10 UP, and it is as if all the VMs have down up to approximately 4G
 
2 x VM can do 4G download concurrently ?
have you tried switching vNIC model ? VirtIO NIC vs Intel E1000 ?
have you tried iperf -P parallel streams ?
BTW, iperf2 is cpu multithreads where iperf3 is cpu multithreads only since version 3.16.
( so iperf3 > 3.16 is bounded to single thread CPU even while parallel streams used)
What is cpu host ?
how many vcpu assigned ?
Windows VM and Linux VM impacted ?
 
Yes, I tried changing the vNIC model? VirtIO NIC vs. Intel E1000? And the problem gets worse.
The CPU is set to HOST with 10 cores.
All Windows and Linux VMs are affected.
The symptom is that all VMs are limited in UP, both by traffic between them and by external traffic. However, in DOWN I can reach 10G without any problems.
 
doing some tests I noticed that if I use the virtualized VitriO settings, my test is down 10G and UP 4G, if instead I use the intel E100E modes the problem is reversed, I get down 4G and UP 10G
 
Hi everyone, I'm explaining my problem. I have 3 nodes with Proxmox 9, and each node has 10G network cards.
Doing some testing, I noticed from various complaints from my customers that VM traffic can't exceed 3G, either between VMs, even on the same node, or between VMs and the outside world. However, when I do traffic tests between the various nodes (such as Ceph traffic, migrations, etc.), traffic between the nodes easily reaches 10G. Could someone tell me what I could check or how to configure the VMs to get the best performance on the network? I'm also wondering why, even if I put 2 VMs on the same node, the traffic between them is always terrible?
Sounds like you’re bumping into a VM network stack bottleneck (bridge + single-queue) rather than a cable limit — have you tried enabling virtio multiqueue + jumbo frames (MTU 9000) end-to-end and pinning IRQs/queues to vCPUs?