NTV Media Server G3性能测试

本文涉及的产品
性能测试 PTS,5000VUM额度
视频点播 VOD,流量+存储+转码
简介: Hello!大家好,我是资深测试工程师Jackie,今天我来和大家一起对云视睿博的高性能流媒体服务器NTV Media Server G3做一次性能测试。今天测试有一个小目标,那就是验证在一台普通的PC机上,NTV Media Server G3的并发能力是否能达到3000并发。

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 -m
             total       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!


相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
监控 安全 关系型数据库
性能测试:自建数据库对比RDS中应当注意的地方(适用于MySQL,SQL SERVER,MongoDB)
常常很多用户对比测试自建数据库和RDS的性能差异,其测试结果往往是RDS不如ECS自建,用户往往怀疑难道我花了那么多的钱买的RDS难道还不如自己在ECS上搭建吗?
16968 0
|
SQL 测试技术 Go
SQL Server中INNER JOIN与子查询IN的性能测试
这个月碰到几个人问我关于“SQL SERVER中INNER JOIN 与 IN两种写法的性能孰优孰劣?”这个问题。其实这个概括起来就是SQL Server中INNER JOIN与子查询孰优孰劣(IN是子查询的实现方式之一,本篇还是只对比INNER JOIN与子查询IN的性能,如果展开INNER JOIN与子查询性能对比,范围太大了,没法一一详述)。
2248 0
|
SQL 测试技术 Go
SQL Server中INNER JOIN与子查询IN的性能测试
原文:SQL Server中INNER JOIN与子查询IN的性能测试 这个月碰到几个人问我关于“SQL SERVER中INNER JOIN 与 IN两种写法的性能孰优孰劣?”这个问题。其实这个概括起来就是SQL Server中INNER JOIN与子查询孰优孰劣(IN是子查询的实现方式之一,本篇还是只对比INNER JOIN与子查询IN的性能,如果展开INNER JOIN与子查询性能对比,范围太大了,没法一一详述)。
1324 0
|
SQL 关系型数据库 数据库
性能测试:自建数据库与RDS性能对比SQL Server案例排查分析
近期经常遇到用户将自建数据库与RDS进行对比,简单的对比结果是自建库比RDS实例查询快。我们这里来看看一个实例,有一家物流公司,刚开始使用RDS SQL Server数据库,发现通过ECS访问RDS实例,执行语句需要60s左右,但是访问ECS本地自建库只需要2-3s。那么RDS是否是真的不如自建数据库呢? 接下来,我们来探讨对比自建库和RDS的正确姿势,如何公平地对比自建库和RDS的性能。对比自建
3253 0
|
25天前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
94 3
|
2月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
97 2
|
3月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【8月更文挑战第5天】性能测试确保应用高负载下稳定运行。Apache JMeter与Locust是两大利器,助力识别解决性能瓶颈。本文介绍这两款工具的应用与优化技巧,并通过实战示例展示性能测试流程。首先,通过JMeter测试静态与动态资源;接着,利用Locust的Python脚本模拟HTTP请求。文中提供安装指南、命令行运行示例与性能优化建议,帮助读者掌握性能测试核心技能。
117 0
|
25天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
53 4
|
2月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存