New VE User-Slower Network Speeds

NMH85

New Member
Mar 3, 2025
3
0
1
Hi all, I am new to Proxmox VE and have just started learning it. I have migrated from ESXI and everything has gone smoothly but I have a couple of questions to see if anyone can help.

I noticed when I was running ESXI I was getting download speeds of around 137MB’s but now the same VM that was migrated is getting around 105MB’s running on ProxMox VE, the VM is currently running on a Linux bridge. I am going to play with PCI pass through and pass through a full NIC port to see how it performs.

When passing through a NIC with 4 Ethernet ports, can I pass through each port to a separate VM or once a port has been assigned to a VM can the remaining ports only then be added to that VM? I did try this and passed NIC1 through to a VM but when I tried to pass a separate port through to another VM I got an error that the device is in use. I thought I would check to see if this possible before looking further into it.

Am I going about this the correct way to get the full bandwidth of the NIC or are there other tweaks I can do to get it on par with the speed I was getting on ESXI?

Thank you for your assistance
 
Did you install the qemu guest tools in the VM and enable the virtio network driver in the Hardware tab of the VM configuration? Those would be the first things to check. See the manual (linked as "documentation" at the top of the PVE GUI) for details.

Whether pass-through of individual ports will work depends on the specific device. Some of them present the ports as multiple devices while others are multiple functions of one device. Sounds like you have the second kind.

ETA: Use PCI pass-through just to improve throughput is almost never necessary. Linux bridges are very efficient.
 
Last edited:
Thank you for the information, I have installed both the virtio network drivers and qemu tools on my Windows VMs. I also checked the NIC and can see they are all in the same group, I will not be able to pass a separate port through per VM.

I do not know at this stage though how to get the virtio network drivers on my OPNsense vm.

That would make sense, I never had a dedicated port for a VM when running ESXi.

Thanks again
 
Last edited:
I use OpenWRT, which is Linux- rather than BSD-based and it is on a dedicated device in any case. I'm afraid I can't help with OPNSense but they do seem to have some info on their website about running it on KVM-based hypervisors which PVE is. Might be worth taking a look.
 
I have fixed the issue by playing around with it some more. I bonded two 10Gb NICs and then assigned my VMs to use this connection for the LAN. I removed the pass through NIC on my OPNSense VM and also told it to use this bond for LAN. I am getting full speeds now. It appears that I did not need to install any extra drivers to use virtio with OPNSense. I have left the WAN connection to the modem as pass through for now but will test changing that back to a bridge. Thanks for your help :)