zip gzip 7z 简单比较

本文对比了zip、gzip和7z在压缩线上服务日志文件时的压缩效率和压缩率。结果显示,7z在使用适当压缩级别(-mx4)时,尽管所需时间较长,但压缩率高达97%,明显优于zip和gzip的89%。对于追求压缩效果和不介意时间成本的场景,7z是更优选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

待压缩文件: 线上服务日志文件:

    $ du -h logs
    1.2G    logs/41
    1.2G    logs/42
    2.3G    logs
 

zip压缩:

    $ time zip -r -9 -v logs.zip logs

        省略输出
    
    total bytes=2410353994, compressed=257652922 -> 89% savings

    real    1m58.479s
    user    1m53.171s
    sys     0m4.124s
 

gzip压缩:

 gzip压缩分两步,tar打单一文件是第一步,使用gzip压缩是第二步

   第一步,tar归档单一文件:

       $ time tar -cvf logs.tar logs

             省略输出

       real    0m11.745s
       user    0m0.250s
       sys     0m5.327s

  第二步,gzip压缩:

    $ time gzip -9 -v logs.tar
    logs.tar:        89.3% -- replaced with logs.tar.gz

    real    1m59.562s
    user    1m54.171s
    sys     0m3.077s
 

7z压缩:

    $ time 7z a -bb3 -mx9 -r logs.7z logs/*

    7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21

    Scanning the drive:
    2 folders, 210 files, 2410353994 bytes (2299 MiB)

    Creating archive: logs.7z

    Add new data to archive: 2 folders, 210 files, 2410353994 bytes (2299 MiB)

        省略输出

    Files read from disk: 210
    Archive size: 64929090 bytes (62 MiB)
    Everything is Ok

    real    7m57.902s
    user    0m0.031s
    sys     0m0.093s
 

对比:

    zip 压缩率:89% 时间:1m58.479s                             约为2分钟           从 2.3GB -> 246MB

    gzip 压缩率:89% 时间:0m11.745s + 1m59.562s     约为 2分钟10秒   从  2.3GB -> 246MB

    7z 压缩率:97% 时间: 7m57.902s                             约为8分钟           从 2.3GB -> 62MB

 

签于7z 使用 -mx9 压缩时间太长,现进行以下几种 -mx压缩级别测试

========   -mx1

$ time 7z a -bb0 -mx1 -r logs.7z logs/

Add new data to archive: 6 folders, 212 files, 2410354342 bytes (2299 MiB)


Files read from disk: 212
Archive size: 185024061 bytes (177 MiB)
Everything is Ok

real    0m22.096s
user    0m0.015s
sys     0m0.078s


========   -mx2

$ time 7z a -bb0 -mx2 -r logs.7z logs/

Add new data to archive: 6 folders, 212 files, 2410354342 bytes (2299 MiB)


Files read from disk: 212
Archive size: 168550502 bytes (161 MiB)
Everything is Ok

real    0m26.624s
user    0m0.015s
sys     0m0.093s
 

========   -mx3

$ time 7z a -bb0 -mx3 -r logs.7z logs/

Add new data to archive: 6 folders, 212 files, 2410354342 bytes (2299 MiB)


Files read from disk: 212
Archive size: 147696095 bytes (141 MiB)
Everything is Ok

real    0m29.046s
user    0m0.000s
sys     0m0.078s

========   -mx4

$ time 7z a -bb0 -mx4 -r logs.7z logs/

Add new data to archive: 6 folders, 212 files, 2410354342 bytes (2299 MiB)


Files read from disk: 212
Archive size: 117705771 bytes (113 MiB)
Everything is Ok

real    0m35.351s
user    0m0.015s
sys     0m0.140s

========   -mx5

$ time 7z a -bb0 -mx5 -r logs.7z logs/

Add new data to archive: 6 folders, 212 files, 2410354342 bytes (2299 MiB)


Files read from disk: 212
Archive size: 77937349 bytes (75 MiB)
Everything is Ok

real    4m1.607s
user    0m0.000s
sys     0m0.093s
 

总结:在此案例中 7z 在使用合理的压缩级别时,在时间与压缩率都比zip gzip 效果好, 此案例合理的 -mx 参数是 4 ,即: -mx4

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值