我要曝光!CDN 省錢大法!

又拍雲發表於2018-09-11

七夕節剛過去,小明卻特別鬱悶,因為七夕當天,他錯過了和遠在北京的女神表白的機會。事情的經過是怎樣的呢?為了在七夕當天送給自己女神一件禮物,小明在某購物網站上花重金購買了特別的禮物,禮物是從廣東傳送,結果因為物流擁堵,七夕已經過去多天,女神卻仍沒收到禮物,小明因此錯過了表白的時機。而二狗子相對來說就比較幸運了,在網上購買了一份禮物,也是送給遠在北京的女神,不過禮物從北京分揀倉直接發出,女神在七夕當天收到了禮物並且接受了二狗子的表白。這個故事告訴我們有個賤賤的小名是多麼重要,額……偏題了。

言歸正傳,下面來簡單瞭解下 CDN。故事中分佈在每個城市中的分揀倉庫可以理解為 CDN 節點,使用者在瀏覽網站的時候,CDN 會選擇一個離使用者最近的 CDN 邊緣節點來響應使用者的請求,而不必請求到源站或者跨運營商請求,這樣,CDN 節點解決了跨運營商和跨地域訪問的問題,訪問時間大大降低。同時,大部分請求在 CDN 邊緣節點完成,CDN 起到了分流作用,減輕了源站的負載。

現如今,網際網路使用者的時間非常寶貴,擁有快速的資料傳輸能力,對於現在的網站、App 來說是必須的。一個良好的訪問體驗是使用者不流失的基本條件,給網站、App 上CDN 無疑是明智之舉。但隨之而來的問題就是 CDN 的使用成本,雖然現在的 CDN 單價已經低到了塵埃,但是如果有更省錢的辦法,甚至在省錢的同時,還能進一步提升使用者體驗,何樂而不為呢?

接下來就是最最激動人心的時刻了,我要開始曝光傳說中的 CDN 省錢大法了。

 

妙招1. WebP 自適應

開啟路徑:登陸又拍雲控制檯 ⇒服務管理⇒ 配置 ⇒ 成本控制 ⇒ WebP自適應

WebP 主要功能是使圖片質量和 JPEG 格式質量相同的情況下,減少圖片檔案的體積,籍此減少網際網路上圖片的傳送時間和流量消耗。與其他圖片格式相比,WebP 集合了多種圖片檔案格式的特點:像 JPEG 一樣適合壓縮照片和其他細節豐富的圖片,像 GIF 一樣可以顯示動態圖片,像 PNG 一樣支援透明影象。

根據 Google 的測試,WebP 無失真壓縮圖片比 PNG 圖片少了 45% 的檔案體積,即使這些 PNG 圖片在使用 pngcrush 和 PNGOUT 處理後,WebP 依舊可以減少 28% 的檔案體積。

△ 2017 年,某圖片網站應用 WebP 前後的頻寬/流量變化

從上圖的資料可以看出,通過對新一代圖片格式 WebP 的應用,該圖片網站在總體請求量變化不大的情況下,整體頻寬、流量近下降了 50%,成功降低網站頻寬資源的消耗,節省了一大筆成本。

妙招 2. H.265 自適應

開啟路徑:登陸又拍雲控制檯 ⇒ 服務管理 ⇒ 配置 ⇒ 成本控制 ⇒ H.265自適應

H.265 是在 H.264 的基礎上保留其中的部分技術,並對相關技術加以改進研發而成。相較與 H.264,H.265 視訊壓縮率更出眾,效率提升近 1 倍,僅需原先的一半頻寬即可播放相同質量的視訊。

眾所周知,視訊編碼的位元速率是可以靈活控制的,以相同的視訊質量為基準,H.265 編碼技術相比 H.264 編碼技術能夠在視訊容量減少 39% 到 74%,並且還能獲得比 H.264 視訊更好的訊雜比(PSNR)效果。——拿“體積比你小,質量比你好”來形容 H.265 相比 H.264 的巨大優勢,並沒有顯得過分。

△ H.264、H.265 壓縮率對比

視訊傳輸流量節省 50%,IEEE 出版的 Circuits and Systems for Video Technology,其中有 Comparison of the Coding Efficiency of Video Coding Standards—Including High Efficiency Video Coding 一文,以 9 段影片進行測試 H.265 的編碼表現,所得到的結果相當另人滿意,即便在表現最差的樣本中,節省的流量接近 30%,平均起來也達到 49.3% 的佳績。

△ H.265 與 H.264 流量比較(資料來源:IEEE)


秒招3. 智慧壓縮

開啟路徑:登陸又拍雲控制檯 ⇒ 服務管理 ⇒ 配置 ⇒ 效能優化 ⇒ 智慧壓縮

智慧壓縮支援 Gzip 和 Brotli 壓縮演算法。開啟該功能,可對靜態檔案型別進行壓縮,有效減少使用者傳輸內容大小,加速分發效果。為了配置的靈活性,“智慧壓縮”功能支援壓縮等級(1 到 5)的設定。

Gzip 基於 DEFLATE 演算法,它是 LZ77 和霍夫曼編碼的組合,最早用於 UNIX 系統的檔案壓縮。HTTP 協議上的 Gzip 編碼是一種用來進 Web 應用程式效能的技術,Web 伺服器和客戶端(瀏覽器)必須共同支援 Gzip,當下主流的瀏覽器都是支援 Gzip 壓縮,包括 IE6、IE7、IE8、IE9、FireFox、Google Chrome、Opera 等。

Brotli 壓縮演算法是Google 在 2015 年 9 月推出了無失真壓縮演算法 Brotli。Brotli 通過變種的 LZ77 演算法、Huffman 編碼以及二階文字建模等方式進行資料壓縮,與其他壓縮演算法相比,它有著更高的壓縮效率。

開啟之前 VS 開啟之後

△ 未開啟前:將 Gzip 和 Brotli 特性關閉

△ 開啟後:將 Gzip 和 Brotli 同時開啟,壓縮等級設定為 5

在同時開啟 Gzip 和 Brotli 壓縮演算法時,Brotli 壓縮等級優先順序高於 Gzip ,當客戶端同時支援兩種壓縮演算法的情況下,會優先返回 Brotli 版本的資原始檔。上圖中,同時開啟了 Gzip 和 Brotli,但使用的壓縮演算法是 Brotli,壓縮等級為 5。

節省頻寬和流量,減少源站壓力對於每個網站、App 來說都非常重要。而 WebP 自適應、H.265 自適應、智慧壓縮三個特性分別包含了對圖片、視訊、靜態資源的優化,這幾乎包含了一個網站、App 的所有元素。這三大妙招既節約了流量開支,又帶給使用者更好的使用體驗,並且只要點下按鈕就能自主開啟,你還在等什麼呢?

 

推薦閱讀:

深入解析 H.265 編碼模式,帶你瞭解Apple全面推進H.265的原因

頻寬成本降低50%的祕密--深入解析WebP

相關文章