硬件准备
本次对比所用到的硬件环境,使用虚拟机,客户端和服务器都运行于一台机器,避开网络瓶颈。
- 硬件: 笔记本上的虚拟机
- 系统: CentOS 7.9 x86_64
- CPU: 2.2 GHz 四核Intel Core i7
- 内存: 2048MB
性能压力测试
启动500客户端(纯音频:码率128Kb/s)
./audio_rtmp_load -c 500 -r rtmp://127.0.0.1:1935/live/mulvb >/dev/null &
客户端开始播放30秒以上,并记录数据:
| Server | CPU | 内存 | 连接数 | 理论带宽 | 实际带宽 |
|---|---|---|---|---|---|
| MVB | 10.1% | 15MB | 500 | 64Mbps | 72Mbps |
- 再启动500个连接的audio_rtmp_load,共1000个连接。
- 客户端开始播放30秒以上,并记录数据: | Server | CPU | 内存 | 连接数 | 理论带宽 | 实际带宽 | | —- | —- | —- | —- | —- | —- | | MVB | 25% | 25MB | 1000 | 128Mbps | 144Mbps |
- 再启动500个连接的audio_rtmp_load,共1500个连接。
客户端开始播放30秒以上,并记录数据: | Server | CPU | 内存 | 连接数 | 理论带宽 | 实际带宽 | | —- | —- | —- | —- | —- | —- | | MVB | 40.1% | 35MB | 1500 | 192Mbps | 216Mbps |
再启动500个连接的audio_rtmp_load,共2000个连接。
- 客户端开始播放30秒以上,并记录数据: | Server | CPU | 内存 | 连接数 | 理论带宽 | 实际带宽 | | —- | —- | —- | —- | —- | —- | | MVB | 67.5% | 50MB | 2000 | 256Mbps | 285Mbps |
总结:
1000个终端音响设备同时并发播放工作,服务器需要消耗的
带宽约为145Mb/s,
内存消耗约25MB
CPU约消耗25%
