Tag Archives: gzip

CloudFront 總算支援 gzip 壓縮了...

CloudFront 總算是宣佈支援 gzip 壓縮了:「New – Gzip Compression Support for Amazon CloudFront」。 不過在「Serving Compressed Files」文件裡提到,CloudFront 有可能不壓縮 (居然還有這種的...): CloudFront is busy In rare cases, when a CloudFront edge location is unusually busy, some files might not be compressed. 另外看起來也沒辦法指定壓縮哪些 Content-Type,只能用選好的值。

Posted in AWS, CDN, Cloud, Computer, Murmuring, Network, WWW | Tagged , , , , , | 1 Comment

CloudFlare 對 Brotli 的測試

之前有提過這件事情,由於 Firefox 已經支援 Brotli 了 (Google 推出 Brotli 無損壓縮法),所以 CloudFlare 的人整理了目前的效能比較:「Results of experimenting with Brotli for dynamic web content」。 主要還是 Brotli 拿了不少資源來換壓縮率,對於 static content 由於可以事先算好而大勝不少 (大約可以再榨出 15% 的壓縮率,從 zlib 9 的 27.7% 降到 brotli 10 的 23.3%): The current state … Continue reading

Posted in Browser, CDN, Computer, Firefox, Murmuring, Network, Software, WWW | Tagged , , , , , , , , , , , , | Leave a comment

完全關閉 HTTPS 的 gzip

在「Perceived Web Performance – What Is Blocking the DOM?」這邊看到 Google PageSpeed Insights,突然發現我的 nginx 設定還是有打開 gzip,而目前因為 BREACH 攻擊的關係,有 cookie 的 SSL/TLS 下不應該開 gzip: gzip off; 目前好像沒有比較好的解法可以對抗 BREACH...

Posted in Computer, Murmuring, Network, Security, Software, WWW | Tagged , , , , , , , , | Leave a comment

CloudFlare 加速 zlib library

CloudFlare 大幅改善 zlib,使得速度相較原來的版本快了許多:「Fighting Cancer: The Unexpected Benefit Of Open Sourcing Our Code」。 改變的部份主要是 CPU 指令集的特性,以及 longest-match function 的改善。可以看出不同的測試樣本 (corpus) 在壓縮率沒有變差的情況下,大幅改善了速度。 Calgary corpus: Canterbury corpus: Large corpus: Silesia corpus: 速度快非常多,跟 Google 以壓縮率為導向而放出來的 zopfli 剛好是兩個極端:「Google 發表與 zlib/deflate 相容的壓縮程式,再小 5%...」。

Posted in CDN, Computer, Murmuring, Network, Programming, Software | Tagged , , , , , , , | Leave a comment

Linux Kernel 將不提供 bzip2 格式了...

在 kernel.org 上看到 Linux Kernel 將不提更 bzip2 格式的原始程式包了:「Happy new year and good-bye bzip2」。 之後只會提供 .tar.gz (為了廣泛的可用性) 與 .tar.xz (為了大小,降低傳輸量)。xz 壓出來小不少,也愈來愈多的單位在用了... bzip2 也一陣子沒更新了,上次更新是 1.0.6,是為了安全性更新 CVE-2010-0405,而 1.0.5 也是安全性更新,真正有新版本是 1.0.4 (2006 年 12 月)。 算是功成身退了?

Posted in Computer, Linux, Murmuring, OS, Software | Tagged , , , , | Leave a comment

Percona XtraDB Cluster 5.6 的第一個 RC 版本...

Percona XtraDB Cluster 5.6 的第一個 RC 版本公告出來了:「Percona XtraDB Cluster 5.6.15-25.2 first Release Candidate is now available」。 其他的說明沒什麼,但意外看到這點: Percona XtraDB Cluster now supports stream compression/decompression with new xtrabackup-sst compressor/decompressor options. 在「option compressor/decompressor」這邊可以看到這個設定,功能是在傳輸 SST 的過程壓縮。 看了範例設定,似乎也可以使用 gzip 以外的方式?bzip2 或是 xz 應該是可行的方案? 對跨機房之間的 … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Network, Software | Tagged , , , , , , , , , , , , , | Leave a comment

Zopflinator:計算 Zopfli 效果比 gzip -9 好多少的網站...

前幾天 Google 推出 Zopfli:「Google 發表與 zlib/deflate 相容的壓縮程式,再小 5%...」,是個壓縮率比目前實做的 deflate/zlib 還高的新演算法。 而 Zopflinator 則是提供比較的網站,你可以把網址丟進去後看到未壓縮的大小、用 deflate 預設值壓縮後的大小,gzip -9 的大小,以及 zopfli 後的大小。 原文出自 Steve Souders 的「Zopflinator」...

Posted in Computer, Murmuring, Network, Software, WWW | Tagged , , , , , | 1 Comment

Google 發表與 zlib/deflate 相容的壓縮程式,再小 5%...

Google 以 Apache License, Version 2.0 發表了與 zlib/deflate 相容的壓縮程式:「Compress Data More Densely with Zopfli」。 與 zlib/deflate 相容代表現有的 browser 都不需要變動,而在 project 頁面上是這樣寫: Zopfli Compression Algorithm is a new zlib (gzip, deflate) compatible compressor. This compressor takes more time (~100x slower), but … Continue reading

Posted in Browser, Computer, Murmuring, Network, Software, WWW | Tagged , , , , , , , , , , | 4 Comments

同時用 mod_deflate 與 mod_fastcgi 所產生的問題...

今天花了不少時間找到的問題... 問題是使用 mod_fastcgi 以及 mod_deflate 時,Content-Encoding 會是 gzip,但 Content-Length 會是未壓縮的長度。 也就是說,伺服器端在 header 提供的 Content-Length 可能寫 8KB,但實際上只丟出 2KB (壓縮後的大小),於是瀏覽器讀完這 2KB 後會停下來一直等,等到 Keep-Alive timeout 斷線 (在我機器上預設是 5 秒)。 在 timeout 斷線後 browser 會就抓到的資料直接解開執行 (因為這 2KB 都有抓到,於是都正確執行)。如果用瀏覽器這邊的 debugger 觀察,就會發現從 first byte 後 5.00 … Continue reading

Posted in Computer, Murmuring, Network, Software, WWW | Tagged , , , , , , , | Leave a comment

利用 AWS CloudFront 的 Custom Origin 實做標準 deflate/gzip 壓縮

在「gzip support for Amazon Web Services CloudFront」這篇提到了要如何用 CloudFront 的 Custom Origin 實做標準 deflate/gzip。 之前 CloudFront 就有支援 Vary header,雖然只支援 Accept-Encoding,但這就是我們要的:(Appendix: Custom Origins) The only acceptable value for the Vary header is Accept-Encoding. 本來 S3 沒有能力依據 Accept-Encoding 送出不同的結果,這次有了 Custom Origin 出來以後掛個有能力 gzip-on-the-fly … Continue reading

Posted in AWS, CDN, Cloud, Computer, Murmuring, Network, WWW | Tagged , , , , , , | Leave a comment