Proxmox 7.0 Performance Probleme

tweak

Member
Dec 27, 2019
68
2
13
40
Hallo,
ich weiß nicht wie ich den Titel besser formulieren hätte sollen, aber ich bin momentan etwas gefrustet von meiner Proxmox-Installation.
Aktuell verhält es sich so, dass jeder Tag eine neue Überraschung bringt. Soll heißen an einem Tag laufen die Windows 10 VMs reibungslos, am nächsten Tag gibt es wieder Systemunterbrechnungen und das System ist kaum Nutzbar.

Am Hypervisor hab ich bereits einige Benchmarks gemacht um Storage, Netzwerk etc. ausschließen zu können. Bin mittlerweile echt an einem Punkt wo ich nicht mehr weiter weiß.

zfs-pool
Code:
root@pve01:~# dd if=/dev/zero of=/tmp/output conv=fdatasync bs=384k count=1k; rm -f /tmp/output
1024+0 records in
1024+0 records out
402653184 bytes (403 MB, 384 MiB) copied, 0.208657 s, 1.9 GB/s

Code:
root@pve01:~# pveversion --verbose
proxmox-ve: 7.1-1 (running kernel: 5.13.19-4-pve)
pve-manager: 7.1-10 (running version: 7.1-10/6ddebafe)
pve-kernel-helper: 7.1-12
pve-kernel-5.13: 7.1-7
pve-kernel-5.13.19-4-pve: 5.13.19-9
pve-kernel-5.13.19-2-pve: 5.13.19-4
ceph-fuse: 15.2.15-pve1
corosync: 3.1.5-pve2
criu: 3.15-1+pve-1
glusterfs-client: 9.2-1
ifupdown2: 3.1.0-1+pmx3
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-1
libknet1: 1.22-pve2
libproxmox-acme-perl: 1.4.1
libproxmox-backup-qemu0: 1.2.0-1
libpve-access-control: 7.1-6
libpve-apiclient-perl: 3.2-1
libpve-common-perl: 7.1-3
libpve-guest-common-perl: 4.1-1
libpve-http-server-perl: 4.1-1
libpve-storage-perl: 7.1-1
libspice-server1: 0.14.3-2.1
lvm2: 2.03.11-2.1
lxc-pve: 4.0.11-1
lxcfs: 4.0.11-pve1
novnc-pve: 1.3.0-2
proxmox-backup-client: 2.1.5-1
proxmox-backup-file-restore: 2.1.5-1
proxmox-mini-journalreader: 1.3-1
proxmox-widget-toolkit: 3.4-6
pve-cluster: 7.1-3
pve-container: 4.1-4
pve-docs: 7.1-2
pve-edk2-firmware: 3.20210831-2
pve-firewall: 4.2-5
pve-firmware: 3.3-5
pve-ha-manager: 3.3-3
pve-i18n: 2.6-2
pve-qemu-kvm: 6.1.1-2
pve-xtermjs: 4.16.0-1
qemu-server: 7.1-4
smartmontools: 7.2-1
spiceterm: 3.2-2
swtpm: 0.7.0~rc1+2
vncterm: 1.7-1
zfsutils-linux: 2.1.2-pve1

Code:
root@pve01:~# cat /etc/pve/qemu-server/220.conf
agent: 1
balloon: 4096
bios: ovmf
boot: order=virtio0;ide2;net0
cores: 4
cpu: host
efidisk0: local-zfs:vm-220-disk-0,size=1M
ide2: none,media=cdrom
machine: pc-q35-6.1
memory: 6144
name: vdi01
net0: e1000=42:9E:3D:2C:A7:E8,bridge=vmbr1,tag=50
numa: 0
onboot: 1
ostype: win10
scsihw: virtio-scsi-single
shares: 10
smbios1: uuid=64b862e7-9493-4a7f-a6d8-da118ca1bac8
sockets: 1
vga: memory=32
virtio0: local-zfs:vm-220-disk-1,size=80G
vmgenid: 52375d4a-c74e-4f91-bb19-8f561374df4a


Code:
root@pve01:~# pveperf
CPU BOGOMIPS:      79199.76
REGEX/SECOND:      256428
HD SIZE:           1033.80 GB (rpool/ROOT/pve-1)
FSYNCS/SECOND:     1399.59
DNS EXT:           80.55 ms

Danke für eure Ideen.
 
Last edited:
zfs-pool
Code:
root@pve01:~# dd if=/dev/zero of=/tmp/output conv=fdatasync bs=384k count=1k; rm -f /tmp/output
1024+0 records in
1024+0 records out
402653184 bytes (403 MB, 384 MiB) copied, 0.208657 s, 1.9 GB/s
Das sagt nicht viel aus. Du solltest lieber mit fio benchmarken. Mit deinem dd-Befehl schreibst du ja nur Nullen in eine Datei auf einem Dataset. Zum einen nutzt ZFS standardmäßig LZ4-Kompression was dann Nullen auf nahezu Null Größe runterkomprimiert weshalb da kaum etwas geschrieben wird. Zum anderen nutzen VMs Zvols (also Block Devices) und keine Datasets (also Dateisysteme). Willst du da echte Performance sehen müsstest du schon zufällige Daten auf ein gemountetes Zvol schreiben. Oder gleich fio in der WinVM laufen lassen, wenn du noch den Virtualisierungsoverhead mit in der Rechnung haben willst.
Code:
root@pve01:~# cat /etc/pve/qemu-server/220.conf
agent: 1
balloon: 4096
bios: ovmf
boot: order=virtio0;ide2;net0
cores: 4
cpu: host
efidisk0: local-zfs:vm-220-disk-0,size=1M
ide2: none,media=cdrom
machine: pc-q35-6.1
memory: 6144
name: vdi01
net0: e1000=42:9E:3D:2C:A7:E8,bridge=vmbr1,tag=50
numa: 0
onboot: 1
ostype: win10
scsihw: virtio-scsi-single
shares: 10
smbios1: uuid=64b862e7-9493-4a7f-a6d8-da118ca1bac8
sockets: 1
vga: memory=32
virtio0: local-zfs:vm-220-disk-1,size=80G
vmgenid: 52375d4a-c74e-4f91-bb19-8f561374df4a
E1000 NICs sind ziemlich lahm. Solltest du lieber virtio als NIC versuchen, weil die paravirtualisiert ist und nicht völlig emuliert wie die E1000. Und "virtio-scsi-single" hat nur einen Vorteil gegenüber "virtio-scsi" wenn du auch noch "IO thread" für die virtuelle Disk aktivierst. Außerdem würde ich noch "SSD emulation" für die virtuelle Disk aktivieren, damit Win10 nicht versucht dir die virtuelle Disk zu defragmentieren. ZFS nutzt ja CoW und da ist so etwas schädlich. Ballooning ist auch nicht gerade förderlich für die Performance.
Code:
root@pve01:~# pveperf
CPU BOGOMIPS:      79199.76
REGEX/SECOND:      256428
HD SIZE:           1033.80 GB (rpool/ROOT/pve-1)
FSYNCS/SECOND:     1399.59
DNS EXT:           80.55 ms
Das hier ist mein Heimserver (E5-2683 v4 @ 32 thread 2.10 GHz (boost einzelner Kerne auf 3.0 und bei Vollast so 2.6-2.7 GHz auf allen Kernen) von 2016; 4x 16GB DDR4 2133MHz Reg. ECC; 2x Intel S3700 100GB im verschlüsseltem mdadm mirror) mal zum Vergleich:
Code:
root@Hypervisor:~# pveperf
CPU BOGOMIPS:      134396.16
REGEX/SECOND:      2455858
HD SIZE:           20.97 GB (/dev/mapper/vgpmx-lvroot)
BUFFERED READS:    288.37 MB/sec
AVERAGE SEEK TIME: 0.10 ms
FSYNCS/SECOND:     1546.59
DNS EXT:           49.41 ms
"CPU BOGOMIPS" und "REGEX/SECOND" sind da bei dir ja schon relativ lahm. Gerade die "REGEX/SECOND" habe ich das 10-fache. Was für Hardware ist das denn?
 
Last edited:
Hallo,
hab die genannten Storage Anpassungen mal versucht und sehe weiter. Die NIC hab ich gewechselt von Virtio auf E1000 da ich ein paar Beiträge gefunden hatte, dass Virtio Probleme macht.
Zudem ich nach wie vor das Problem habe, dass sich die aktuellen Guest-Addons 0.215 nicht installieren lassen.

Zur Hardware -> Ist ein HP DL20 G10 mit E-2136 @ 12 thread 3,3 Ghz und Turbo auf 4,5 Ghz.
64 GB DDR4 ECC u. 2x Samsung PM883

Also würde ich meinen das dieses Setup für den Windows-Host absolut ausreichend sein sollte. Die CPU langweilt sich ja...
 
Ist dann aber komisch, dass sich da deine Hardware so schlecht in den PVE Benchmarks macht. Singlethreaded Performance müsste da ja eigentlich ganz ordentlich sein.
 
Habe soeben etwas gefunden, dass es scheinbar mit dem Kernel von 7.1 (5.13) Probleme geben soll. Daher hab ich testweise den Kernel 5.15 installiert:

Code:
CPU BOGOMIPS:      79199.76
REGEX/SECOND:      4514688
HD SIZE:           1033.79 GB (rpool/ROOT/pve-1)
FSYNCS/SECOND:     10165.74
DNS EXT:           99.98 ms
 
20-fache"REGEX/SECOND" sehen dann ja jetzt schon ganz ordentlich aus. Dann drücke ich mal die Daumen, dass das was hilft.
Was mir noch einfällt: PVE 7.1 hat den CPU Governor von "Performance" auf "Schedutil" gewechselt. Die CPU taktet also runter wenn sie nichts zu tun hat und vorher ist sie immer auf maximaler Leistung gelaufen. Vielleicht stört da bei dir ja auch "Schedutil" wenn sich die Leistung schwankend anfühlt. Im UEFI kannst du auch mal gucken ob alles korrekt eingestellt ist. Also CPU auf Performance gestellt, C-States deaktiviert, Turbo aktiviert, VT-d/VT-x aktiviert usw.
 
Last edited:

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!