精品国产亚洲一区二区三区|亚洲国产精彩中文乱码AV|久久久久亚洲AV综合波多野结衣|漂亮少妇各种调教玩弄在线

<blockquote id="ixlwe"><option id="ixlwe"></option></blockquote>
  • <span id="ixlwe"></span>

  • <abbr id="ixlwe"></abbr>

    優(yōu)化CDN不用愁,從全鏈路入手就會找到答案

    原標題:優(yōu)化CDN不用愁,從全鏈路入手就會找到答案

    CDN是一種新型網絡構建方式,目的是提高用戶訪問響應速度和準確率。CDN代表了一種基于質量與秩序的網絡服務模式。本專欄將從技術角度探討CDN的應用前景,同時結合實際場景中的問題和解決辦法,希望能夠幫助企業(yè)更好的用好網絡,服務用戶。

    今天,我們先介紹CDN優(yōu)化的核心要點和關鍵環(huán)節(jié)。

    1、質量與規(guī)模均是業(yè)內領先

    百度智能云CDN自2016年開始對外商業(yè)化,搭上百度智能云發(fā)展的快車道,不斷打磨與改進,CDN的規(guī)模與質量都得到了很大提升。目前儲備帶寬50T+,利用率在60%左右,全球可用節(jié)點在600+,擁有國內與海外完整的加速解決方案。

    用戶非常看重CDN的質量,經常會用“PK”的方式從N家中選擇1-2家作為供應商。百度智能云CDN經過2017~2018這兩年的不斷自我進化與客戶打磨,目前整體質量綜合排名在業(yè)界處于領先位置。

    百度智能云CDN架構與優(yōu)勢

    當前,百度智能云CDN的主要特點如下:

    • 邊緣CDN節(jié)點支持QUIC、HTTP2.0、TLS1.3等新特性。
    • 節(jié)點內部支持私有協(xié)議,主要用于節(jié)點間加速與內部回源防劫持。
    • 上傳加速,節(jié)點間使用QUIC、長連接復用等技術打造上傳加速差異。
    • 中心節(jié)點與百度內網有高速專線連接,總體利用率不到40%。
    • 與BOS結合,有一套完整的上傳與分發(fā)解決方案。

    由于百度智能云的CDN表現(xiàn)出色,不少重量級的企業(yè)已經在使用。例如,我們服務的長視頻類客戶主要有愛奇藝、芒果點播等,短視頻類客戶主要有快手、手百Feed、全民視頻、好看視頻等,手機APP下載類客戶有魅族、小米、華為等。

    2、從全鏈路入手進行優(yōu)化

    如何做到CDN的優(yōu)化?我們從全鏈路分析著手,涉及到客戶端、網絡、節(jié)點和回源整個請求的生命周期。

    就拿手機百度APP的Feed小視頻來說,當用戶點擊一個視頻后,一個HTTPS請求會從端上觸發(fā),經歷端上APP及播放器再到底層網絡協(xié)議棧發(fā)出,再通過公網途經就近CDN網絡,首次未命中回源獲取,同步響應第一個用戶。在CDN上緩存后,便能加速后續(xù)的請求。從這個過程來看,一個請求的生命周期大概經過以下階段。

    ? 客戶端:需要不同調整策略

    端上的數(shù)據往往是我們優(yōu)化的突破點,因端上APP實現(xiàn)邏輯的差異,不同的實現(xiàn)形式可能需要服務端有不同的對應調整。HTTPS現(xiàn)在基本是端上的標配,有效的HTTPS Session復用能大大提升加載資源的速度,手機百度APP通過多種Session復用技術,可以做到0-1RTT的時延。

    我們團隊與手機百度網絡團隊聯(lián)合優(yōu)化時發(fā)現(xiàn),手機百度端上網絡庫存在以目標IP為粒度的Session復用,雖說這樣能大幅度提升Session復用率,但在目前以SNI為基石的多域名復用CDN加速機制下,會出現(xiàn)握手失敗的情況,最后通過端上網絡庫的打點,我們能及時發(fā)現(xiàn)并解決問題。

    另外,我們還結合端上的卡頓分析,發(fā)現(xiàn)4G網絡用戶因受運營端套餐的限制,會出現(xiàn)每月從1號開始,卡頓比或loading率持續(xù)上升,再到次月初恢復的現(xiàn)象。

    ? 網絡:注意域名解析

    在發(fā)請求前,域名解析是一個必不可少的環(huán)節(jié),大部分端會首先用DNS來解析,但國內的DNS劫持與污染一直是非常嚴重的問題。我們給用戶建議使用HTTP DNS后有效解決了劫持問題。例如,在某些弱網絡環(huán)境下,手機百度APP端上會自動升級到QUIC協(xié)議,主動改善用戶體驗。

    ? CDN節(jié)點:分層優(yōu)化

    節(jié)點內的優(yōu)化一直是我們的重點,優(yōu)良架構的選型與核心模塊的優(yōu)化都有顯著的效果。百度智能云CDN采用典型的分層結構,接入業(yè)務層與Cache存儲層分離,各自分工明確,通過四層BGW加七層Nginx的兩層負載,應對各種故障場景。

    CDN節(jié)點上內核協(xié)議棧的行為,對性能有很大的影響,如初始窗口、發(fā)包策略、重傳策略等,我們線上內核大量嘗試BBR、Boost等較為先進的發(fā)包算法,有效提升傳輸速度與可用性。

    另外,協(xié)議棧層面,我們還自研了一套系統(tǒng),能自定義監(jiān)控一條TCP流上所有的形為,這樣就能有效快速的定位到應用層數(shù)據發(fā)完后,是協(xié)議棧沒有及時處理還是端上網絡不好。

    ? 回源:用私有協(xié)議應對劫持

    回源劫持一直是比較頭疼的問題,如302劫持、DNS劫持等。比較有技術含量的運營商能根據Host進行阻斷,可能是為了減少跨網流量或主動封堵。此問題可以用HTTPS得到有效解決。但HTTPS就會要求用戶必須提供有效的證書,且存在大量的SSL握手,在節(jié)點內部回源,就顯得有點太重。

    為此我們開發(fā)了一套私有回源協(xié)議,盡量使問題簡單有效的得到解決。另外,如果使用百度智能云的BOS存儲,還會有額外的優(yōu)化,如高速專線回源、獨享公網帶寬、常態(tài)有40%的允余,足以應對各種突發(fā)。

    3、重點優(yōu)化Nginx接入層

    為了能有效的衡量七層接入層Nginx的優(yōu)化效果,我們團隊構建了一個能體現(xiàn)Nginx運行狀況的卡頓指標,具體為Nginx每分鐘處理事件cycle時間超過50ms(50ms的選擇是可配置的,主要是考慮優(yōu)化影響較大的場景)的個數(shù)。

    一次處理cycle超過50ms意味著這個Nginx worker上的所有請求,都會在這個時間段(50ms內)得不到及時的處理。就小文件場景來說,就會體現(xiàn)在首包時間長,而我們的優(yōu)化往往就是毫秒級進行。對于Nginx這樣一個高效的異步事件驅動的模型來說,這有背于高并發(fā)設計原則,我們應該全力降低并消除回調callback過于占用CPU的情況。通過我們線上的實踐,大體發(fā)現(xiàn)兩類問題。

    1、智能壓縮減少CPU消耗:這個問題大家都比較容易理解,壓縮本來是一個CPU密集性任務。為了有效降低CDN的出口帶寬,部分文件類型的壓縮是不可少的。但我們也發(fā)現(xiàn),有部分用戶的文件類型,壓縮比很低,這類基本沒有壓縮的必要,所以我們CDN支持了智能壓縮,自動計算與識別壓縮比,來決定壓縮與否。

    2、解決系統(tǒng)調用卡頓:系統(tǒng)writev調用卡頓,是我們逐步縮小定位到的,發(fā)現(xiàn)線上機器因內存使用不當,產生大量的內存碎片,而每次writev調用時,在申請內存不夠時,會時不時的觸發(fā)reclaim或compaction。經過與內核同學一起定位,通過修改內核行為得到有效解決。

    經過以上調整之后,收益明顯:可以做到小文件首包降低30ms+,與多家競品對齊或超越;同時,每分鐘事件處理超過50ms的卡頓數(shù)降低90%(從每分鐘40次到每分鐘4次)。

    小提示:后續(xù)百度智能云CDN團隊將持續(xù)撰寫相關文章,敬請關注。

    極客網企業(yè)會員

    免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現(xiàn)的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。

    2019-05-08
    優(yōu)化CDN不用愁,從全鏈路入手就會找到答案
    我們團隊與手機百度網絡團隊聯(lián)合優(yōu)化時發(fā)現(xiàn),手機百度端上網絡庫存在以目標IP為粒度的Session復用,雖說這樣能大幅度提升Session復用率,但在目前以SNI為基石的多域名復用CDN加速機制下,會出

    長按掃碼 閱讀全文