Proxmox performance problems with single-thread application

Dec 3, 2019
6
0
6
41
Hello,

for some time now, I've problems with the performance of a german manufacturer application "OSD", which relies on single-thread-performance. Every window opened by the application is an own process using only one cpu thread. The problem is, the application somehow does not force the cpu to scale to a higher frequency. The app is slow while the cpu frequency is idling at a low energy-saving level.

The applications system requirements only cover Hyper-V regarding virtualisation. Here, one must set everything to high performance mode (BIOS, HyperV Host Energy Saving, VM Energy Saving).

For Hyper-V this works. But I have a Proxmox cluster on site and I really don't want to use Hyper-V. With everything I've tested so far, I'm not able to get the same performance results on Proxmox as on HyperV (Proxmox 3x times slower, 12-18s to open a new window to 2-4s on HyperV).


The environment consists of 3 identical machines, 2 for the Proxmox ZFS Cluster and 1 Hyper-V 2016 test machine:
  • HP-DL380p Gen8
  • 128GB RAM
  • P420i Controller / RAID 5 with 6 SSDs
  • Dual Intel Xeon E5-2667v2 (8C/16T, 3.3-4.0 GHz)

I've tried the following steps on Proxmox:
  • BIOS: Set the "HP Power Profile" to "Maximum Performance" (but I've read that the linux "intel_pstate" driver ignores that setting)
  • Setting the power govenor on Proxmox to "performance"
  • Using different cpu types for the Windows Server 2016 VM (default, kvm64, host, IvyBridge)
  • Playing with "Extra CPU Flags"
  • Disabling intel_pstate by setting kernel cmdling parameter in grub "cpuidle.off=1 idle=poll"
  • Setting the "min_scaling_frequency" to 3.6GHz (echo "3600000" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_min_freq)
  • Creating a "custom_cpu_type" with additional features (more guessing than knowledge)

Output from command "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



None of it shows any effect on the applications performance. The Host CPU scales up to 3.9GHz according to /proc/cpuinfo. With "cpu=host", the windows-vm cpu frequency idles at ~700Mhz according to HwINFO64.


I hope you can help, I'm out of ideas right now.

Thank you,
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!