http://www.fmsx.org/thread-6216-1-1.html
最近一直在做Red5的直播與視頻開發,雖然Red5提供了與FMS趨同的功能,但對於Red5的性能我們一直不太清楚,如果想大規模使用Red5作為我們的生產服務器,那么還需要對它進行一些性能測試,以此來驗證它是否能滿足我們的需求.
測試概要
對Red5進行壓力測試與性能測試,其中Red5版本為1.0.0-RC1.
測試環境
硬件環境:CPU:Intel i3-2100@3.10GHz,內存8G
軟件環境:Red5,CentOS
網絡環境:1000M
測試內容
-
Red5在大並發下的穩定性表現
-
Red5在千兆環境下最多能支持多大並發用戶量的訪問
測試數據
測試數據來源於前期開發整理的視頻,大約20個原生視頻,上傳到服務器后處理成400Kbps與800Kbps碼流的視頻文件.
測試結果
400kps結果見圖
800kps結果見圖
測試結果說明
-
並發用戶涵蓋100/200/500,主要是為了確保是否支持500並發用戶的流暢訪問,超過500時主要驗證Red5系統支持的最高並發值.
-
實際網絡占用捕獲數據來源於視頻傳輸所在的網卡監測,由於直接采集自網絡,因此包含的流量不僅僅為視頻傳輸本身的流量,還有其他使用該網卡的應用數據.
-
理論帶寬占用計算方式為單視頻碼流*並發量換算而來,如100並發的400bps訪問,其單位時間的帶寬占用為400Kbps * 100 / 1024 = 39.1Mbps,其他值的結果同此計算.
-
所有采集的取值均使用98%置信區間,即把采集所得數據從高到低排列,取位於98%的最高值,也即98%的實際取值低於表中所列的值.
-
播放狀態表示視頻的順暢與否,正常表示播放順暢,沒有任何停滯現象,否則則代表視頻播放存在延遲.
測試結論
800Kbps的測試方法,統計方式與前面的400Kbps基本相同,我們得到結論是,800Kbps下,單機Red5最大支持 600並發用戶同時播放視頻,其主要瓶頸也是Red5的任務調度問題,但低於400Kbps的700並發,其中一個主要原因是帶寬因素,800Kpbs下 600並發實際消耗的帶寬也已經畢竟交換機的可用極限(需要考慮到98%置信區間以外的峰值影響).實際測試中,超過600並發,播放碼流為 800Kbps的視頻已經出現明顯的遲滯現象.
綜上,測試的結論是單Red5服務器,400Kbps支持700人同時流暢播放,800Kbps支持600人同時流暢播放. (作者:gongminrui)
