加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

CouchDB延迟构建索引(Windows Server 2008 R2上的CouchDB 1.5.0)

发布时间:2020-12-14 05:42:59 所属栏目:Windows 来源:网络整理
导读:据我所知,CouchDB会根据索引文件的名称散列每个设计文档的源代码.每当我更改源代码时,都需要重建索引. CouchDB在第一次请求文档时执行此操作. 我期望发生什么,想要发生什么 每次我更改设计文档时,对视图的第一次调用将比平时花费更长的时间并且可能会超时.该
据我所知,CouchDB会根据索引文件的名称散列每个设计文档的源代码.每当我更改源代码时,都需要重建索引. CouchDB在第一次请求文档时执行此操作.

我期望发生什么,想要发生什么

每次我更改设计文档时,对视图的第一次调用将比平时花费更长的时间并且可能会超时.该指数将继续建立.完成此操作后,视图将仅处理更改并且速度非常快.

实际发生了什么

>第一次运行修改后的视图时,我在状态窗口中看到该过程,慢慢达到100%.这大约需要2个小时.在此期间,所有CPU都得到充分利用.
>一旦过程达到99%,它会在那里停留约一个小时然后消失. CPU利用率下降到只有一个CPU.
>当进程消失时,视图的数据文件将持续增长约半小时到一小时. CPU利用率接近0%
>索引文件突然停止增加大小.

如果我在达到状态4)时再次请求视图,则3)的特征再次开始.我必须在5到50次之间重复这个过程,直到我最终可以检索视图值.

如果视图在第1阶段或第2阶段第二次被请求,那么它肯定会耗尽内存而我必须重新启动CouchDB服务.尽管我的DB在运行一个作业时很少使用超过2 GByte,并且在正常操作中超过4 GByte.

我试图调整配置设置,添加更多内存,但似乎没有任何影响.

我的问题

我是否误解了运行视图的概念或者我的设置有问题?
如果这是预期的,有什么我可以调整以减少重新运行的次数?

上下文

我的文件非常大(1到20 MB).它们包含的数据结构良好,通常是网络分析报告,并且在关系数据库中可以存储为几个10k行的数据.

我的地图功能提取这些行.它将维度返回为关键数组.键阵有时超过20列.大多数视图只有不到10列.

reduce函数将使用相同的键聚合(求和)行中的所有值.度量标准存储在字典中,可能包含不同的密钥. reduce函数标识一个文档中缺少的键,并将这些键添加到聚合为0.

我在Windows Server 2008 R2上使用CouchDB 1.5.0,具有2CPU和8 GB内存.

视图使用couchjs查询服务器以javascript编写.

我的设计文档通常由几个视图组成,其中“_lib”视图不发出任何数据,但包含由实际视图访问的详尽功能库.

解决方法

这是一个已知的问题,但以防万一:如果你有数十亿字节的文档,你可以忘记减少功能.只有 build-in ones可以足够快地工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读