最近一直在做Red5的直播与视频开发,虽然Red5提供了与FMS趋同的功能,但对于Red5的性能我们一直不太清楚,如果想大规模使用Red5作为我们的生产服务器,那么还需要对它进行一些性能测试,以此来验证它是否能满足我们的需求.
测试概要
对Red5进行压力测试与性能测试,其中Red5版本为1.0.0-RC1.
测试环境
硬件环境:CPU:Intel [email protected],内存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人同时流畅播放.
楼主是用什么测试工具进行的测试,方便透漏一下吗?
自己写的shell脚本,主要看流量,cpu与内存
shell脚本能共享一下吗?我现在也急需测试red5的性能! 😥 😥