Mongos需要数小时才能“展示收藏品”

时间:2014-07-06 09:57:11

标签: mongodb sharding

我有一个mongo 2.4.8集群。我的软件动态分区数据,现在我有大约30,000个分片集合。群集当前只包含一个分片(这是一个副本集);它是一个允许未来轻松扩展的集群。

当我开始新的mongos流程并运行show collections时,需要几个小时才能完成。在此期间,mongos对所有客户端都没有响应(但群集很好)。如果我从未运行show collectoins,则mongos中的所有其他操作都会正常运行。

最终show collections完成,之后mongos正常工作,并在同一show collections点再次运行mongos。我发现当我需要在很多个月内第一次重新启动mongos时出现问题,在此期间收集计数大大增加。

从逻辑上讲,似乎从配置服务器到新mongos的数据传输(关于集合块)是瓶颈。但是,当这种情况发生时,任何一方都不会显示高CPU或网络活动。

这是否已知行为?我该如何进一步调查此问题?

1 个答案:

答案 0 :(得分:1)

我将问题追溯到错误的配置服务器。更换后,一切都恢复正常。

详细信息:错误的服务器没有响应查询,之后将它们重新发送到其他服务器。这为配置服务器的每个请求创建了一个有效的延迟,这在“show collections”操作中最为明显,它在mongos和配置服务器之间每个集合至少进行一次往返,并且它们都是串行完成的。