臉書在部落格揭露,現在臉書有超過75%的網際網路流量都使用QUIC(包括QUIC和HTTP/3)協定,臉書提到,QUIC在許多方面都比舊協定表現還要好,包括請求錯誤、長尾延遲以及回應標頭大小等,各種影響用戶使用體驗的指標。

廣義的來說,QUIC是一個用來代替TCP的協定,最初由Google開發,在之後Google將其提交給IETF,經過IETF重新設計與改進,成為了目前最終的QUIC版本,HTTP/3則是最新的HTTP版本,而QUIC和HTTP/3結合,能在網際網路中引入最新的功能。

臉書提到,QUIC與HTTP/3的組合,比TCP加HTTP/2的效能更好,TCP加HTTP/2首先開始提供在單一網路連接,支援多重資料串流的功能,稱之為串流多工,而QUIC與HTTP/3推進串流多工的發展,消除了TCP隊頭阻塞的問題,使得串流真正各自獨立,不會因為丟失的封包阻塞,而使得連接中的所有串流變慢。另外,QUIC提供先進的丟失恢復功能,因此即便在惡劣的網路條件下,QUIC的效能變現會比大多數TCP實作還要好。

臉書開發了自家的QUIC實作mvfst,以便在系統上快速測試和部署QUIC,同時也結合使用自家開發的HTTP客戶端/伺服器函式庫Proxygen,以及TLS 1.3函式庫Fizz。臉書希望新協定可以和現有的軟體無縫整合,因此展開了一系列QUIC實驗,他們在網際網路流量中的一大分支實驗QUIC,其中大部分針對內部的網路流量,包括從代理伺服器到臉書的公共流量。

臉書提到,要是QUIC在內部流量表現不佳,那他們可以推測,在範圍更大的網際網路上,表現肯定也不會太好。臉書應用程式是臉書第一個在網際網路中,測試QUIC的目標,臉書提到,因為臉書應用程式擁有成熟的架構,可以在推送給數十億使用者之前,在應用程式安全地釋出變更,並且測試變更帶來的影響。

QUIC在臉書應用程式中,改進了數個效能關鍵指標表現,跟HTTP/2相比,臉書應用程式的請求錯誤減少6%,長尾延遲降低20%,而且回應標頭大小也減少了5%,這些改變同時改善了相關指標的表現,經過實驗,QUIC的確可以大幅提高使用應用程式的體驗。

除了在動態請求使用QUIC,臉書還在像是圖片和影片等靜態內容部署QUIC,實驗結果顯示,QUIC也能有效提高使用者觀看影片的體驗,在臉書應用程式的影片觀看指標,產生變革性的影響,綜合不同平臺的平均重新緩衝時間(MTBR),可縮短22%的時間,影片請求總錯誤數則減少8%,而且影片停頓率甚至減少了20%,臉書提到,QUIC可明顯提升影片觀看體驗,特別是對網路條件相對較差的使用者,更能產生巨大的影響。

雖然最終臉書在應用QUIC上,獲得良好的成果,但臉書也提到,他們在過程克服了各種問題,其中像是iOS和Android應用程式使用不同的機制,以估算可用下載頻寬,而在使用QUIC時,估算器可能錯估可用頻寬,而播放比頻寬能夠支援,還要高品質的影片等問題,臉書經過了一些實驗和迭代,才找到系統最佳的QUIC配置。

熱門新聞

Advertisement