Mongodb SpringData不关闭连接?
自从几周前部署应用程序以来,我面临一些问题 我发现Spring数据在使用一段时间后会关闭Mongo,并打印了以下消息: “desc:“无法调用某物:vdbmongo1/10.20.0.211:27017/V1;嵌套异常为com.mongodb.MongoException$Network:无法调用某物:vdbmongo1/10.20.0.211:27017/V1” 首先我们看到打开的文件太多,我们使用了debian 7,它的限制是4096。我们增加了这个数字,将所有打开的文件增加了一倍,达到8192个(如果我是对的,linux中的连接都是套接字,和文件一样,不是吗?) 增加这个值会提高内存的使用率,然后我们也会增加内存,但是我们没有那么多可用内存,vm会关闭 最后,我们设置了一个cron服务,当我们试图得到一个解决方案时,它每6小时重启一次,现在似乎可以工作了 我的应用程序部署在Debian 7上运行的tomcat 7.0.28中 这是创建mongo实例的xml片段:Mongodb SpringData不关闭连接?,mongodb,spring-mvc,tomcat7,spring-data-mongodb,Mongodb,Spring Mvc,Tomcat7,Spring Data Mongodb,自从几周前部署应用程序以来,我面临一些问题 我发现Spring数据在使用一段时间后会关闭Mongo,并打印了以下消息: “desc:“无法调用某物:vdbmongo1/10.20.0.211:27017/V1;嵌套异常为com.mongodb.MongoException$Network:无法调用某物:vdbmongo1/10.20.0.211:27017/V1” 首先我们看到打开的文件太多,我们使用了debian 7,它的限制是4096。我们增加了这个数字,将所有打开的文件增加了一倍,达到81
<!-- MongoDB host -->
<mongo:mongo host="${mongo.host.name}" port="${mongo.host.port}" write-concern="SAFE">
<mongo:options
connections-per-host="40"
threads-allowed-to-block-for-connection-multiplier="1500"
connect-timeout="15000"
auto-connect-retry="true"
socket-timeout="60000"
write-number="1"
write-timeout="0"
write-fsync="true"/>
</mongo:mongo>
当我在vdbmongo1中看到这些进程时,73959进程中的任何一个看起来像:
mongod 30859 32763 mongodb 327u IPv4 1646841 0t0 TCP vdbmongo1:27017->vtomcat1:60329 (ESTABLISHED)
mongod 30859 32763 mongodb 328u IPv4 1647673 0t0 TCP vdbmongo1:27017->vtomcat1:60330 (ESTABLISHED)
mongod 30859 32763 mongodb 329u IPv4 1646867 0t0 TCP vdbmongo1:27017->vtomcat1:60650 (ESTABLISHED)
mongod 30859 32763 mongodb 330u IPv4 1646913 0t0 TCP vdbmongo1:27017->vtomcat1:60762 (ESTABLISHED)
mongod 30859 32763 mongodb 331u IPv4 1648224 0t0 TCP vdbmongo1:27017->vtomcat1:60962 (ESTABLISHED)
mongod 30859 32763 mongodb 332u IPv4 1647197 0t0 TCP vdbmongo1:27017->vtomcat1:32923 (ESTABLISHED)
其中vdbmongo1是包含数据库的机器,vtomcat1是部署tomcat的机器
这是预期行为吗?是的,这是正常/预期行为
MongoDB将使用尽可能多的内存将数据文件直接映射到内存中,并为每个连接使用内存(每个连接默认为1MB)更新到mongo的最新版本(2.4.8)似乎解决了问题。现在我不能同时看到超过15-20个连接
mongod 30859 32763 mongodb 327u IPv4 1646841 0t0 TCP vdbmongo1:27017->vtomcat1:60329 (ESTABLISHED)
mongod 30859 32763 mongodb 328u IPv4 1647673 0t0 TCP vdbmongo1:27017->vtomcat1:60330 (ESTABLISHED)
mongod 30859 32763 mongodb 329u IPv4 1646867 0t0 TCP vdbmongo1:27017->vtomcat1:60650 (ESTABLISHED)
mongod 30859 32763 mongodb 330u IPv4 1646913 0t0 TCP vdbmongo1:27017->vtomcat1:60762 (ESTABLISHED)
mongod 30859 32763 mongodb 331u IPv4 1648224 0t0 TCP vdbmongo1:27017->vtomcat1:60962 (ESTABLISHED)
mongod 30859 32763 mongodb 332u IPv4 1647197 0t0 TCP vdbmongo1:27017->vtomcat1:32923 (ESTABLISHED)