Hello!大家好,我是資深測試工程師Jackie,今天我來和大家一起對云視睿博的高性能流媒體服務器NTV Media Server G3做一次性能測試。
今天測試有一個小目標,那就是驗證在一臺普通的PC機上,NTV Media Server G3的并發能力是否能達到3000并發。
一、測試環境和工具
今天用到的測試環境和工具包括:
PC機1臺,一臺安裝CentOS操作系統和流媒體服務器軟件,作為流媒體服務器使用。
視頻資源若干
視頻播出壓力測試工具一套
先準備服務器,我這里沒有太好的設備,只有一臺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的碼率對上傳的文件進行轉碼,生成三個視頻資源。
三、執行壓力測試腳本
測試工具采用中科院某所開發的視頻播出壓力測試工具http_loader,這款工具可以模擬終端用戶播放行為,對視頻服務器進行大并發壓力測試。
先通過NTV Media Server G3后臺的系統信息查看界面看看系統加壓之前的負載:
通過界面看到,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后臺看下系統負載:
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后臺看下系統負載:
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后臺看下系統負載:
在2000并發時,CPU負載波動到50%,接著趨于穩定。內存消耗在2.8GB。
在3000并發時,CPU負載波動到50%,接著在20%以下波動。內存消耗接近4GB。
通過后臺看下并發數統計:
沒錯,經過幾輪加壓,并發訪問數量定格在3000.
當然還有一步,要看看此時視頻是否還能流暢播放。通過后臺的視頻預覽功能,播放黃石公園紀錄片:
效果是,視頻加載很快,播放非常流暢。看來確實不錯!
四、測試結束
壓力測試持續半個小時,手動停止測試腳本,驗證系統資源的恢復情況。
./http_loader?-s?stop
查看系統資源用量:
可以看到,CPU和內存消耗恢復到測試前狀態。
五、結論
經過測試,可以確認這款流媒體軟件能夠在普通PC機上輕松實現3000并發播出。
整個測試過程中,CPU負載始終較小,可見系統優化確實很細致。內存的負載,在該測試過程中,大約每增加1000并發,內存消耗會增加1GB。
以上僅僅是博主自己的測試結論,設備條件有限,如果要模仿大規模運營效果還需要有更好的設備來做支撐。任何疑問或建議可以在博客評論中給我留言,Thanks!
轉載于:https://blog.51cto.com/livestreaming/1933380