sherlock1122
2021-05-10 14:17:01 +08:00
前天,仅仅拷贝了一个虚拟机镜像。
今天更新一下的 btrfs 测试(粗略测试,没有按照严格的性能测试方法):
btrfs 采用 zstd 压缩方式:mount -o compress=zstd /dev/sdd1 /tmp/bdata
xfs 文件系统迁移到 btrfs 和 zfs + dedup + lz4 的最终空间占用如下:
21-05-10 13:54:12 root@192.168.64.217:~ df -h
zdata/lz4 302G 111G 191G 37% /root
/dev/sdd1 301G 100G 202G 34% /tmp/bdata
/dev/mapper/myroot-root 300G 187G 114G 63% /tmp/root
从空间看,xfs 占用 187G,zfs 占用 111G,btrfs 100G 。
我之前测试单个文件,看来是样本的问题。
cp 结果看:
21-05-10 14:08:40 root@192.168.64.217:~ time cp /tmp/root/fedora33-2.img.bak /tank/lz4/a/
cp /tmp/root/fedora33-2.img.bak a/ 0.04s user 4.11s system 46% cpu 8.861 total
21-05-10 14:09:09 root@192.168.64.217:~ time cp /tmp/root/fedora33-2.img.bak /tmp/bdata/a/
cp /tmp/root/fedora33-2.img.bak /tmp/bdata/a/ 0.06s user 4.67s system 51% cpu 9.224 total
btrfs & zfs 时间差不多。
综合:
1. 压缩率:btrfs 的使用 zstd 后,比 zfs + dedup + lz4 压缩率要高一些。
2. 性能:从实际的编译大型 C++ 任务来看,每组测试 5 次,zfs + dedup + lz4 需要 30s 左右,btrfs 只需要 20s,btrfs 更占优。
我的开发机器平时编译任务较多,所以还是选择 btrfs 在时间上是比较划算的。