8

我最近对 ​​CouchDB 做了一些评估。我发现视图构建(map & reduce)以及将较大的 JSON 文档导入 CouchDB 的内存消耗非常高。我在 Ubuntu 系统(4 核,Intel® Xeon® CPU E3-1240 v5 @ 3.50GHz)上评估了视图构建功能。结果如下:

  1. 四百个 100KB 的数据集将花费大约 683 MB 的内存;
  2. 一个 80 MB 的数据集将花费大约 2.5 GB 的内存;
  3. 四个 80 MB 的数据集将花费大约 10 GB 的内存。

看起来内存消耗是原始 JSON 数据集的数百倍。如果我们使用 1 GB 的数据集,那么 CouchDB 将耗尽内存。有谁知道内存消耗如此巨大的原因吗?非常感谢!

4

2 回答 2

1

我知道回答晚了,但我会把这个答案留给别人受益。实际上,它与缓存响应有关。Couchdb 希望缓存响应以更快地返回结果。您可以通过设置缓存限制来解决此问题。

检查它:https ://docs.couchdb.org/en/latest/config/couchdb.html

于 2021-06-01T12:21:02.373 回答
1

我不知道为什么内存这么高,但我知道它与 CouchDB 是一致的,只要你有很大的文档大小,你就无法真正绕过它。我最终拆分了我想要构建视图的数据,然后将完整的文档保存在一个单独的数据库中以供以后提取。

于 2019-10-31T19:01:01.343 回答