Home 技術文章 針對實時流媒體優化CDN
Applications

About The Author

Outline

快閃記憶體和您的直播流

隨着流媒體服務爲有限數量的觀衆爭鬥和日益減少的注意力,實時活動是受衆參與度的有力推動因素,已成爲出版商內容策略的重要因素。 然而,儘管 直播 能夠可靠地爲觀衆提供服務,但可靠地大規模直播直播活動也面臨着一系列挑戰。 內容交付網路(CDN)有助於提供按需可擴展性;但是,即使CDN也必須針對實時流媒體進行優化。

也許最明顯的直播流媒體挑戰是”快閃記憶體”——當許多觀衆一次進入直播流媒體時,就會出現這種現象——他們渴望趕上啓動或加班活動。 在NBA總決賽第6場比賽中,我們觀察到了超過10萬場體育賽事的典型觀衆行爲,觀衆人數迅速從幾乎毫無收穫增長到第3季度的240萬觀衆高峯。 觀衆人數在第一小時從少於1萬次增加到超過100萬次,在半時後又增加了150萬次,有時每分鐘增加10萬次新觀衆。 這種快速擴展會對任何CDN造成壓力。 但交付實時影片更具挑戰性。 任何中斷都會導致播放中斷。

正如我們網路上最近一次現場活動的示例所示,”快閃記憶體羣”現象使通過CDN提供影片比提供常規內容位元組更困難。

在本文中,我們將瞭解突發羣體和其他挑戰,然後探討Verizon Media如何利用其多年在CDN領域的經驗爲我們的客戶解決一些常見難題, 使其成爲提供高質量現場活動的正確選擇—無論是體育,音樂會,政治…還是第一次登陸火星。

爲什麼實時流暫存與衆不同

通過網際網路交付直播活動涉及使用一種或多種ABR (自適應比特率)流格式,例如MPEG-DASH,Apple HLS,Adobe HDS和Microsoft Smooth Streaming。 它通常依賴標準HTTP Web伺服器作爲源站和CDN來大規模分發內容。

Verizon Media的大型 全球CDN (現爲Edgio)擁有許多POPS和超過250+ Tbps的容量,因此我們可以輕鬆擴展以處理大流量高峯和高峯流量。 然而,能力和規模只是等式的一部分。 直播流媒體中特別重要的是,CDN與源伺服器和客戶端的交互效果如何,同時擴展以滿足同時出現的大型觀衆的需求。

實時流量配置文件是獨一無二的,與其他任何內容(即使是VOD)截然不同,因爲在實時事件期間,編碼器不斷向源伺服器發佈新的媒體段(通常持續時間爲2–10秒), CDN始終提取新發布的內容並通過網路傳播。 此過程需要非零的時間;因此無法避免某些延遲。 但是,CDN在啓動暫存填充過程期間以及更重要的是在啓動暫存填充過程之前,在填充暫存和處理客戶端請求方面具有極高的效率和智能性,這一點至關重要。 理想情況下,CDN應能夠將源伺服器上的負載保持在絕對最低水平,同時避免爲整個媒體管道增加過多額外延遲。 這可確保客戶端最終用戶享受流暢,連續的播放。

我們的CDN具有廣泛的功能,使我們能夠在暫存填充過程完成之前,期間和之後最大化源站卸載並改善最終用戶體驗。

實時流高速暫存優化

如下圖所示,我們的媒體平臺採用一系列可調優化,爲實時流媒體實現快速可靠的交付。 在以下各節中,我們將解釋它們爲何重要以及它們的工作方式。

Origin Shield

首先,Origin Shield是CDN邊緣伺服器和原始伺服器之間的額外暫存層。 我們在其中一個POPS中創建一個虛擬源站,然後管理來自所有其他POP位置的所有請求。 當CDN邊緣伺服器收到用戶的請求但無法滿足暫存的請求時,邊緣伺服器將從屏蔽彈出窗口中獲取對象,而不是直接從客戶來源中提取對象。 作爲全球CDN,我們爲客戶提供了將單個POP指定爲屏蔽或每個地區(美國,歐盟,亞洲等)屏蔽POP的選項。

Origin Shield幫助我們在流量高峯和高峯流量時保護原始伺服器。 但是,處理直播流的獨特流量配置文件可能還不夠。

部分高速暫存共享

在實時流中,典型的模式是多個客戶端請求尚未在暫存中的流段。 CDN可以通過幾種方式處理這些請求。 首先,它可以同時向源伺服器發送多個高速暫存填充請求(每個新客戶端請求一個),這有助於最小化延遲並優化最終用戶體驗。 第二個選項是發送單個暫存填充請求,該請求立即爲第一個客戶端提供服務,但其他客戶端會一直等待,直到將完整文件載入到暫存中(此方法旨在最小化源伺服器上的負載)。

不幸的是,這些選擇都不是一個特別好的解決辦法。

相反,我們的方法通過允許在多個客戶端之間共享已在暫存中請求相同內容的多個客戶端之間共享已在暫存中的單個暫存填充,從而在這兩個選項之間取得平衡。 部分高速暫存共享允許其他客戶端從預先存在的高速暫存填充中提取出來,因此影片內容一旦開始載入到高速暫存中,就可以同時傳送到多個客戶端。 結果:啓動時間更快,延遲更短,並且原始伺服器負載更少。

高速暫存填充等待時間

客戶端請求影片文件和開始載入到CDN彈出窗口之間有一段時間。 這一時間點非常小(可能只需幾毫秒),但直播流媒體快閃記憶體羣使其成爲一個非常重要的挑戰,因爲它可能由數百甚至數千個請求組成。 在這種情況下,上述部分高速暫存共享功能尚未啓動。 通常情況下,這被視爲一個角落,但由於快閃記憶體擁擠,更有可能在直播時發生。 在這個關鍵時刻,CDN可能會同時傳遞太多請求,從而使原始伺服器不堪重負。

對同一文件的多個請求被池化以防止此問題,並且只對源伺服器發出一個請求。 暫存填充等待時間是一種虛擬等候室,用於改進源站卸載並應對快閃記憶體擁塞。 當單個請求的HTTP響應標頭到達並且一個請求開始從源伺服器接收文件時,可以與所有等待的池用戶共享暫存。 實際的”等待時間”(毫秒)是高度可配置的,可以根據特定的源伺服器功能和客戶需求進行微調。

爲Miss生成子請求

如果多個用戶請求相同的未暫存內容(如上所述),則第一個客戶端可能在速度較慢的設備上,例如3G連接上的智慧型手機。 這會損害所有其他客戶端,因爲暫存通常以客戶端吸收內容的速率填充。 爲了避免這種情況,我們可以將暫存填充與可能緩慢/失敗的第一個客戶端分離,並加快從源站填充的速度(以最大速度)。 此功能也更可靠,因爲現在,即使初始客戶端斷開連接或某種情況導致連接中斷,高速暫存填充仍會繼續。 我們將這種行爲描述爲對Mis..的衍生子請求 此功能還會觸發整個內容的高速暫存填充,只需一次到原始伺服器的行程即可滿足不同的位元組範圍請求。 Spawn Miss和Cache Fill Wait Time的子請求在使用中相互補充,共同加快實時流傳輸速度並改進影片啓動和重新緩衝等指標。

其他即時串流CDN最佳化

熱歸檔
隨着直播流的收視率迅速擴大,以前輕鬆處理500K觀衆負載的高速暫存伺服器在幾分鐘內突然被收視率翻了三倍或四倍。 此外,觀衆可能會集中在特定的地理區域,通常是爲了參加熱門的體育或政治活動。 對於許多現場體育廣播或錦標賽來說,參與團隊周圍的市場中觀衆的注意力可能會顯著提高。

發生這種情況時,需要將實時流段快速複製到受影響POPS內的其他伺服器,以幫助分散負載。

熱歸檔是一種自動檢測極受歡迎的內容並將其複製到多個暫存伺服器的過程,例如實時流段,以處理大量需求。 這是內容交付網路中常見的做法,但這些傳播的速度最終至關重要。 這是Edgio持續關注的一個領域。 我們最近將複製速度從5秒降至大約1-2秒。 除了直播流之外,我們還可以在直播流中製作其他內容(如廣告)。

容量和帶寬
容量和帶寬是指TAP上的額外容量,以滿足直播流的不可預測需求。 就像肌肉汽車不能替代立方英寸一樣,CDN也不能替代帶寬。 將這些和其他高速暫存優化策略付諸實施需要網路具有處理大規模實時流的容量和帶寬,同時平衡其他用戶對其施加的負載。

目前,我們網路上80%以上的內容是影片,其中大部分流量用於直播流媒體。 我們已在我們的網路上交付超過125,000個受管的現場活動。 隨着直播流的普及程度不斷提高,內容質量也在不斷提高,我們有望在2019年底達到100 Tbps的網路容量。 我們的網路擁有140多個全球POPS和5000個互連或最後一英里連接。

一切都在一起

直播流媒體的繁重需求將使您的技術達到極限。 爲數千甚至數百萬人提供流暢的流需要特殊的暫存配置。 Origin Shield,部分高速暫存共享,高速暫存填充等待時間,Spawn Sub Request for Miss和熱歸檔的組合是功能強大的,可根據您獨特的實時流基礎設施和需求量身定製。 它們使我們的CDN能夠爲實時流式傳輸事件提供儘可能最佳的性能,無論對象是否已在高速暫存中,還是僅部分位於高速暫存中,還是暫存填充尚未開始且仍處於待處理狀態 甚至在請求恰好是第一位客戶對獨特內容的請求時。

CDN是實時影片基礎架構中的重要組成部分。 它的分佈式伺服器系統將內容提供給您的用戶,因爲它考慮到地理位置和網路位置以及源伺服器本身,以儘可能快,最可靠的方式交付內容。 但是,針對實時交付優化CDN的技術與其他也受益於CDN的應用程式(包括影片點播(VOD))有很大差異。 憑藉正確的高速暫存優化和充足的預留空間,CDN不僅僅是應對實時流中固有的波動和可變性。

我們的CDN提供成熟,成熟的 內容分發功能和優化功能 ,可最大限度地減少源伺服器上的負載,同時大規模向觀衆提供直播流媒體。 我們的實時影片高速暫存優化(其中許多可爲單個客戶調整)協同工作,以保護觀衆的需求,防止您的影片基礎設施不堪重負。

Tags

Just For You