将备份的压缩方式从 gz 转为 zstd

偶尔,备份过程会因额外负载导致一些可用性问题。因此,我今天用 zstd 做了一个快速实验。

以下是我对同一个 73GiB 的 dump.sql 文件分别使用 gzip(级别 4,与 Discourse 备份一致)和 zstd(默认级别 3,共 19 级)进行压缩的结果:

压缩后体积:缩小了 15.8%(.zst 文件大小为 .gz 的 84%)
压缩时间(-T1):快了 71%(仅为 gzip 时间的 29%)
压缩时间(-T0):快了 89%(仅为 gzip 时间的 11%)

结果因人而异,我并未多次运行测试,而且我的机器(6 核)当时还在处理其他任务,因此并未追求精确数据。不过,我认为这些优势已经很明确了。

我不确定 -T0 是否对所有人都合适,因为为 Discourse 本身预留一些资源似乎是个好主意,因此我使用 -T1 作为示例,以便进行更公平的对比。

这看起来是双赢的局面,很可能也会对 Discourse 的托管基础设施产生显著影响。不过,我还没有能力提交 PR,所以只是分享我的发现。

2 个赞