水木社区手机版
首页
|版面-Linux系统与应用(LinuxApp)|
新版wap站已上线
返回
1/1
|
转到
主题:xz的压缩比并不总是所有压缩程序里最高的
14楼
|
Dieken
|
2021-03-01 23:35:15
|
展开
以前做的测试,xz -T0 -1 比 lbzip2 快一倍,压缩比高 3%,bzip2 可以死了,而 pzstd -1 比 xz -T0 -1 快 5~9 倍,压缩比只损失了4%, xz 可以死了。
值得用的压缩格式:
lz4: 轻度压缩比,最快的压缩和解压缩。
zstd: 这个真是神器,想快非常快,想好压缩比也行而且依然很快。
zip: 跟其他OS兼容,而且它支持索引
其它的,gz和bz2历史遗留,7z用的人太少,xz 跟 lzip不相上下,gnu力推lzip,xz是真的慢。snappy, briotli在 zstd 面前都是渣。
【 在 poocp 的大作中提到: 】
: 文本日志文件,单个文件大小在100KB到50MB区间内的情况下,都用-9参数(xz用-9e),lzip比xz全面领先。
: 所以我现在的脚本是每个月压缩一次上个月按周切分的日志为每个文件单独.lz格式不用tar打包,配合catlz可以随时查看,每年将12个月全部.lz日志解压进年份子目录后重新压成.tar.xz包做长期归档。
: [code=bash]
: ...................
--
FROM 61.48.62.*
16楼
|
Dieken
|
2021-03-02 10:37:56
|
展开
这就是整个业界很丢人的地方,居然没有一个跨平台的支持索引的能包含完整文件元信息的压缩格式。zip, 7z 都不能完整支持posix fs的文件元信息,tar ball又不支持索引,解压个文件需要从头开始解压寻找,为啥这么多年了也没有工具革新这种滑稽的现象?
有个 DAR 工具很不错,但是名气很小。
https://dar.sourceforge.io/
【 在 snoopyzhao 的大作中提到: 】
: 我在 windows 下主要用 7z,然后给别人的话,用它压成 zip
:
--
FROM 221.222.21.*
19楼
|
Dieken
|
2021-03-11 01:16:18
|
展开
http://lzip.nongnu.org/tarlz.html
没看到有索引。
【 在 poocp 的大作中提到: 】
: tarlz有这功能,解压指定文件或目录,而且解压速度奇快,带索引,默认支持多线程分块,文件存储设备出坏块能尽量恢复其余未损坏数据。
: tarlz对tar.lz解压速度是tar解压tar.xz的15倍。
:
--
FROM 61.48.62.*
22楼
|
Dieken
|
2021-03-11 08:52:06
|
展开
https://git.progress-linux.org/users/daniel.baumann/debian/packages/tarlz/tree/
此 index 非彼 index, tarlz 没有 zip, dar 那样的文件名到文件偏移量的索引,要解压某个文件或者目录,需要从头到尾遍历。
【 在 poocp 的大作中提到: 】
: 而且你不试试的吗,我展开12GB的日志压缩包用时2秒,前提是这个压缩包必须是tarlz生成的。用tar打包为.tar然后再用lzip或plzip压缩成.tar.lz这种组合是不行的。
: 压缩用最大压缩参数9,其余直接默认参数就行,压缩速度比xz快,因为多线程做得更好,CPU占用率高。
: tarlz -9f 2020.tar.lz 2020
: ...................
--
FROM 61.48.62.*
24楼
|
Dieken
|
2021-03-11 19:22:15
|
展开
确实比tar+lzip强,但会卡在IO上。
【 在 poocp 的大作中提到: 】
: tarlz会用尽处理器所有线程做并发,从头到尾也是很快的。
:
--
FROM 221.222.21.*
26楼
|
Dieken
|
2021-03-12 12:50:38
|
展开
知道 lzip 的人很少,即使它是 gnu 首推的。即使 lzip 说 xz 很烂,Debian repo还是用 gz+xz,没有lz。即使 zstd 已经碾压 gz, bz2,依然 zstd 远不普及。
还有个 dar,做了那么多年,名气小的可怜。
tarlz 在文件很少,压缩数据很少时不是问题,但如果有几十万文件,几个TB的备份时,没有文件名索引是很悲剧的,这种场景并不是捏造,日志备份,文件系统备份,数据库备份是很典型的。
【 在 poocp 的大作中提到: 】
: 压缩程序这类应用就这么有趣,有了接近100比1的压缩比,解压带宽别说爆掉磁盘和闪存IO,只要CPU核够多,爆掉总线带宽也不是难事。
: 总之瓶颈从解压或者索引已经转移到IO了,解缩程序本身已经不构成瓶颈,tarlz是很成功的多核应用。
:
--
FROM 61.48.62.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版