閱讀843 返回首頁    go 技術社區[雲棲]


AE無線 spdy 網絡改造項目性能數據review

該文章來自阿裏巴巴技術協會(ATA

項目背景

AE無線用戶麵臨的國際網絡環境比國內還複雜,網絡性能一直是一個瓶頸,為了給用戶更快的體驗,無線團隊在雙十一之後陸續做了許多性能優化,
其中針對網絡性能的spdy網絡改造也已經完成,從性能數據上看網絡延遲減少30%到50%。

項目目標

從spdy協議多路並發、頭部字典壓縮、鏈路複用等優化來減少網絡延遲,提升用戶體驗,分析性能數據做下一步的優化方向。

技術方案

標準spdy協議

雙通道

我們目前api一部分需要加密傳輸(帶accesstoken的api),一部分不需要(產品列表等),為了最大化優化效果,所以我們決定采用spdy over https 和 http雙通道的方案。

降級策略

當spdy失敗時,降級到HTTP協議,確保線上業務不受影響
1、全局配置降級 (服務端配置降級) 
2、spdy鏈接失敗降級(沒網絡的異常、有spdy成功記錄的鏈接失敗) 
3、spdy不可用直接降級(鏈接失敗記錄超過5次且沒有spdy成功記錄)

預埋服務端配置邏輯

根據前輕後重的原則,預先在客戶端埋下可配置的邏輯,包括:
(1)ssl 和non ssl 通道切換
(2)不可用直接降級的失敗次數(無成功記錄)
(3)直接降級失敗次數(有成功記錄)
(4)post 和get切換(get請求在spdy協議中比post請求少一幀數據,速度會快一些)

性能數據

網絡耗時
鏈接複用次數

平均複用次數為15.5次

各api耗時情況,跑步進入1時代,實現無線1秒鍾加載完畢的原則
spdy降級分析

從數據看大概1.5%的請求降級為http,大部分是網絡問題(無網絡、連接不上和超時)和spdy協議錯誤,後麵穩定之後可以通過服務端配置提高不可用直接降級次數到10次,減少因為無網絡導致後麵直接降級的可能。
錯誤碼3是除了中斷異常、超時、協議錯誤之外的重試仍然失敗。



李曄的實時監控數據,72、73為3.8.0和3.8.1支持spdy的版本

潘潘在GA上統計數據

3.7.3數據

 

3.8.0數據


後續優化方向

(1)限製一些非業務api的調用頻率(如檢查升級和獲取配置信息、獲取地址等)
(2)將一些特定api從post動態切換到get,提升速度
(3)增加鏈接保活時間,提高複用次數
(4)對一些業務數據做緩存
(5)對一些業務數據做預加載
(6)降低降級比例
(7)多IDC部署就近IP接入調度
(8)靜態數據CDN加速
 

最後更新:2017-04-01 13:44:32

  上一篇:go Progressive JPEG圖片漸進加載方案
  下一篇:go silverlight iis MIME 類型