一直在使用Docker容器运行业务,此前运行都很稳定。今天将FreeSWITCH部署到容器中进行性能测试时,发现并发量始终无法提升。检查FreeSWITCH日志发现如下问题:

在这里插入图片描述
创建线程失败的问题很蹊跷,服务器CPU和内存资源充足,但并发量始终上不去。

首先怀疑是ulimit限制,于是修改了/etc/security/limits.conf文件,将* soft nofile 1048576和* hard nofile 1048576的值调高,但问题依旧存在。

接着尝试同时调整容器内和宿主机的ulimit限制,依然无效。最后怀疑是Docker容器的限制问题,查看了docker run --help的参数说明:
在这里插入图片描述
检查发现容器启动参数中的pids-limit限制了容器内可创建的PID数量。于是立即新建一个docker容器,添加参数–pid-limit 10000后重新测试,freeswitch的并发性能显著提升,问题顺利解决!!!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐