I would suggest to:
- make sure that "none" I/O scheduler is used inside VM (e.g.
/sys/block/sda/queue/scheduler). I assume quite recent kernel,
otherwise "noop".
- make sure that host has CPU C-States above C1 disabled (check
values of all /sys/devices/system/cpu/*/cpuidle/state*/disable for
while [..]/name is different than "POLL", C1, C1E) or use some
tool that disables that.
- Use raw images instead of qcow2: in [libvirt] section of
nova.conf set force_raw_images=True and images_type=flat and
recreate the instance
Is the difference so big also when you lower I/O depth (for
example to 1) or increase block size (for example to 64k) ?
Hi,I am reaching out to inquire about the performance of our local storage setup. Currently, I am conducting tests using NVMe disks; however, the results appear to be underwhelming.
In terms of my setup, I have recently incorporated two NVMe disks into my compute node. These disks have been configured as RAID1 under md127 and subsequently mounted at /var/lib/nova/instances [1]. During benchmarking using the fio tool within this directory, I am achieving approximately 160,000 IOPS [2]. This figure serves as a satisfactory baseline and reference point for upcoming VM tests.
As the next phase, I have established a flavor that employs a root disk for my virtual machine [3]. Regrettably, the resulting performance yields around 18,000 IOPS, which is nearly ten times poorer than the compute node results [4]. While I expected some degradation, a tenfold decrease seems excessive. Realistically, I anticipated no more than a twofold reduction compared to the compute node's performance. Hence, I am led to ask: what should be configured to enhance performance?
I have already experimented with the settings recommended on the Ceph page for image properties [5]; however, these changes did not yield the desired improvements. In addition, I attempted to modify the CPU architecture within the nova.conf file, switching to Cascade Lake architecture, yet this endeavor also proved ineffective. For your convenience, I have included a link to my current dumpxml results [6].
Your insights and guidance would be greatly appreciated. I am confident that there is a solution to this performance disparity that I may have overlooked. Thank you in advance for your help.
/Jan Wasilewski
References:[1] nvme allocation and raid configuration: https://paste.openstack.org/show/bMMgGqu5I6LWuoQWV7TV/[2] fio performance inside compute node: https://paste.openstack.org/show/bcMi4zG7QZwuJZX8nyct/[3] Flavor configuration: https://paste.openstack.org/show/b7o9hCKilmJI3qyXsP5u/[4] fio performance inside VM: https://paste.openstack.org/show/bUjqxfU4nEtSFqTlU8oH/[5] image properties: https://docs.ceph.com/en/pacific/rbd/rbd-openstack/#image-properties[6] dumpxml of vm: https://paste.openstack.org/show/bRECcaSMqa8TlrPp0xrT/
-- Damian Pietras