Red5性能测试

最近一直在做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结果见图
400Kbps

800kps结果见图
800Kbps

测试结果说明

  • 并发用户涵盖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人同时流畅播放.

发表评论(已有 3 条评论)

设置头像

*

  1. ocean 说:

    楼主是用什么测试工具进行的测试,方便透漏一下吗?

    • 阿土笨笨 说:

      自己写的shell脚本,主要看流量,cpu与内存

  2. mean 说:

    shell脚本能共享一下吗?我现在也急需测试red5的性能! 😥 😥