Mount i/o slow - how to improve performance?

Running an i/o read test within the instance on a mounted directory is substantially slower than running the same test on the instance file system and on the host that contains the mounted directory:

This is the read test:

$ iozone -i 1 -r 64k -s 2G -f iozone.tmp

Within instance to mounted directory: 37558 KB/s
On instance filesystem: 966404 KB/s
On host filesystem (mounted directory): 3103163 KB/s

  • How do I improve the perfomance when reading from a mounted drive within the instance?
  • I believe the mount is via SSHFS, is there a better way to mount a directory from Multipass?

Thanks clubh for posting the problem. I couldn’t figure out why my builds were so slow until I read your post. Then I moved everything into the instance volume and that improved it.

But it is just a temporary workaround for us, we’d hope to see an answer to your post. Otherwise we’ll have to go back to docker.

1 Like

Hi @clubh, @gccross, we plan to optimize this by using hypervisor-native folder mounts where possible. There will always be some overhead of whatever is used for the mounts, but we certainly have plans to improve on that.

1 Like

Ok super Saviq thanks for the confirmation of the plan. Absolutely, some overhead is very reasonable for the advantages of multipass. It is an excellent virtualization solution

Looking forward to it!

any update on this? i’m having some trouble with sshfs on bug sur in causes the vm to hang in such a way that i have to restart the vm to fix it.

@underrun has taken this to GitHub:

https://github.com/canonical/multipass/issues/2270