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

$ 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

zip gzip 7z 简单比较相关推荐

  1. 批量将很多文件打包压缩成多个ZIP和7z压缩包文件

    概要:我们有时候需要将很多不同类型的文档单独打包成一个 ZIP 压缩包或者单独的打包成一个 7z 压缩包,我们一个一个处理的话比较慢,但是有没有一种批量将文件转成 ZIP 和 7z 压缩包的方法呢? ...

  2. android shell 解压zip,Android解压缩ZIP / GZIP数据(基于InflaterInputStream实现)

    在实际的项目代码使用过程中,发现如果用Java类库标准指定的GZIPInputStream读取压缩数据解压不能稳定工作,原因不明.反而使用InflaterInputStream可以替代GZIPInpu ...

  3. Java递归解压缩Zip、7z、7zx、Rar5(使用winrar.exe)可解压这四种类型的嵌套压缩

    Java递归解压缩Zip.7z.7zx.Rar5(使用winrar.exe)可解压这四种类型的嵌套压缩 依赖 Zip 7z Rar 说明 代码(复制即可用) 依赖 Zip 官方自带,无需额外操作 7z ...

  4. java解压.rar、.zip和.7z格式压缩包

    解压zip格式文件用到的jar包有ant-1.6.5.jar和commons-logging-1.2.jar ,在pom.xml中输入: <!--zip--> <dependency ...

  5. 批量将很多文件夹打包压缩成多个ZIP和7z压缩包文件

    概要:我们有时候需要将很多不同类型的文件夹单独打包成一个 ZIP 压缩包或者单独的打包成一个 7z 压缩包,我们一个一个处理的话比较慢,但是有没有一种批量将文件夹转成 ZIP 和 7z 压缩包的方法呢 ...

  6. 自动化——自动解压(zip、7z、rar)带密码

    本数据采用第五届"泰迪杯"数据分析技能赛--A题:竞赛作品的自动评判数据 #https://www.pudn.com/news/62b430eddfc5ee1968969bb7.h ...

  7. 压缩解压:tar zip unzip 7z|7za rar

    tar -c|x|u|r|t[z|j][v] -f <归档文件> [未打包文件] 将多个文件打包为一个归档文件,可以在打包的同时进行压缩.支持的格式为tar(归档).gz(压缩).bz2( ...

  8. 【日常记录】Linux 系统 tar、rar、zip、7z、7za 压缩、解压命令

    Ref: 1.https://blog.csdn.net/gengkui9897/article/details/83956507 1. tar 不可共存参数: -c :创建(create)包 -x ...

  9. Mac 常用的免费解压工具(zip,rar,7z)

    zip/unzip Mac自带解压缩工具,可解压缩zip压缩包. zip压缩: 在文件夹下创建如下文件 > ls *.txt1.txt 2.txt 3.txt 4.txt 执行命令 > z ...

最新文章

  1. Javascript学习------内部对象 String Date event(重要)
  2. OpenCV推断onnx格式目标检测模型(SSD)(附完整代码)
  3. CVE-2017-7921复现(解密文件)
  4. 深度解析HashMap底层实现架构
  5. 在AX4.0中使用C#脚本的实现
  6. 【每日算法Day 101】字节跳动 AI Lab 精选面试编程题
  7. 微信公众号 菜单 { “errcode“: 47001, “errmsg“: “data format error rid: 61b36b ...“}
  8. LED灯恒流驱动电路设计
  9. 2017EC-Scapegoat-(思维+优先队列贪心)
  10. 软件测试常见面试题合集(接口测试面试详细答案)
  11. 如何在电脑上添加蓝牙耳机设备
  12. nacos2.0服务提示注册成功,但是服务管理列表中没有注册到
  13. 感悟 | 电影《你的名字》
  14. uniAPP小程序webview从H5返回小程序不起作用
  15. DSP学习总结——Boot引导模式
  16. 解决-最新版Google谷歌浏览器上传下载卡死无响应-问题
  17. Nginx启动不了报错未找到命令的解决方法(- bash: nginx: 未找到命令)
  18. 史蒂文斯理工学院计算机科学,史蒂文斯理工学院
  19. 【Rust日报】 2019-06-16:用 Rust, Haskell, C++, Python, Scala 和 OCaml 实现同一个工程的比较...
  20. 关于Linux下病毒的话题

热门文章

  1. jseclipse的安装和使用
  2. pdf解密软件pdf password remover
  3. linux系统浏览器最小化,调整Firefox火狐浏览器的最小化、最大化、关闭按钮键大小...
  4. 快递物流行业:数据增量下载的实现
  5. 【ES6】阮一峰ES6学习之编程风格
  6. ADB入门(四)-连接异常处理篇
  7. C# 使用MODBUS TCP和MODBUS RTU与设备通讯
  8. 比visio简单好用的绘图工具AxGlyph
  9. Python字符编码转换Unicode和str
  10. php tcpdf 嵌入字体,TCPDF如何设置中文字体为内嵌字体?