gzipの圧縮率

 contents

  
早速gzipコマンドを使って検証していきましょう。
 
使用するオプションは

  1. -number(1〜9)
  2. -v

の2つを使っていきます。
  

  1. -number
  2. このオプションは圧縮レベルで1〜9になります。
    圧縮レベルが高ければ高いほど、圧縮率が高くなる分、圧縮までにかかる時間が多くなります。
    例:gzip -6 ファイル名
      

  3. -v
  4. 圧縮結果を表示します。
    今回の検証結果をこのオプションで表示します。
    例:gzip -v ファイル名

  
  
圧縮の時間も測っていくため、dateを組み合わせます。
date; gzip -1 -v ファイル名; date
別の画面からdstat -tamを実行しておき、リソースが落ち着いた頃を見計らって、コマンドを実行します。
  
  
さて、実施した結果は、

 
ちょっとわかりづらいので、表にしてみました。

圧縮レベル圧縮サイズ圧縮率時間(s)CPU使用率(平均)
なし(圧縮前)1402715611---
112603848491.0%18s30.3%
211890540491.5%15s34.4%
311381825191.9%15s35.8%
42358651498.3%10s40.8%
51776319898.7%11s40.5%
61002948699.3%11s40.4%
7996761499.3%12s39.1%
8957186099.3%11s43.6%
9957186099.3%11s40.8%
 
 
結果から見て見ると、圧縮レベルによっての時間はさほど変わらないです。
私の予想では時間が大幅に変わると思ったのですが、予想を覆されました。
これは、もしかしたら、サーバのディスクがSSDなので、今までサーバのデメリットであったUser I/Oの部分が、SSDによって改善されたのかもしれません。
圧縮率から見ると、レベル6以降あまり変わらない結果となりました。
リソースの消費量から見ると、
 
以上の観点から圧縮レベルは6以上を設定するのが一番効率良いと言えそうです。
 
ちなみに圧縮レベルを指定しないとデフォルトの設定は6となるようです。(圧縮率がレベル6以降さほど変わらないため、デフォルトが最適な6の設定になっているのかもしれませんね。)

※圧縮レベル6と同じ圧縮サイズになっています。

ここからはdstatの生ログになります。
圧縮レベル1のdstat結果

圧縮レベル2のdstat結果

圧縮レベル3のdstat結果

圧縮レベル4のdstat結果

圧縮レベル5のdstat結果

圧縮レベル6のdstat結果

圧縮レベル7のdstat結果

圧縮レベル8のdstat結果

圧縮レベル9のdstat結果

 
次回はzipの圧縮率になります。
 

ブログランキングに参加しています。クリックして応援していただけると嬉しいです。

人気ブログランキング
ブログランキング・にほんブログ村へ
にほんブログ村