CouchDB并行复制导致高CPU使用率

时间:2018-02-24 20:35:29

标签: database nosql couchdb replication pouchdb

我有一个每用户数据库架构,如下所示: enter image description here

大约有200个用户数据库,每个数据库都有一个到主沙发的连续复制链接。 (所有在同一个沙发实例中)问题是在任何给定时间的CPU使用率总是接近100%。

数据库处于空闲状态,因此没有数据从它们写入/读取。每个数据库只有几KB的数据,因此我认为此时负载不是问题。主DB大小小于10 MB。

如何调试此性能问题?

2 个答案:

答案 0 :(得分:0)

您应该看看https://github.com/redgeoff/spiegel - 它是一种以可扩展的方式处理许多CouchDB复制的工具。基本上它通过监听_global_changes端点并仅在需要时创建复制来实现。

在最近的CouchDB版本(2.1.0+)中,复制器已得到改进,但我认为对于复制每用户数据库,使用像Spiegel这样的外部机制来管理活动复制的数量仍然是有意义的。

答案 1 :(得分:0)

提醒一下,CouchDB 2.1.0中有一些security flaws,您可能需要升级到2.1.1。也许你被黑了like this one