繁体   English   中英

MongoDB聚合期间“服务器x超时”

[英]“Server x timed out” during MongoDB aggregation

我有一个脚本定期在mongodb集合上运行聚合。 随着数据集的增长,聚合所需的时间也在增长。 我的聚合脚本最近一直停止工作,错误日志显示: error: { [MongoError: server <x> timed out] name: 'MongoError', message: 'server <x> timed out' }我试过调试这个,我能找到的唯一模式就是这个超时似乎只发生在聚合时间超过2分钟时(超过2米左右)。 有没有人有额外的调试技巧? 2分钟的事情给我的印象是我只需要在某处配置一些超时,但我无法弄清楚我在哪里或者只是陷入了红鲱陷阱。

关于系统配置:此聚合脚本是在基于alpine的docker(v1.9.1)容器中运行的node.js(v5.9.1)应用程序。 它使用mongodb节点驱动程序(v2.1.19)。 单个mongodb服务器(虽然这也发生在一个带有replSet的独立环境中)运行mongod(v3.2.6)

我在日志时间聚合方面遇到了同样的问题。 我想我有适合你的解决方案。

我发现socketTimeoutMS选项socketTimeoutMS负责。 检查mongo_client.js的默认socketTimeoutMS值。 对我来说是2min Mongodb模块版本2.1.18。

所以只需将此选项添加到您的网址:

mongodb://localhost:27017/test?maxPoolSize=2&socketTimeoutMS=60000

它将timeout设置为10分钟。 这对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM