版權聲明:本文由梁定安原創文章,轉載請註明出處:
文章原文連接:https://www.qcloud.com/community/article/237web
來源:騰雲閣 https://www.qcloud.com/community微信
做者簡介:梁定安,現就任於騰訊社交網絡運營部,負責社交平臺、增值業務的運維負責人,開放運維聯盟專家委員,騰訊雲佈道師,騰訊課堂運維講師。網絡
上回投稿社區總結了騰訊運維多年來對於容量管理和設備成本管理的實踐經驗,因爲社交業務體量巨大,一不當心節省了上億的運營成本,輕鬆實現了王爸爸的小目標。運維
看上一篇文章:精細化容量管理的設備成本優化之路學習
衆所周知,帶寬是IT的運營成本的大頭之一,此次咱們來一塊兒看看以富媒體爲重要內容載體的騰訊社交業務,是如何經過多年的運維經驗積累,一點一滴的榨乾不合理使用的帶寬水份,爲公司繼續節省兩億的運營成本。優化
進入帶寬優化技術環節前,咱們先一塊兒學習下運營商對帶寬的收費策略:編碼
IDC與CDN的帶寬租金的計價單位爲「元/M/月」,按「週末最高值均值」每個月按量收費。spa
瞭解完運營商的收費策略,知己知彼好乾活。針對業務形態的不一樣,實施對應的技術手段或產品策略,在不影響用戶使用體驗的同時,達到帶寬使用最合理的目的。說白了就是要把業務高峯期的帶寬峯谷削掉。視頻
本文不單獨對IDC帶寬轉換成CDN帶寬的優化作介紹,由於這種作法雖然下降了帶寬成本,可是實際上仍是產生的帶寬消耗,本文的目的更多的是分享減小帶寬消耗的方法。blog
以下圖120G是真實的帶寬峯值,100G是上了優化策略後的峯值,直接優化20G帶寬。
減小帶寬消耗最直接的辦法就是限速,讓用戶在業務高峯期時以較慢的速度訪問,這是最簡單粗暴的作法。
今天咱們說點與業務場景更貼切的優化手段,在騰訊多年的社交運維經驗中,咱們概括出七點心法用於帶寬的優化:
騰訊社交業務產品線廣,幾乎覆蓋絕大部分的用戶社交場景(文字、圖片、視頻、音頻、直播、文件),所以下文咱們主要對用戶社交場景的帶寬成本進行優化。
技如其名的優化策略,在帶寬高峯期,針對業務場景如微信公衆號文章、騰訊視頻、空間說說、QQ看點等,含有流媒體(gif、視頻、音頻)、flash這種消耗帶寬大頭的文件下載時,在產品體驗上取消其自動播放或自動下載的功能,改成由用戶主動觸發後再播放或下載,這樣能夠有效的減小峯值帶寬的,在用戶體驗和運營成本中找到平衡點。
做爲國內最大的社交平臺,咱們擁有着衆多PGC視頻、網絡熱文、廣告圖片等高頻內容,在互聯網病毒傳播的做用下,每每很容易形成帶寬的毛刺消耗,而帶寬的毛刺是運營成本管理中最不肯意看到的。
爲此,咱們經過後臺的數據分析,提早發現熱點內容,採用預先推送到用戶本地的方法,下降高峯期用戶訪問該熱點內容時,產生的帶寬峯值,從而實現優化帶寬的目的。
舉例說明下,假設在應用寶上有個熱門的軟件有bug須要用戶升級修復,經過數據能夠提早分析出用戶主動觸發升級的時間段,那麼咱們就能夠針對性的提早將補丁下發到用戶本地,等到用戶點擊升級時,則能夠直接快速讀取本地的補丁升級。
此舉從用戶體驗上和運營成本上都是個最優的方案。相似的案例還有不少,如門遊戲補丁包的下載優化、柴靜《蒼穹之下》在微信朋友圈瘋傳、富土康員工張全蛋的視頻等等。
在社交的場景,用戶免不了用圖文來表達本身的,而在帶寬最優使用的要求下,咱們有必要對圖片、視頻的格式和大小在不影響用戶體驗的前提下,儘量的優化。
技術上看就是要尋求一種性價比最高的壓縮辦法,常見是如jpg -> webp -> sharpp的圖片格式,又如H.264 -> H.265 的視頻編碼。可應用的業務場景不少,如QQ相冊、空間視頻等等。
按需使用帶寬看似很理所固然,可是放在實際的工做中卻每每很難作到真正的按需使用。站在產品經理的角度,一款好產品就是應該給用戶最好的,高清的圖片、無損的音質、1080p的視頻等等。
可是站在運維的角度產品經理口中最好的並不意味着用戶體驗是最好的,如1080p雖好,但僅當用戶在高速網絡和高分辨率終端的前提下如此,不然盲目的給用戶提供最高清的視頻,只會浪費了公司的帶寬成本,而用戶既不能節省流量資費更不能得到極速的速度體驗。
所以,咱們頗有必要找到用戶體驗和帶寬的平衡點,讓運營成本的每分錢都花到用戶的身上。
舉個業務例子,企鵝電競的遊戲直播分別支持在不一樣終端上觀看,能夠採用不一樣的分辨率,PC最高清,5.5寸大屏手機次之,小屏手機最低碼率。
運營商不斷爲用戶提速,同時下降的資費,在視頻盛行的年代,帶寬費用固然不讓的成爲衆多視頻和流媒體公司的成本消耗巨頭。仍是那句話,要找到用戶體驗和帶寬成本的平衡點,咱們須要最具性價比的下載管理方案——分段下載,在不提升二次緩衝率的同時,減小多餘帶寬的損耗。
舉個QQ音樂的場景,用戶在試聽歌曲時,每每有個習慣,前10秒或副歌開始時就直接決定了該首歌曲會不會被聽完。這就存在一個優化點,聽完一首歌和下載完一首歌的速度是不同的,假設歌曲的平均大小是3M,碼率是128K,用戶使用百兆網絡下載只須要1秒,但用戶卻只聽了10秒便切歌了。
在沒有作任何帶寬優化的狀況下,約有2M多的帶寬會被浪費掉,而QQ音樂有着1億多的用戶,這個成本的浪費是不可接受的。所以,對於QQ音樂這種場景,須要限制下載速度和分段下載,如當用戶播放音樂時,先下載2個時間片的數據(每片10秒),隨後視狀況/策略繼續分段下載。此策略在騰訊視頻等流媒體類的應用都適用。
上面提到優化點多爲產品策略或運營手段,該優化措施是直接在業務技術上實現帶寬的節省,如裁剪APP安裝包大小、手機上使用P2P技術、音視頻voip技術優化、優化傳輸協議減小無用字段的消耗等等,都是一些能夠有效下降帶寬消耗的方法,具體執行的狀況建議按二八原則,抓大頭層層遞進的深刻。
業務實踐的案例,如sharpp,H.265等都是很好的技術突破的案例。
最後一點,也是互聯網公司遵紀守法的體現的一點,掃黃打非在一些業務場景下效果十分顯著,如羣共享、雲盤在線播放等等。你們很容易能夠想象到,一個非法的黃色視頻 / 圖片 / gif 會被頻繁的傳播和點擊,不但違法並且浪費帶寬成本,理應被打擊。
與之相關的涉及鑑黃能力在騰訊多年的社交經驗中早已打磨得十分精準,有須要遵紀守法的公司能夠在騰訊雲上找到萬象優圖這塊產品。
囉囉嗦嗦的列了不少帶寬成本優化的實踐,算是承接上一篇《精細化容量管理的設備成本優化之路》設備優化的續集。一樣的,包括但不限於上述 7 種帶寬優化方法,但願拋磚引玉,在運維圈可以造成良性的對運營成本優化管理的風氣。
畢竟運維團隊是成本中心,技術數據爲業務創造價值以前,我們得先控制好運營成本。
文中列舉的不少案例,都須要產品和開發的配合,也許這也是DevOps的一種價值體現!