• 你確定 jpg gif 不可以再壓縮嗎 for apache mod_gzip ??

    by  • 2009/06/29 • linux • 11 Comments

    我相信很多人都知到 jpg , gif 圖檔再經過壓縮似乎就沒有多大的用處

    沒壓縮還好, 壓了搞不好檔案會變更大, 就失去了壓縮的意義了 ~~

    在看到很多前輩分享的文章中, 都告訴我們 jpg, gif 的不可再壓縮性.

    我可以很大聲的問你說 “你確定嗎 ??" …..

    mod_gzip 運用在 apache 上, 主要的目的就是將檔案壓縮來達到節省頻寬

    的用意. 如同上一篇提到 Apache 啟用壓縮 mod_gzip mod_deflate 節省頻寬,

    那很多的文章都告訴我們, 可以壓縮文字如 html, php, css , js,….etc 之類的

    也都告訴我們 jpg gif 不可再壓縮, 那只是浪費 Server 的 CPU 而已..

    今天我有一條雙向10M 的線路, 在經過 mod_gzip 壓縮 html, php , js , css之下

    每天 upload 超載的情形依就沒有改變, 為什麼呢 ??

    我相信很多人都知道, 為了增加網頁的可讀性, 常常會用的圖文並茂的,

    文要壓縮那是很理所當然的事, 那 “圖" 呢 ??

    你確定每張圖在處理時都有經過"最佳化"的壓縮嗎 ?? 我想很多人都跟我一樣

    “不確定" (謎之聲 : 通常管 server 的人那會懂美編視設呀 !!) .

    所以啦, 今天就在我的不確定下, 我在 mod_gzip 裡加入了以下的指令

    mod_gzip_item_include file \.jpg$
    mod_gzip_item_include file \.gif$
    mod_gzip_item_include file \.swf$

    (我同事看到, 馬上跟我講, 那是浪費 CPU 的事)

    加完之後, apache 重新啟動, 經過我的以下流量圖可以得知

    graph_image.jpg

    在紅色區塊, 是啟動 gzip 針對 php, html, css , js 壓縮後的結果, 那白色區塊就是我加了

    jpg, gif, swf 檔案格式壓縮後的頻寬使用圖, (藍色表示上傳, 綠色是下載), 在壓縮

    jpg , gif, swf 後頻寬起碼節省一半(從最高 8M多壓到最低 3M 多), 甚至有 30kb 的 gif 檔經過

    壓縮, 只剩下 10kb. (我的網站是"圖"很多的網站, 以上的圖只是其中一台 server)

    所以我可以很大聲的說 " 誰說jpg gif 不可以壓縮的 ?? “

    …. 以上跟各位分享

    2009.07.01 更新, 為了證實 jpg 的可壓縮性 ~~ 我剛剛再針對 jpg 圖檔進行測試 ~~

    jpgcom_nEO_IMG.jpg

    跟我下面的回應講的一樣 , 原檔 55.4kb , 壓縮後 42kb ~~ 有 23% 的壓縮率 ~~

    (補上圖, 有圖有真相)