I regularly do some kind of microbenchmarks of various kinds. I wanted to share the outcomings, and maybe some of you have some results laying around, too. You are happily invited to contribute. Be it performance benchmarks of filesystem settings, database/network settings, tools, FreeBSD vs <other_os> etc. Hopefully this leads to a thread with an interesting discussion and a nice collection of data.
I was interested in how much faster zfs send/recv is compared to rsync. I used a 3-disk raidz1 (atime=off, compression=lz4) with 3 disks Toshiba MG07ACA12TE connected internally via SATA-3 (600 MB/s) to copy our code repository (7,297,671 files, ~373 GB) to a 3-disk raidz1 (atime=off, compression=lz4) with (atime=off, compression=lz4) connected to external drives via USB 3.0 (400 MB/s). ARC was limited to 8GB and before I did warmup the cache via "find /data/code". System has 2xnvme as root, Ryzen 7 3700X CPU with 64GB ECC RAM.
I was interested in how much faster zfs send/recv is compared to rsync. I used a 3-disk raidz1 (atime=off, compression=lz4) with 3 disks Toshiba MG07ACA12TE connected internally via SATA-3 (600 MB/s) to copy our code repository (7,297,671 files, ~373 GB) to a 3-disk raidz1 (atime=off, compression=lz4) with (atime=off, compression=lz4) connected to external drives via USB 3.0 (400 MB/s). ARC was limited to 8GB and before I did warmup the cache via "find /data/code". System has 2xnvme as root, Ryzen 7 3700X CPU with 64GB ECC RAM.
-
rsync -a /data/code /ext/code-rsync1
: real 475m35.261s; user 5m57.723s; sys 28m35.892s -
zfs send data/code@snap | zfs recv ext/code-zfssync1
: real 86m17.891s; user 0m0.000s; sys 7m54.837s -
zfs send data/code@snap | mbuffer -s 128k -m 2G -o - | zfs recv ext/code-mbuffer2
: real 87m44.900s; user 0m15.359s; sys 11m7.539s -
zfs send data/code@snap | mbuffer -s 128m -m 2G -o - | zfs recv ext/code-mbuffer3
: real 82m9.039s; user 0m10.456s; sys 10m22.156s
Last edited by a moderator: