[Libguestfs] [PATCH v3 0/7] v2v: rhv-upload-plugin: Performance improvments

Nir Soffer nirsof at gmail.com
Wed Feb 3 21:13:21 UTC 2021


Update the plugin to API_VERSION 2, and enable parallel threading model. With
unordered writes in qemu-img, and 8 threads in nbdkit, matching number of
parallel coroutines in qemu-img, I see about 50% speedup compared with current
master.

I tested this on a vm, using NFS storage provided by another vm, and accessing
ovirt-engine on a third vm. Results are not stable, and can vary by 100%
between runs. I'm comparing the best result from 3-5 runs.

We need to test these changes with real images, real servers, and real storage
to get more reliable results, but I could not find avilable server yet.

Changes since v2:
- Add plugin#write_out_order method and use it to enable out of order writes
  (-W) in the rhv upload plugin.
- Update the commit message about fua and flush support, based on the
  discussion with Eric.
- Fix more typos in comments

v2 was here:
https://www.redhat.com/archives/libguestfs/2021-January/msg00067.html

Nir Soffer (7):
  v2v: output_rhv_upload: Require nbdkit >= 1.22
  v2v: rhv-upload-plugin: Use API_VERSION 2
  v2v: rhv-upload-plugin: Support FUA
  v2v: rhv-upload-plugin: Get imageio connections limits
  v2v: rhv-upload-plugin: Support multiple connections
  v2v: rhv-upload: Use out of order writes
  v2v: rvh-upload: Match nbdkit threads to qemu-img coroutines

 v2v/nbdkit.ml            |   4 +
 v2v/nbdkit.mli           |   1 +
 v2v/output_rhv_upload.ml |  13 +-
 v2v/rhv-upload-plugin.py | 318 +++++++++++++++++++++++++++------------
 v2v/types.ml             |   1 +
 v2v/types.mli            |   2 +
 v2v/v2v.ml               |   1 +
 7 files changed, 238 insertions(+), 102 deletions(-)

-- 
2.26.2






More information about the Libguestfs mailing list