How can I improve I/O performance in a virtual machine?

119 views
Skip to first unread message

Meteor CAI

unread,
Jul 30, 2024, 10:25:24 PM7/30/24
to kubevirt-dev
I created and started the VMI as containerDisk, then logged in to VMI and tested the IO write performance using the dd command (116 MB/s). Then exit the VMI, log in to the host where the VMI resides, and run the dd command to test the IO write performance (195MB/s). Performance was found to drop by around 40% or more in VMI. 
Is this normal? 
How can I avoid performance degradation?

Antonio Cardace

unread,
Jul 31, 2024, 3:11:23 AM7/31/24
to Meteor CAI, kubevirt-dev
Hi,

you might want to have a look at this section of the user guide https://kubevirt.io/user-guide/storage/disks_and_volumes/#high-performance-features.

--
Antonio

--
You received this message because you are subscribed to the Google Groups "kubevirt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubevirt-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kubevirt-dev/81e6c866-12cb-41b7-9639-9bcba595f4cdn%40googlegroups.com.

Meteor CAI

unread,
Aug 2, 2024, 5:50:31 AM8/2/24
to kubevirt-dev
I/O performance is not significantly improved by parameter tuning or optimization. Now there is a big gap between the IO performance of the VM and that of the host machine, any other suggestions?

Fabian Deutsch

unread,
Aug 2, 2024, 6:52:45 AM8/2/24
to Meteor CAI, kubevirt-dev
The containerDisk including the writable qcow2 overlay are kept in containers, thus here the performance depends on the filesystem providing storage to the container.

I.e. if it's overlayfs or something similar, this could partially explain the difference.

If you what performance, then you want CSI based storage.

Meteor CAI

unread,
Aug 5, 2024, 2:34:48 AM8/5/24
to kubevirt-dev
Yeah, you're right. It's just that K8S CSI's key performance depends on network speed, and it's hard for CSI PVC to outperform containerDisk for gigabit networks in my environment.
Thank you very much.

Fabian Deutsch

unread,
Aug 5, 2024, 3:18:24 AM8/5/24
to Meteor CAI, kubevirt-dev
On Mon, Aug 5, 2024 at 8:34 AM Meteor CAI <caime...@gmail.com> wrote:
Yeah, you're right. It's just that K8S CSI's key performance depends on network speed, and it's hard for CSI PVC to outperform containerDisk for gigabit networks in my environment.

CSI only depends on network speed if the backing storage system is network bound.
There are also CSI drivers for local storage or SAN (which may or may not be network backed).

The CSI HostPath Provisioner is a storage provisioner for local disks, this could help you.
 

Luboslav Pivarc

unread,
Aug 5, 2024, 3:33:25 AM8/5/24
to Fabian Deutsch, Meteor CAI, kubevirt-dev
On Mon, Aug 5, 2024 at 9:18 AM Fabian Deutsch <fdeu...@redhat.com> wrote:


On Mon, Aug 5, 2024 at 8:34 AM Meteor CAI <caime...@gmail.com> wrote:
Yeah, you're right. It's just that K8S CSI's key performance depends on network speed, and it's hard for CSI PVC to outperform containerDisk for gigabit networks in my environment.

CSI only depends on network speed if the backing storage system is network bound.
There are also CSI drivers for local storage or SAN (which may or may not be network backed).

The CSI HostPath Provisioner is a storage provisioner for local disks, this could help you.

-Lubo
 

Meteor CAI

unread,
Aug 5, 2024, 11:14:03 PM8/5/24
to kubevirt-dev
Thank you both for your valuable advice
Reply all
Reply to author
Forward
0 new messages