Breitbandmessung in VM liefert völlig andere Ergebnisse als der Proxmox-Host?!

Dec 19, 2012
478
14
83
Hallo.
Im Grunde sagt es die Überschrift schon aber ich hole nochmal etwas aus:
Wir sind mit 1 GBit Glasfaser angebunden. Die Verbindung läuft über einen Medienwandler an eine OPNSense-Firewall und von dort aus über ein 2x 10 GBit LAG zum Proxmox-Server.

Wenn ich direkt auf dem Proxmox-Host mit dem Befehl "fast" die Geschwindigkeit teste, erhalte ich die vollen 800-900 MBps -- alles so wie es sein soll.
Wenn ich aber in irgendeine VM gehe und das gleiche dort versuche (egal ob Win, Ubuntu, Kali, FreeBSD...) kommt immer nur viel weniger Bandbreite dort an. Ich komme in den VMs in der Regel nur auf ~200-300 MBps (down). Woran liegt das? Sollte nicht die volle Geschwindigkeit durchgereicht werden?

(Ich verwende als NIC-Treiber virtIO -- habe es aber auch schon mit den e1000-Treibern versucht. Und: Virtual Environment 7.4-16)

Danke für einen guten Tipp.
 
Last edited:
Ohne die Netzwerkconfig von Proxmox und der VM Configs geht das sehr schwer...
 
Last edited:
Ok, hier der (hoffentlich) entscheidende Teil vom Server:

Code:
# Predictable Network Names:
# dell Daughter-Network-Card (4 Ports: 2x igb und 2x ixgbe Treiber)
allow-hotplug eno1
iface eno1 inet manual
allow-hotplug eno2
iface eno2 inet manual
allow-hotplug eno3
iface eno3 inet manual
allow-hotplug eno4
iface eno4 inet manual

auto bond0
iface bond0 inet manual
        slaves eno1 eno2
        bond_miimon 100
        bond_mode 802.3ad
        bond_xmit_hash_policy layer2+3
#2-fach-bond0 / LAG1
... ...
auto vmbr12
iface vmbr12 inet manual
        bridge_ports bond0.12
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
#VLAN.12

und hier eine VM-Config:
Code:
bootdisk: scsi0
cores: 4
ide2: local:iso/kali-linux-2023.3-live-amd64.iso,media=cdrom,size=4388012K
memory: 4096
name: Kali-Linux
net0: virtio=16:E0:22:D8:2E:E7,bridge=vmbr12
numa: 0
ostype: l26
scsi0: zfs-pool-2:vm-800-disk-0,size=32G
scsihw: virtio-scsi-pci
smbios1: uuid=43e58e43-8ba0-42f1-a20d-98faef88cf3e
sockets: 1

HIlft das weiter? Oder fehlt noch etwas anderes?
 
Proxmox hat welche Konfig beim Internetzugang?

Hast du z. B. mit iperf3 die Verbindungen zu Opnsense gemessen, um diese als Fehlerquelle auszuschließen?
 
ah, ok -- diese Info fehlt noch: Der Proxmox-Host selbst hängt am dieser Schnittstelle:

Code:
auto vmbr0
iface vmbr0 inet static
        address 192.168.1.10
        netmask 255.255.255.0
        gateway 192.168.1.1 (das ist die OPNSense in diesem VLAN)
        bridge_ports eno3
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
#Proxmox-Host (dell-Server)

Bei uns ist VLAN.1 das Management-VLAN. Da hängt der Promxox-Server direkt untagged drin. Und die Verbindung ins Internet läuft ebenfalls über die gleiche OPNSense wie oben. Von der OPNSense dann (wie gesagt) mit 1 GBit/s raus ins Internet.

Von daher liefert der "fast"-Befehl auf dem Proxmox-Host schon die richtigen Infos zur tatsächlichen Internetgeschwindigkeit.
Mit iperf3 habe ich einiges ausprobiert. Mir war aber nie 100%ig klar, wie ich das so messen muss, dass es über die FW läuft. Das scheint einen Unterschied zu machen.
 
OK. Die Messung für Proxmox und die VM's verwendet verschiedene NICs. Das ganze sollte ja auch über einen Switch laufen. Sind alles 10 GB Ports oder auch 2.5 GB Ports darunter?
 
Die Verbindung für die VMs läuft so:

OPNSense <== 2x 10G-LAG==> Unifi-Switch <== 2x 10G-LAG==> CISCO-SG350X <==2x 10G-LAG==> Proxmox-Server (bond0) (dell R730xd)

Der Host selbst läuft so:
OPNSense <== 2x 10G-LAG==> Unifi-Switch <--1 GBit Single--> CISCO-SG300 <--1 GBit Single--> Proxmox-Server (vmbr0)

Es ist kein 2.5 GB Port dabei.
 
Die VM's bereits über vmbr0 testweise verbunden. Wenn hier der Speed passt, liegt das Problem vmbr12 und damit bei dieser Verbindung.
 
Hoppla -- das habe ich gerade geprüft und ich bin tatsächlich drüber :oops:. Es dreht sich ja nur um die VMs (und CTs), die auch tatsächlich laufen ... da gibt's keine Anzeige im WebUI, ob man die CPUs überprovisioniert hat, oder? Das wäre doch mal ein sinnvolles Feature?!

Weiß nicht, ob es auch schneller gegangen wäre:
Ich musste mir die Daten zusammensuchen und habe es erst schwarz auf weiß gesehen, als ich in einer Excel-Tabelle die vCPUs mit Status "running" addiert habe. Nun muss ich mal schauen, wo ich vCPUs einsparen kann und ob es danach besser läuft.

Ach ja: Es ist ein dell-730xd-Server mit dieser CPU:
64 x Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz (2 Sockets)
 
Last edited:
Man kann ja etwas Überprovisionieren. Bei kleinen VMs mit 1-2 vCPUs geht bis zu 1:4 (HT darf man aber nicht komplett einrechnen)
Wenn du im Schnitt 4vCPUs hast und mit deinen 2x16 Cores + HT solltest du 1:1,6 nicht überschreiten. Das sind so ca. Erfahrungswerte, bei ähnlichen Intel CPUs. Bei AMD geht oft ein wenig mehr, aber muss man im Einzelfall gucken.
 
Hallo.
Es scheint wirklich was gebracht zu haben: Wir haben ein paar VMs gestoppt, die nicht unbedingt laufen müssen und schon geht die Bandbreite bei "./fast" wieder hoch. Danke für den Tipp!

Aber es wäre wirklich ein sehr sinnvolles Feature, wenn man es direkt im WebUI sehen könnte, dass man überprovisioniert hat, meine ich!? Vor allem, wenn das solche massiven Auswirkungen auf die Performance aller VMs haben kann...
Unter "Übersicht" hat man zwar ein Diagramm zur "CPU-Auslastung" und "IO-Verzögerung" aber das gibt uU nur bedingt Aufschluss darüber, oder?
 
Last edited:
Na ja -- es würde ja eine "Warnung" reichen, die in etwa so lautet wie "Vorsicht: Ab jetzt wird überprovisioniert!" -- wenn man ab dann sein Gehirn einschaltet, wird man immerhin daran erinnert es zu tun...
 

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!