wsxxz 发表于 2018-10-20 09:42:30

NTV Media Server G3性能测试

  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软件,没有碰到任何障碍,一切很顺利。
  用命令行,看下系统该配置情况:
# free -m  
             total       used       free   shared    buffers   cached
  
Mem:          3791      868       2923          0      124         93
  
-/+ buffers/cache:      650       3141
  
Swap:         3935          0       3935
# 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
# df -h  
Filesystem                     SizeUsed Avail Use% Mounted on
  
/dev/mapper/vg_ntv007-lv_root   50G   35G   12G75% /
  
tmpfs                        1.9G   01.9G   0% /dev/shm
  
/dev/sda1                      485M   32M428M   7% /boot
  启动流媒体服务器软件:
# service ntv_server start  
StartingNTV 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并发的模拟播放压力测试。
# ./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!


页: [1]
查看完整版本: NTV Media Server G3性能测试