MongoDB-Java连接超时问题解决汇总

先用一张图来描述MongoDB链接超时问题
clipboard.pngmongodb

如下是我在网络上收集到的:数据库

官方的解决方法
连接描述windows

clipboard.png


set the tcp keepalive
连接描述网络

clipboard.png


聚合查询
解决方案是建立相关的索引
连接描述异步


正确建立索引
background设置成异步的
db.getCollection('project').ensureIndex({'_id' : 1, 'A' : 1}, {'background': 'true'})
连接描述socket

clipboard.png

对于第一种
其实官方给出来的必定要细读(我就是这里出问题了)
有两段写的很详细了
clipboard.png
这两段说道:提供MongoDB服务的主机和负责连接数据库的主机 都须要设置keepalive;非Linux系统的主机(好比 windows) 设置keepalive的值大于或等于 10分钟都将被忽略,意思就是没有值,不会被keepalive,然而Linux的会有一个默认或上限值;最终意思就是windows是没有默认或上限值的,没有设置值或者超过了,keepalive都不会生效。tcp

最后附上一篇外文
连接描述spa

说明
以上只作参考,具体问题实际分析。欢迎指出不对之处,欢迎补充,谢谢。.net

相关文章
相关标签/搜索