gzip和bzip壓縮比以及壓縮時間對比

對一個1G的日誌文件進行壓縮,整個壓縮期間gzip和bzip2都能將1個核利用到100%。緩存

首先將該日誌文件讀入頁面緩存: 能夠cat該文件也能夠用vmtouch -t來實現ide

先檢查該文件已經在page cache中日誌

[root@er01 ~]# vmtouch /serverInfo_2019-02-11_7.log
           Files: 1
     Directories: 0
  Resident Pages: 262145/262145  1G/1G  100%
         Elapsed: 0.044465 seconds

默認壓縮比 -6

[root@er01 ~]# time gzip -c -6 /serverInfo_2019-02-11_7.log > /tmp/1.gz

real    0m32.167s
user    0m31.267s
sys 0m0.691s
[root@er01 ~]# time bzip2 -c -6 /serverInfo_2019-02-11_7.log > /tmp/1.bz

real    2m11.389s
user    2m10.667s
sys 0m0.697s

檢查壓縮比code

[root@er01 ~]$ ll -h /tmp/1*
-rw-rw-r-- 1 root root 190M Mar 11 11:27 /tmp/1.bz
-rw-rw-r-- 1 root root 244M Mar 11 11:29 /tmp/1.gz

最慢壓縮(壓縮比-9)

[root@er01 ~]# time gzip -c -9 /serverInfo_2019-02-11_7.log > /tmp/1.gz

real    1m7.961s
user    1m7.119s
sys 0m0.739s
[root@er01 ~]# time bzip2 -c -9 /serverInfo_2019-02-11_7.log > /tmp/1.bz

real    2m23.701s
user    2m23.016s
sys 0m0.675s

檢查壓縮比server

[root@er01 ~]$ ll -h /tmp/1*
-rw-rw-r-- 1 root root 182M Mar 11 11:27 /tmp/1.bz
-rw-rw-r-- 1 root root 240M Mar 11 11:29 /tmp/1.gz

最快壓縮(壓縮比-1)

[root@er01 ~]# time gzip -c -1 /serverInfo_2019-02-11_7.log > /tmp/1.gz

real    0m16.090s
user    0m15.403s
sys 0m0.672s
[root@er01 ~]# time bzip2 -c -1 /serverInfo_2019-02-11_7.log > /tmp/1.bz

real    1m48.986s
user    1m48.012s
sys 0m0.878s

檢查壓縮比ip

[root@er01 ~]$ ll -h /tmp/1*
-rw-rw-r-- 1 root root 234M Mar 11 11:27 /tmp/1.bz
-rw-rw-r-- 1 root root 297M Mar 11 11:29 /tmp/1.gz

結論

  1. 通常狀況下,默認壓縮比和最佳壓縮比(-6和-9):不必爲了增長那一點點的壓縮比(1G的原文本文件最終只差了幾兆)而增長很是明顯(甚至翻倍)的壓縮/解壓縮時間
  2. 默認壓縮比和最小壓縮比(耗時最短)之間:若是能容忍低一點的壓縮比(1G原文本文件最終差4 5十兆)同時注重耗時的話(壓縮/解壓縮耗時能大幅降低甚至降低一半),能夠選擇最地的壓縮比來得到最高的處理效率
  3. bzip的壓縮比在同等級別下都要略高於gzip,可是耗時卻明顯的高於gzip(基本2倍上下)
  4. 不一樣的壓縮比下,gzip的耗時敏感度要高於bzip,即不一樣壓縮比下,gzip耗時的增減幅度要大於bzip(但都遠小於bzip)
相關文章
相關標籤/搜索