On 28.05.2019 17:37, Denis Plotnikov wrote: > The goal of the patch-set is to enable qcow2 to use zstd compression for > clusters. ZSTD provides better (de)compression performance than currently > used ZLIB. Using it will improve perforamnce (reduce compression time) > when the compressed clusters is used, e.g backup scenarios. > > Also, the patch-set extends qcow2 specification by adding compression_type > feature. The feature enables adding ZSTD and another compression algorithms > in the future. > > Here is some measurements ZSTD vs ZLIB: > > The test: > Test compresses and decompresses qemu qcow2 image with just > installed rhel-7.6 guest. > Image cluster size: 64K. Image on disk size: 2.2G > > The test was conducted with brd disk to reduce the influence > of disk subsystem to the test results. > The results is given in seconds. > > compress cmd: > time ./qemu-img convert -O qcow2 -c -o compression_type=[zlib|zstd] > src.img [zlib|zstd]_compressed.img > decompress cmd > time ./qemu-img convert -O qcow2 > [zlib|zstd]_compressed.img uncompressed.img > > > The results: > compression decompression > zlib zstd zlib zstd > ------------------------------------------------------------ > real 65.5 16.3 (-75 %) 1.9 1.6 (-16 %) > user 65.0 15.8 5.3 2.5 > sys 3.3 0.2 2.0 2.0 > > Both ZLIB and ZSTD gave the same compression ratio: ~1.5 > compressed image size in both cases: ~1.4G > > Denis Plotnikov (3): > qcow2: introduce compression type feature > qcow2: add compression type processing > qcow2: add zstd cluster compression > > block/qcow2.c | 240 ++++++++++++++++++++++++++++++++++++-- > block/qcow2.h | 29 +++-- > configure | 26 +++++ > docs/interop/qcow2.txt | 37 +++++- > include/block/block_int.h | 1 + > qapi/block-core.json | 34 +++++- > 6 files changed, 348 insertions(+), 19 deletions(-) > -- Best, Denis
On 04.06.2019 10:56, Denis Plotnikov wrote: > > > On 28.05.2019 17:37, Denis Plotnikov wrote: >> The goal of the patch-set is to enable qcow2 to use zstd compression for >> clusters. ZSTD provides better (de)compression performance than currently >> used ZLIB. Using it will improve perforamnce (reduce compression time) >> when the compressed clusters is used, e.g backup scenarios. >> >> Also, the patch-set extends qcow2 specification by adding compression_type >> feature. The feature enables adding ZSTD and another compression algorithms >> in the future. >> >> Here is some measurements ZSTD vs ZLIB: >> >> The test: >> Test compresses and decompresses qemu qcow2 image with just >> installed rhel-7.6 guest. >> Image cluster size: 64K. Image on disk size: 2.2G >> >> The test was conducted with brd disk to reduce the influence >> of disk subsystem to the test results. >> The results is given in seconds. >> >> compress cmd: >> time ./qemu-img convert -O qcow2 -c -o compression_type=[zlib|zstd] >> src.img [zlib|zstd]_compressed.img >> decompress cmd >> time ./qemu-img convert -O qcow2 >> [zlib|zstd]_compressed.img uncompressed.img >> >> >> The results: >> compression decompression >> zlib zstd zlib zstd >> ------------------------------------------------------------ >> real 65.5 16.3 (-75 %) 1.9 1.6 (-16 %) >> user 65.0 15.8 5.3 2.5 >> sys 3.3 0.2 2.0 2.0 >> >> Both ZLIB and ZSTD gave the same compression ratio: ~1.5 >> compressed image size in both cases: ~1.4G >> >> Denis Plotnikov (3): >> qcow2: introduce compression type feature >> qcow2: add compression type processing >> qcow2: add zstd cluster compression >> >> block/qcow2.c | 240 ++++++++++++++++++++++++++++++++++++-- >> block/qcow2.h | 29 +++-- >> configure | 26 +++++ >> docs/interop/qcow2.txt | 37 +++++- >> include/block/block_int.h | 1 + >> qapi/block-core.json | 34 +++++- >> 6 files changed, 348 insertions(+), 19 deletions(-) >> > -- Best, Denis
© 2016 - 2024 Red Hat, Inc.