開發者必看:騰訊云開放QQ空間圖片服務能力 既省流量又省錢!
圖片在移動應用中的地位不用多解釋,一個詞:核心。但開發者們真的用好圖片了嗎?怎么合理利用規則省流量、省銀子?QQ空間每天600億次圖片下載,5.9億次圖片上傳,同時上傳下載成功率高達99.9%,他們是怎么做到的?開發者可以從中學習到什么? 本文談談QQ空間這幾年是怎么優化圖片下載流量的,又是如何通過各類手段“省流量”和“省錢”的。
精細化處理 顯著減少圖片下載流量
流量的直觀理解就是:圖片下載流量 = 圖片本身的大小 x 下載請求的次數。所以不難想到兩條優化思路:降低圖片大小和減少下載次數,那么問題來了……要怎么做到?
1、降低圖片大小
首先在降低圖片大小方面是一個長期的“抗戰”過程。這里包含:JPEG/PNG格式轉WebP、GIF優化、調整質量因子、摘除EXIF信息、降低圖片尺寸等方式。
利用Google WebP圖片文件格式能顯著減少圖片大小。這一結論在QQ空間得到有力印證。QQ空間在騰訊公司內是較早上線WebP格式的業務。從近兩年的實踐結果來看,通過WebP化,圖片大小整體降低30%以上。
除JPEG格式外,PNG格式也可以通過轉換WebP顯著降低文件大小。絕大多數PNG圖片轉WebP后文件大小只有原文件的20%~40%,而且圖片視覺效果基本無差異。

此外,對GIF圖片,嘗試降低顏色數值可以減少圖片大小。在寬高、幀數上做文章很容易被視覺發現,通過大量對比試驗發現,當GIF顏色數大于97時降至97,其視覺效果基本可以接受,文件大小可以減小8%左右。
除此之外,調整質量因子、摘除EXIF信息(數碼相機在拍攝過程中采集一系列的信息)、降低圖片尺寸也是減小圖片大小的通常做法。
2、減少下載次數
在減少下載次數方面的原則是:可以不下載一定不下載、可以下小規格一定不要大規格,可是真正實踐起來卻大有可為,下面就舉幾個例子跟大家探討一下。
比如QQ空間和微信朋友圈都做了同一件事情:打擊非原創動態。如果是用戶分享、轉載的動態,其中的圖片只展示第一張,并且展示小圖。這樣的圖片優化方式可以降低70G流量成本。
再如分析發現空間的GIF圖下載次數和人數比例不到1%,但流量占整個流量的15%,所以QQ空間做成了視頻一樣的體驗,只有主動點擊播放按鈕的人才能真正下載GIF文件,否則只下載對應的WebP單幀圖片。
適當降級、提前下載 合理降低成本
說完怎么降低下載流量,再來聊聊怎么省錢?既然是優化流量成本,那就得搞清楚計費的方式,并進行合理的成本規避、轉移??梢允褂孟鞣濉㈠e峰、防盜鏈等方法。
比如海量服務需要適當考慮降級服務,這同樣適用到成本優化上來。比如在晚8點~10點間,在部分網絡+部分機型+部分場景做適度的降級服務后,流量曲線出現了明顯火山口,這就是削峰。
錯峰則是可以幫助訪問者把要訪問的圖片在高峰來臨之前下載到本地。影響效果的因素比較多,QQ空間也在不斷調優中。
對于開發者來說,怎么合理利用圖片是一件非常重要的事情,需要在實踐中不斷總結與提升、合理利用各項資源,能夠更加精細化的實現產品打磨,才能夠在產品競爭中實現突破。
騰訊云開放QQ空間圖片服務能力
最后,或許開發者們會問,QQ空間這樣海量圖片處理的能力是否可以開放出來?答案是肯定的,騰訊云最近推出的“萬象圖片”服務,正是基于QQ空間使用的核心圖片服務能力,為開發者提供包括圖片存儲、處理、分發等在內的一體化解決方案,這也是騰訊云移動應用解決方案的特色服務之一。
“萬象圖片”服務采用IP直通車技術,減少DNS解析,能夠有效防止域名劫持;借助手機QQ等產品提供的連接數據,實現全網智能調度,讓客戶端連接到路徑最短的上傳服務器,實現最優接入;此外還可以自動進行圖片的分片上傳和斷點續傳,用戶即便處于網絡較差環境下,也可以完成圖片的上傳下載。不僅如此,當用戶所處的網絡場景發生變化時,"萬象圖片“服務還可以快速完成場景切換,獲取最優網速,提升用戶產品體驗。數據顯示,使用”萬象圖片“服務,圖片的上傳下載成功率可高達99.9%,有效為開發者節省移動端下載流量30%-40%,幫助開發者簡化圖片相關的開發工作。此外,智能黃圖過濾、人臉識別等特色功能也是”萬象圖片“的核心武器。