Mongo操作反复长时间阻塞

时间:2019-01-25 06:45:46

标签: mongodb

我们正在使用具有副本集的mongo,更新速度平均为每秒500次。索引满足更新查询的要求,如果单独执行查询,则不超过0ms(根据分析器输出)。这些更新以几乎恒定的速率发生。

但是,当系统以该更新速率长时间运行时,所有操作将被阻塞40-50秒,并且所有操作将同时释放。这像循环一样。

1. All operations are taking less than 100 ms
2. All are blocked for 40000-50000 ms
3. All are release at the same time and now to point 1

以下是mongo日志中锁定更新之一的锁定状态。 A

locks: {
    Global: {
        acquireCount: {
            r: 2,
            w: 2
        }
    },
    Database: {
        acquireCount: {
            w: 2
        }
    },
    Collection: {
        acquireCount: {
            w: 1
        }
    },
    oplog: {
        acquireCount: {
            w: 1
        }
    }
}

我想知道阻止更新的原因是否是这些锁定?如果可以,我该如何避免呢?还有其他原因导致这些阻止发生吗?预先感谢

0 个答案:

没有答案