我有一个脚本可以定期在 mongodb 集合上运行聚合。随着数据集的增长,聚合所需的时间也在增长。我的聚合脚本最近一直停止工作,并且错误日志显示:
error: { [MongoError: server <x> timed out]
name: 'MongoError',
message: 'server <x> timed out' }
我已经尝试过调试,我能找到的唯一模式是这种超时似乎只发生在聚合时间超过 2 分钟时(它超时正确约 2m)。有没有人对此有额外的调试技巧?2 分钟的事情给我的印象是我只需要在某个地方配置一些超时,但我无法弄清楚我在哪里或者我是否只是落入了一个红鲱鱼陷阱。
关于系统配置:这个聚合脚本是一个 node.js (v5.9.1) 应用程序,运行在基于 alpine 的 docker (v1.9.1) 容器中。它使用mongodb
节点驱动程序 (v2.1.19)。运行 mongod (v3.2.6) 的单个 mongodb 服务器(尽管这也发生在具有 replSet 的单独环境中)