Performance Probleme mit Single-Thread Anwendung

mwagner

Member
Dec 3, 2019
6
0
21
42
Hallo zusammen,

ich versuche seit längerer Zeit die Performance einer Handwerkeranwendung (OSD) in einer Windows 2016 Terminalserver VM in den Griff zu bekommen. Der Hersteller gibt an, dass eine möglichst hohe Single-Thread Performance benötigt wird. Außerdem ist es obligatorisch, die Energieeinstellungen im Windows auf "Höchstleistung" zu stellen. Bei Virtualisierung kennen Sie nur "einen Fix" für Hyper-V (und ggf. VMWare). Hier soll im Bios auf "Maximum Perfomance", das Host- Betriebssystem (HyperV auf 2016) auf "Höchstleistung" und auch die Energie-Optionen der 2016er VM auf "Höchstleistung" gestellt werden. Klingt erstmal merkwürdig, funktioniert aber tatsächlich unter Hyper-V.

Es ist mir bisher nicht gelungen, unter Proxmox / KVM eine ähnliche Performance zu erreichen, wie mit den o.g. unter Hyper-V.

Unter Proxmox/KVM ist die Anwendung mindestens 2-3 mal langsamer als unter Hyper-V. HwInfo64 auf der VM zeigt je nach VM Konfiguration entweder ~700MHz je Kern an, oder aber konstant ~3292MHz. Die Anwendung selbst scheint aber nicht in der Lage zu sein, mehr Leistung abzufordern. Die CPU taktet nicht hoch, Anwendung lahm! Währenddessen zeigt "/proc/cpuinfo" auf allen 16 Einträgen fröhlich bis zu 3.8GHz je Kern.

Im Gegensatz zu Hyper-V hat die Änderung der Energieoption von "Ausbalanciert" zu Höchstleistung unter Proxmox keinen Einfluss auf die von HwInfo64 angezeigte Frequenz.

Folgende Hardware ist im Einsatz:
  • HP-DL380p Gen8
  • 128GB RAM
  • P420i Controller mit RAID 5 aus 6 SSDs
  • Dual Intel Xeon E5-2667v2 (8C/16T, 3.3-4.0 GHz)
Aktuell gibt es einen Proxmox ZFS Cluster mit zwei identischen Servern, daneben zum Testen bereits einen Hyper-V 2016 auf identischer Hardware.


Folgendes habe ich bisher probiert:
  • Im BIOS steht das "HP Power Profile" auf Maximum Performance (habe jedoch gelesen, dass der "intel_pstate" Treiber vom Linux diese Einstellung übergeht)
  • Auf dem Proxmox Host steht der Govenor auf "performance"
  • verschiedenste CPU Typen für die VM (default, kvm64, host, IvyBridge)
  • verschiedene zusätzliche "Extra CPU Flags"
  • Abschalten von intel_pstate mit Kernel Parametern im Grub "cpuidle.off=1 idle=poll"
  • Heraufsetzen der min_scaling_frequency auf GHz (echo "3700000" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_min_freq)
  • Spielen mit custom_cpu_types und zusätzlichen flags (mehr raten als Halbwissen)

Ausgabe # cpupower frequency-info
Code:
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 1.20 GHz - 4.00 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 3.70 GHz and 4.00 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.60 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
    3700 MHz max turbo 4 active cores
    3800 MHz max turbo 3 active cores
    3900 MHz max turbo 2 active cores
    4000 MHz max turbo 1 active cores




Aus Verzweiflung habe ich nun den dritten Server daneben stehen und stelle die Anwendung auf 2016-HyperV per RemoteApp bereit, das ist aber mehr Krücke als Lösung.


Ich hoffe, jemand hat eine Idee. Vielleicht können auch Hinweise in Bezug auf DATEV Anwendungen helfen, da soll es ähnliche Anforderungen geben.

Vielen Dank,
Marcus
 
Last edited:
Hi,

generell wird Windows immer schneller auf Hyper-V sein als auf anderen Hypervisor sein.
Auch bin ich mir nicht sicher welche Frequenz HWinfo ausließt, da ich auch nur 700MHZ.

CPU-Z sagt aber 4.3GHZ.

Kannst du mal bitte deine Aktuelle VM Config schicken.
 
Hallo Wolfgang,

hier die aktuelle Config:

# qm config 104
agent: 1
bootdisk: virtio0
cores: 8
cpu: host,flags=+pcid;+aes
ide0: none,media=cdrom
memory: 32768
name: kg-ts01
net0: virtio=46:5C:BF:1B:34:AF,bridge=vmbr0
numa: 0
ostype: win10
parent: autoSnap201030120047
protection: 1
scsihw: virtio-scsi-pci
serial0: socket
smbios1: uuid=7b44b8b8-a0bd-46ff-aae8-bfaffa74dc30
sockets: 2
virtio0: local-zfs:vm-104-disk-0,size=100G
vmgenid: 0ef836c7-70c0-47c3-9660-abcd588c693f


VG,
Marcus
 

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!