Hello!大家好,我是資深測試工程師Jackie,今天我來和大家一起對云視睿博的高性能流媒體服務器NTV Media Server G3做一次性能測試。

今天測試有一個小目標,那就是驗證在一臺普通的PC機上,NTV Media Server G3的并發能力是否能達到3000并發。


一、測試環境和工具

今天用到的測試環境和工具包括:

  1. PC機1臺,一臺安裝CentOS操作系統和流媒體服務器軟件,作為流媒體服務器使用

  2. 視頻資源若干

  3. 視頻播出壓力測試工具一套


先準備服務器,我這里沒有太好的設備,只有一臺5年前購買的i5系列的PC機,CPU是第三代i5,內存4GB,存儲1T。這個服務器是夠普通的,配置是夠低的,反正只是測試,又不做正式運營,就用它吧。

按照說明書安裝64位操作系統CentOS6.5,接著安裝NTV Media ServerG3軟件,沒有碰到任何障礙,一切很順利。

用命令行,看下系統該配置情況:

[root@ntv007?proc]#?free?-mtotal???????used???????free?????shared????buffers?????cached
Mem:??????????3791????????868???????2923??????????0????????124?????????93
-/+?buffers/cache:????????650???????3141
Swap:?????????3935??????????0???????3935
[root@ntv007?proc]#?cat?cpuinfo
processor:?0
vendor_id:?GenuineIntel
cpu?family:?6
model:?58
model?name:?Intel(R)?Core(TM)?i5-3350P?CPU?@?3.10GHz
stepping:?9
cpu?MHz:?3093.127
cache?size:?6144?KB
[root@ntv007?proc]#?df?-h
Filesystem?????????????????????Size??Used?Avail?Use%?Mounted?on
/dev/mapper/vg_ntv007-lv_root???50G???35G???12G??75%?/
tmpfs??????????????????????????1.9G?????0??1.9G???0%?/dev/shm
/dev/sda1??????????????????????485M???32M??428M???7%?/boot

啟動流媒體服務器軟件:

[root@ntv007?proc]#?service?ntv_server?start
Starting??NTV?Media?Server?G3.6?...?????????????????????????????[確定]
Starting?Novel-TV?Transcoding?Engine?2.0?...??OK!??????????[確定]

OK,一切如說明書描述那樣,系統正常啟動。


二、準備視頻資源

為了有代表性,我準備一個50分鐘的紀錄片,一部2小時的電影和一個7分鐘的培訓短片。

參照《NTV Media Server G3用戶手冊》,登錄流媒體服務器后臺,上傳視頻文件,按照1Mbps的碼率對上傳的文件進行轉碼,生成三個視頻資源。

wKiom1k4vrXQQB_YAAFwN4gRinw986.png-wh_50


三、執行壓力測試腳本

測試工具采用中科院某所開發的視頻播出壓力測試工具http_loader,這款工具可以模擬終端用戶播放行為,對視頻服務器進行大并發壓力測試。

先通過NTV Media Server G3后臺的系統信息查看界面看看系統加壓之前的負載:

wKiom1k4wruBXymuAADM_uXyo7o990.png-wh_50

通過界面看到,CPU沒有多少負載,內存使用是1GB。


3.1 500并發測試

執行壓力測試腳本,首先對培訓短片做500并發的模擬播放壓力測試。

[root@ntv009?loader]#?./http_loader?http://192.168.1.230/sps/vod/eng293.flv?500?null

通過NTV Media Server G3后臺看下系統負載:

wKioL1k4yKmDBUR5AABx7f_SG40728.png-wh_50

CPU瞬間波動到50%,然后回落并穩定在10%左右。內存消耗增加大約200M。


3.2?1000并發測試

繼續加壓,對電影視頻做500個并發的模擬播放壓力測試,加上上一腳本的負載,總并發數增加到1000

./http_loader?http://192.168.1.230/sps/vod/jgdy680.flv?500?null

通過NTV Media Server G3后臺看下系統負載:

wKiom1k4ym7QcefZAACDNZiZubM497.png-wh_50

CPU瞬間波動到40%,然后回落并穩定在10%左右。內存消耗總用量約1.8GB。


3.3?3000并發測試

繼續加壓,對電影資源做2次1000并發的模擬播放壓力測試,加上前2次負載,總并發數增加到3000

./http_loader?http://192.168.1.230/sps/vod/jgdy680.flv?1000?null
./http_loader?http://192.168.1.230/sps/vod/jgdy680.flv?1000?null

通過NTV Media Server G3后臺看下系統負載:

wKioL1k4zEWA1ysPAACKevIi4pc720.png-wh_50

在2000并發時,CPU負載波動到50%,接著趨于穩定。內存消耗在2.8GB。

在3000并發時,CPU負載波動到50%,接著在20%以下波動。內存消耗接近4GB。

通過后臺看下并發數統計:

wKioL1k4zR2wXa7nAAA8Db3VeOw654.png-wh_50

沒錯,經過幾輪加壓,并發訪問數量定格在3000.

當然還有一步,要看看此時視頻是否還能流暢播放。通過后臺的視頻預覽功能,播放黃石公園紀錄片:

wKiom1k4zyTSDzrRAAXjPGKUWCw247.png-wh_50

效果是,視頻加載很快,播放非常流暢。看來確實不錯!


四、測試結束

壓力測試持續半個小時,手動停止測試腳本,驗證系統資源的恢復情況。

./http_loader?-s?stop

查看系統資源用量:

wKiom1k40t_S_EyuAACQshOUFT0460.png-wh_50

可以看到,CPU和內存消耗恢復到測試前狀態。


五、結論

經過測試,可以確認這款流媒體軟件能夠在普通PC機上輕松實現3000并發播出。

整個測試過程中,CPU負載始終較小,可見系統優化確實很細致。內存的負載,在該測試過程中,大約每增加1000并發,內存消耗會增加1GB。

以上僅僅是博主自己的測試結論,設備條件有限,如果要模仿大規模運營效果還需要有更好的設備來做支撐。任何疑問或建議可以在博客評論中給我留言,Thanks!