LZO vs ZSTD

psionic

Member
May 23, 2019
75
8
13
I performed a backup test on a 20GB LXC to compare the newly added ZSTD with LZO ( I used 'Mode: Stop' for both):
LZO ZSTD
INFO: Total bytes written: 6240829440 (5.9GiB, 100MiB/s)
INFO: archive file size: 2.80GB
INFO: Finished Backup of VM 8114 (00:01:14)
INFO: Total bytes written: 6240747520 (5.9GiB, 79MiB/s)
INFO: archive file size: 2.06GB
INFO: Finished Backup of VM 8114 (00:01:30)

I ran each algo 3 times and posted the best of each 3.
I definitely see an archive size improvement of approx. 25% with ZSTD, but LZO still won the speed race By approx. 17%.
Are there any tweaks that can be done to improve ZSTD speed?
 
Last edited by a moderator:
Are there any tweaks that can be done to improve ZSTD speed?

Well, zstd uses by default an extra IO thread and one thread for compression.
You can increase the threads used for compression by adding a (for example) zstd: 4 line to /etc/vzdump.conf and see if improves things.
Compression level is something which could be have an impact. We do not expose this directly at the moment, though.

The defaults are intended to ensure that the whole PVE host and it's virtual guests do not get slowed down, while still being quite efficient and also fast.
 
Well, zstd uses by default an extra IO thread and one thread for compression.
You can increase the threads used for compression by adding a (for example) zstd: 4 line to /etc/vzdump.conf and see if improves things.
Compression level is something which could be have an impact. We do not expose this directly at the moment, though.

The defaults are intended to ensure that the whole PVE host and it's virtual guests do not get slowed down, while still being quite efficient and also fast.
What about option --threads=0..200? Any benchmarks performed adjusting the number of threds used?

There is also this option which could reduce the archive size further and increase decompression time:
--[no-]sparse
 
How to use one of the commands from this table to the configuration file /etc/vzdump.conf
in terms of how to configure the vzdump.conf file to use for example zstd -q -c -T16 -1 ?
or how to do it step by step I am green in this
 
Last edited:
we don't expose anything besides the thread count..
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get your own in 60 seconds.

Buy now!