一直在docker容器运行业务,没有什么问题。今天把freeswitch装进容器里进行性能测试,发现并发一直跑不上去。查看freewitch日志如下:
在这里插入图片描述
提示创建线程失败。这是很奇怪,服务器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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐