簡單做一個測算
單個直播間內(nèi)100,000觀眾同時在線,每個觀眾屏幕的彈幕峰值為50條/秒,則服務(wù)端需要推送的彈幕流量為5,000,000條/秒,這樣的流量洪峰不僅考驗網(wǎng)絡(luò)的轉(zhuǎn)發(fā)能力及帶寬,對美國服務(wù)器的CPU和內(nèi)存也會造成相當(dāng)大的壓力,更不用說現(xiàn)在同時在線人數(shù)甚至能到百萬、千萬級別。
要在如此大規(guī)模并發(fā)的壓力下保證流暢的用戶體驗,目前流行采用內(nèi)存型數(shù)據(jù)庫這類中間件加速數(shù)據(jù)讀寫,其中又以Redis最為流行。
比如主播“秀操作”的場景,此時不僅會激起彈幕浪潮,觀眾還會雙擊點贊,怒發(fā)評論,順便走一波關(guān)注,甚至禮物火箭送起來,這就涉及到短時間內(nèi)刷新大量用戶關(guān)注列表、積分,直播間的評論、訂閱數(shù)等信息。
傳統(tǒng)數(shù)據(jù)庫將數(shù)據(jù)存放于磁盤,在高并發(fā)情景下,應(yīng)用會頻繁地從磁盤中讀寫成千上萬條數(shù)據(jù),這會導(dǎo)致數(shù)據(jù)庫性能大幅下降。相比之下,內(nèi)存數(shù)據(jù)的讀寫速度要高出幾個數(shù)量級,效率一般能提高10倍以上。同時,Redis還可以作為“緩沖帶”,防止瞬間大量的請求沖垮后端數(shù)據(jù)庫。
這時一定有同學(xué)想問:那Redis的性能與什么相關(guān)?Redis本身的調(diào)優(yōu)很重要,同時,中間件的性能與基礎(chǔ)設(shè)施,也就是美國服務(wù)器直接相關(guān),美國服務(wù)器的CPU以及網(wǎng)絡(luò)轉(zhuǎn)發(fā)能力都會直接影響Redis的性能發(fā)揮。
除了交互實時性,直播流暢度也是用戶體驗的關(guān)鍵指標(biāo)。影響流暢度的因素很多,關(guān)鍵在以下3個方面:
視頻直播平臺的美國服務(wù)器
內(nèi)容分發(fā)網(wǎng)絡(luò),也就是CDN的質(zhì)量;
網(wǎng)絡(luò)傳輸協(xié)議的選擇;
美國服務(wù)器端視頻轉(zhuǎn)碼的效率。
第二點對于平臺的用戶來說一般是不可見的,而CDN與美國服務(wù)器則由用戶選擇。對于CDN,節(jié)點數(shù)和覆蓋面積是關(guān)鍵,覆蓋面積足夠廣闊,才能解決分布不均的終端用戶就近接入的問題。
對于負(fù)責(zé)視頻轉(zhuǎn)碼的美國服務(wù)器,CPU能力是關(guān)鍵,尤其需要關(guān)注單核、多核浮點運算能力。為了提升觀影質(zhì)量、節(jié)約帶寬成本,直播平臺需要應(yīng)用畫面增強、回音消除、窄帶高清等技術(shù),其中涉及到的算法,加上多路轉(zhuǎn)碼本身的運算量,對美國服務(wù)器CPU性能提出很大的挑戰(zhàn)。在業(yè)務(wù)高峰期,美國服務(wù)器CPU利用率經(jīng)常會沖到90%以上,往往需要通過堆機器來解決。因而轉(zhuǎn)碼這一步可能會成為觀影流暢度的瓶頸。
結(jié)論
總體來看,美國服務(wù)器的CPU能力、網(wǎng)絡(luò)轉(zhuǎn)發(fā)能力以及網(wǎng)絡(luò)帶寬是直播行業(yè)用戶最需要關(guān)注的。同時直播行業(yè)對計算、網(wǎng)絡(luò)資源需求量大,成本是另一個考量關(guān)鍵。企業(yè)選擇美國服務(wù)器具體實例時,需要綜合考慮。
USA-IDC提供美國視頻直播服務(wù)器租用,性能穩(wěn)定快速,全美最低延遲,全程運維24小時在線,秒級回復(fù),歡迎廣大用戶聯(lián)系24小時在線客服