测试主机配置:
阿里云主机:Intel(R) Xeon(R) Platinum 8260 CPU @ 2.40GHz
虚拟 32 核CPU,62 GB 内存
磁盘I/O: 322 MB/s
测试并发性能如下:
单房间场景:
推流分辨率 | 帧率(FPS) | 码率(Kbps) | 测试结果 |
---|---|---|---|
720 * 480 | 15 | 500 | 单房间同时最多录制 30 路流 |
多房间场景:
推流分辨率 | 帧率 | 码率 | 推流数量 | 测试结果 |
---|---|---|---|---|
320 * 240 | 15 | 200 | 1 | 并发录制 280 个房间,CPU 负载 75 %,建议并发 275 个房间 |
320 * 240 | 15 | 200 | 2 | 并发录制 165 个房间,CPU 负载 75 %,建议并发 160 个房间 |
在多房间场景下,当并发数过多时,受到系统的文件 fd 限制,录制程序会卡住,此时你可以修改系统文件数目的限制:
sysctl fs.inotify.max_user_instances = 512 sysctl fs.inotify.max_user_watches = 8192
其中 fs.inotify.max_user_instances
表示每个服务器用户最多可以创建的 inotify instances 数量上限, fs.inotify.max_user_watches
表示每个服务器用户同时可以添加的 watch 数目