Hey guys,
I’ve got a Proxmox cluster with a few different nodes in it, and while trying to benchmark the VMs I noticed some weirdly inconsistent performance in VMs on the nodes running 7950X processors. Essentially, I’m seeing a fraction of the memory performance on those VMs compared to the hypervisor itself when performing memory-intensive benchmarks.
Ignoring real-world testing for a while, I can consistently reproduce the issue with sysbench
with a small block size (1K usually). We’re talking ~230 MiB/s, compared to the ~6000 MiB/s I’m getting on the hypervisors (which itself is slower than I’d hope, but I’m running 192GB of memory in them so can’t get them to boot over 3600MT/s). The performance also scales basically linearly with the number of threads (so doubling sysbench
threads on the VM will double the throughput without changing performance on the hyper).
The same tests on the older Xeon-based hypers (E5620, for example) show nearly identical performance between the hyper and VMs on it. Proxmox itself is installed identically on each of them - it’s all Ansibled and they’re all running Debian 12.
sysbench
CPU benchmarks come within 5-10% of the hypervisor, so it really is just limited to memory.
A few things I’ve tried to see if I can optimise the issue:
- NUMA enabled, core pinning set, Ballooning disabled, mitigations disabled (temporarily), CPU type set to
host
, Huge Pages enabled - Tried to increase the memory clock, no luck getting the DIMMs running past 3600MT/s (not surprising, really)
- Checked for any obvious BIOS tweaks that might affect this, not seeing anything.
- Update BIOS versions.
- Compared a desktop motherboard with an Asrock Rack one - no difference between the two.
- Tried a different set of memory, 128GB (4x 32GB instead of 4x 48GB)
At this point I’ve basically exhausted my options, and I don’t really have a way to isolate if this is a 7000-series issue, or a DDR5 issue, or just a classic PEBKAC. Hoping that someone here has come across this sort of issue and might have some pointers or ideas. Thanks in advance!