测试环境

服务版本:v3.21.10
系统版本: Debian 12 6.1.38
CPU:Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
内存:32G DDR4

测试步骤

  1. 准备视频文件,将bbb_sunflower_1080p_60fps.mp4 编码为1M码率480P视频和2M码率720P视频
  2. 推流1M码率视频,ffmpeg -re -i bbb_sunflower_480p_30fps_1M.mp4 -c copy -f flv rtmp://192.168.0.2/live/b
  3. 开启三个进程,分别加载3333路rtmp视频,共1万路,docker run –rm -it –network=host ossrs/srs:sb ./objs/sb_rtmp_load -c 3333 -r rtmp://192.168.0.2/live/b
  4. ffplay播放一路视频,确保视频流畅

1M 码率 1万并发

CPU占用593%, 相当于6核跑满, E5-2680 v4共28核

MEM占用4.4%,总共32G,占用不高。

Net用量,9G-12G带宽之间波动,符合1M码率万级并发流量

视频播放流畅。

实测结果表明,1M码率下,万兆网卡理论万级并发,但由于视频流并不恒定,如果TCP重传部分包,波动会更加严重。需要预留一定的带宽应对流量波峰。

2M 码率 1万并发

2M码率时,可以观测到,NMS主服务CPU占用786%。内存稍微增大到4.6%。网络来到15G-25G带宽用量。

由此测试可知,播放并发量直接影响cpu占用,内存用量不高。码率并不按理论值平稳输出,波动较大,需留有空余应对带宽波峰。

本测试基于本机lo网络测试,仅作性能参考。实际部署,需考虑网口带宽,万兆宽带就是10G。

Leave a Comment