MongoDB-Java链接超时问题解决汇总
先用一张图来描述MongoDB连接超时问题
以下是我在网络上收集到的:
官方的解决方法
链接描述
set the tcp keepalive
链接描述
聚合查询
解决方案是创建相关的索引
链接描述
正确创建索引
将background
设置成异步的db.getCollection('project').ensureIndex({'_id' : 1, 'A' : 1}, {'background': 'true'})
链接描述
对于第一种
其实官方给出来的一定要细读(我就是这里出问题了)
有两段写的很详细了
这两段说道:提供MongoDB服务的主机和负责链接数据库的主机 都需要设置keepalive
;非Linux系统的主机(比如 windows) 设置keepalive
的值大于或等于 10分钟都将被忽略,意思就是没有值,不会被keepalive
,然而Linux的会有一个默认或上限值;最终意思就是windows是没有默认或上限值的,没有设置值或者超过了,keepalive
都不会生效。
最后附上一篇外文
链接描述
说明
以上只做参考,具体问题实际分析。欢迎指出不对之处,欢迎补充,谢谢。