前期也是采用 red5,但是随着用户数的不断增长,red5 完全不能支撑整个业务。问题集中爆发在几个方面:

  • 对于单主播,听者超过400人时,CPU超过90%(主机为4核,32G)。

  • 人数越多,音质,画面卡顿很多,不稳定,用户体验很差。于是我们决定对red5 进行替换,对各种选型进行了调研,并在 red5 相同环境下做了测试,发现 nginx-rtmp 的性能非常突出,最终选用 nginx-rtmp 替换 Red5,到目前为止,已经无故障运行近一年。附 nginx-rtmp 测试数据:

Red5与Nginx Rtmp性能对比_nginx

从测试结果可以得知,nginx-rtmp 模块运行稳定,单 CPU4000 人时负载只有70%,已经接近网卡流量的极限,比 Red5 在性能上高一个数量级。