这个问题可能有点“基于意见”,但请将其视为寻找有关压缩级别使用的权威信息来源。
我有一台服务器,其中的数据库很少,大小不同(从兆字节到 40GB)。目前我们正在使用gzip -9
压缩级别,备份速度很慢。
我们有每日备份政策,我们保持:
- 每天备份 14 天
- 每周备份 2 个月
- 每月备份 2 年
- 永远每年备份
数据库备份是这样完成的:mysqldump ... > | gzip -9 -c > $TIMESTAMP.sql.gz
我已经为一个小型数据库尝试了不同的压缩级别。以下是结果(服务器有点负载,所以可能有点不准确):
level | time (real) | output file size
1 | 0m1.844s | 6.6M
3 | 0m1.902s | 6.1M
5 | 0m2.112s | 5.1M
7 | 0m2.447s | 4.9M
9 | 0m3.498s | 4.8M
在此之后,我认为应该使用 5 或 7 压缩级别,我们应该避免使用 9 压缩级别。
问题是:
关于备份压缩级别的常见做法是什么?
公司或机构是否使用任何标准?
没有,一切都严格取决于您的需求和能力。
无,使用适合您的任何东西。
我强烈建议使用 ZSTD 而不是 gzip。它足够成熟,在压缩率方面比 gzip 好得多,并且解压速度非常快。它有 22 个压缩级别,包括
--long
和--ultra
,因此您需要进行试验以找出最适合您的压缩级别。请考虑将 PAR2 用于压缩数据,并保留原始数据和压缩数据的校验和。如果没有校验和,在存储或检索数据时很容易因位错误而丢失数据。