Networking speed issues: 1Gb/s instead of 2.5Gb/s

notarobot

Well-Known Member
Apr 15, 2019
30
1
48
35
Hello everyone

I have a 4 ports QNAP 2.5Gbits NIC that I passthrough my Opnsense VM and through that this VM is able to get an Internet speed of around 2.2/2.3Gbp/s so this is OK.

On my Proxmox hypervisor i have another 2.5Gbp NIC that is used as a bridge for all LAN VMs. If i check with ethtool on Proxmox the card is indeed at a negotiated speed of 2500Mbps Full Duplex.
The problem is all the VM on this NIC can't get Internet speed above 1Gb/s (tested with speedtest and fast.com). Even if I force the speed with ethtool i got 1Gbp.
All the NIC on the VMs are VirtIO.

Am I missing something here ? How can I have 2,5gbe speed everywhere ?

Thanks for the help !
 
Maybe I missed it, but what's the output of ethtool <device> within the OS guest?

BTW: what's the command you use to force the interface to a higher speed?
 
Last edited:
what kind of cpu/chipset is your host running on? could be limitations on the pcie lanes
 
Maybe I missed it, but what's the output of ethtool <device> within the OS guest?
Bash:
ethtool ens18
Settings for ens18:
    Supported ports: [  ]
    Supported link modes:   Not reported
    Supported pause frame use: No
    Supports auto-negotiation: No
    Supported FEC modes: Not reported
    Advertised link modes:  Not reported
    Advertised pause frame use: No
    Advertised auto-negotiation: No
    Advertised FEC modes: Not reported
    Speed: Unknown!
    Duplex: Unknown! (255)
    Auto-negotiation: off
    Port: Other
    PHYAD: 0
    Transceiver: internal
netlink error: Operation not permitted
    Link detected: yes

BTW: what's the command you sue to force the interface to a higher speed?
ethtool -s ens18 speed 2500 duplex full
 
Bash:
ethtool ens18
Settings for ens18:
    Supported ports: [  ]
    Supported link modes:   Not reported
    Supported pause frame use: No
    Supports auto-negotiation: No
    Supported FEC modes: Not reported
    Advertised link modes:  Not reported
    Advertised pause frame use: No
    Advertised auto-negotiation: No
    Advertised FEC modes: Not reported
    Speed: Unknown!
    Duplex: Unknown! (255)
    Auto-negotiation: off
    Port: Other
    PHYAD: 0
    Transceiver: internal
netlink error: Operation not permitted
    Link detected: yes


ethtool -s ens18 speed 2500 duplex full
Which driver are you using for the guest? Can you paste the conf file?

I found this

"Make txqueuelen of virbr0 10000 and mtu 9000 using ifconfigAnd in guest change mtu (jumbo packet) to 9000 which is under ethernet card device settings. It hits 10Gbit/s speeds with virto drivers of red hat on Win10."

on

https://www.reddit.com/r/Proxmox/comments/j2t3or/can_i_set_the_virtio_network_device_to_a_faster/

You might want to give it a try.
 
Last edited:
Have you tried to increase the mtu to 9000 as suggested?
If I try on the host It gives me
Code:
TASK ERROR: netdev net0: MTU '9000' is bigger than the bridge MTU '1500'
which is normal but I'm afraid to lose connectivity if I change it on the bridge
 
If I try on the host It gives me
Code:
TASK ERROR: netdev net0: MTU '9000' is bigger than the bridge MTU '1500'
which is normal but I'm afraid to lose connectivity if I change it on the bridge
You have to modify that even in your host -> network otherwise it will not work
 
I'm not willing to change MTU size to 9000 as all my network won't be complian and I'm not sure I need jumbo frames.
I wonder if the problem isn't elsewhere. On a Windows VM on this bridge the NIC says 10Gb/s, but Iperf or speedtest still show 1Gb/s speed
 
You may take a capture on the outgoing interface on the host for the two scearios, from the host when you get a throughout close to 10Gbps and and another capture with test from the host and have a look at what the captures differ by.
 
I ran a few test to see where there might be a problem:
Just to explain: my server contains a motherboard with
- Integrated 2.5Gbe NIC that I use for the bridge used by my LAN
- Another 4 port 2.5GbE NIC in a PCI slot dedicated to my Opnsense VM
- a 1GbE NIC dedicated to the bridge used by my DMZ.

If I do a speedtest from my OpnSense machine to the Net: I have 2.5GbE
if I do a speedtest between my OPnsense machine to the Proxmox server: i have 2.5GbE
If I do a speedtest from Proxmox server to the Internet: Only 1GbE speed
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!