How to get vm speed to 10G

Ayush

Member
Oct 27, 2023
81
2
8
Hello Team.

I have recently installed card on Proxmox base box , I added bridge and attach that bridge to vm. But it is not showing speed as 10G. How can I get 10G speed on VM ?
 
Available options does not show 10G drivers.
 

Attachments

  • Screenshot from 2024-06-28 19-12-24.png
    Screenshot from 2024-06-28 19-12-24.png
    26.1 KB · Views: 127
Hi Team,

Base System shows that it has 10G card connection.

# ethtool eno1
Settings for eno1:
Supported ports: [ FIBRE ]
Supported link modes: 10000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: 10000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 10000Mb/s
Duplex: Full
Auto-negotiation: off
Port: Direct Attach Copper
PHYAD: 0
Transceiver: internal
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
 
VirtIO drivers are all that you need to setup on the Proxmox VE guest to see the best performance inside the guest, if it is a Windows guest you additionally need to install drivers.

I would suggest to perform network benchmarks with iperf:
- Whether the Proxmox VE host can actually reach 10G speeds. You can perform this test between the host and the closest thing to it, e.g. the network switch, or test it directly against another host which you know can reach that speed.
- Test the network speed between the guest VM and the host
 
Hi Maximiliano,

Thanks for quick reply, Even with linux VM do I need to install virtio drivers ?
 
Most Linux distributions will have the VirtIO driver built in.

So if you created the VM with a VirtIO network adapter then your Linux VM should automatically load it.

That's in theory anyway. :)
 
If it has network then it it is using the correct drivers :)
 
My tests showed that a virtio vnic transferred 12 to 17 Gbps to another vm's virtio, while an e1000 reached 4 Gbps to that same other virtio. Both virtual machines were on the same Proxmox host on vmbr0 with standard proxmox networking (no OVS). The interesting fact is that both the virtio and e1000 vnics were reported by the vm as being 1000 Gbps, but both reached much faster speeds (clearly with virtio excelling very much).

The linux vm I used was in fact a virtual Synology that I set up for testing purposes, where to my surprise the virtio adapter worked out of the box (DSM 7.1.1-42962 Update 1 on a virtual DS3622xs+). For testing the speed I used iperf3, on Synology SSH it can be accessed by typing "sudo synogear install" (as far as I know without needing any package to be installed first).

The conclusion: even when a virtual machine shows a certain network speed on a certain adapter, it doesn't mean it will throttle down to that speed. For traffic between 2 virtual machines on the same virtual bridge, there is no speed limit besides what the driver, your physical CPUs and RAM can muster. But as soon as a physical network switch is involved, traffic will be limited to the speed of its ports.

Raw test results:

(synogear) root@Vimana:/volume1/homes/someone# iperf3 -s
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 192.168.2.43, port 35856
[ 5] local 192.168.2.108 port 5201 connected to 192.168.2.43 port 35857 ------- THIS IS THE VIRTIO
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 2.03 GBytes 17.5 Gbits/sec
[ 5] 1.00-2.00 sec 1.99 GBytes 17.1 Gbits/sec
[ 5] 2.00-3.00 sec 2.06 GBytes 17.7 Gbits/sec
[ 5] 3.00-4.00 sec 1.71 GBytes 14.7 Gbits/sec
[ 5] 4.00-5.00 sec 1.44 GBytes 12.4 Gbits/sec
[ 5] 5.00-6.00 sec 1.39 GBytes 11.9 Gbits/sec
[ 5] 6.00-7.00 sec 1.43 GBytes 12.3 Gbits/sec
[ 5] 7.00-8.00 sec 1.42 GBytes 12.2 Gbits/sec
[ 5] 8.00-9.00 sec 1.41 GBytes 12.1 Gbits/sec
[ 5] 8.00-9.00 sec 1.41 GBytes 12.1 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-9.00 sec 15.3 GBytes 14.6 Gbits/sec receiver
iperf3: the client has terminated
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------
Accepted connection from 192.168.2.43, port 60790
[ 5] local 192.168.2.102 port 5201 connected to 192.168.2.43 port 60791 ------- THIS IS THE E1000
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 520 MBytes 4.36 Gbits/sec
[ 5] 1.00-2.00 sec 514 MBytes 4.31 Gbits/sec
[ 5] 2.00-3.00 sec 524 MBytes 4.40 Gbits/sec
[ 5] 3.00-4.00 sec 546 MBytes 4.58 Gbits/sec
[ 5] 4.00-5.00 sec 517 MBytes 4.34 Gbits/sec
[ 5] 4.00-5.00 sec 517 MBytes 4.34 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-5.00 sec 2.89 GBytes 4.96 Gbits/sec receiver
iperf3: the client has terminated
 
Last edited: