最近发现连接mongod经常被close,查看服务端日志显示connection refused because too many open connections。但奇怪的是当前连接才818个,而mongod的连接数明明设置的是10000,查看ulimi -n是32767,
查明原因后发现是,mongod是随机启动的,放在init.d下,在运行这些服务的时候还不会加载limits.conf 的配置,内核编译为1024,实际上此阶段的ulimit -n 相当于1024,这样mongo按照最大连接数与操作系统的连接数最小值来设置,即1024的80%来设置上限。