我在Azure上创建了带有复制集的Mongodb。我让rails应用程序点击公共ip上的副本集。我的复制集有一个主节点和两个次级节点。对于isMaster请求,我面临来自次要节点的响应极端滞后,但来自主节点的响应非常快。
用于辅助节点的查询占用了大量时间
命令database=admin command={:ismaster=>1}
Mongoid 4.0.1 Rails 4.2.5
为什么mongodb调用次要节点?我很好,如果它正在调用,但为什么它要花费这么多的时间,这是保持我的应用程序请求约12秒(对于每个次要节点6秒)。
我感谢你提前提供帮助。
共享应用程序日志如下所示
我,2016-11-30T11:27:05.351584 #11924 INFO //此对主节点的调用返回快速响应D,2016-11-30T11:27:05.356846 #11924调试-:MOPED: 10.0.0.4:27017命令database=admin command={:ismaster=>1}运行时: 0.6903ms //此对二级节点的调用占用大约6秒D、2016-11-30T11:27:11.356397 #11924调试 //此对另一个二级节点的调用占用大约6秒D,2016-11-30T11:27:17.356509 #11924调试 D,2016-11-30T11:27:17.357908 #11924调试 D,2016-11-30T11:27:17.360061 #11924调试
发布于 2016-12-01 15:23:04
默认情况下,除非您更改了阅读偏好参数,否则所有读取操作都被路由到主节点。此参数可以解释主节点为什么要调用次要节点。
为了弄清楚为什么对次要文件的查询速度慢,您可以查看位于‘/opt/bitnami/ mongodb /log/monGodb.log’的mongodb日志。也许那里有一些信息。
此外,您还可以使用mongotop命令监视每个集合的基本使用情况统计信息,使用mongostats命令监视基本的MongoDB服务器统计信息。
https://stackoverflow.com/questions/40889590
复制相似问题