每当我尝试构建发布大型文档值的设计文档视图的索引时,Couchdb就会一直崩溃。数据库的总大小是40 MB,我猜文件大约每个5 MB。我们正在谈论没有任何附件的大型JSON。
我担心的是,在尝试访问视图之前,我有2.5 GB的免费ram,但是一旦我尝试访问它们,CPU使用率就会提高到99%,并且所有可用RAM都被{{1}吃掉了在索引失败之前,退出代码为erl.exe
。
这是日志:
[info] 2016-11-22T22:07:52.263000Z couchdb @ localhost< 0.212.0> -------- couch_proc_manager< 0.15603.334>死了正常
[错误] 2016-11-22T22:07:52.264000Z couchdb @ localhost< 0.15409.334> b9855eea74 rexi_server throw:{os_process_error,{exit_status,1}} [{couch_mrview_util,get_view,4,[{file," src / couch_mrview_util.erl"},{line,56}]},{couch_mrview, query_view,6,[{文件," SRC / couch_mrview.erl"},{线,244}]},{rexi_server,init_p,3,[{文件," SRC / rexi_server.erl& #34;},{线,139}]}]
可以毫无问题地访问跳过这些文档的视图。您可以向我提供哪些一般指导方针来帮助解决这种情况?我在Windows上使用couchdb 2.0。
非常感谢
更新:我尝试将视图服务器实例的数量限制为1,并改变了couchjs允许的最大RAM,但它一直在崩溃。另外我注意到即使CouchDb一次只能将一个文档传递给视图服务器,erl.exe仍然会吃掉所有可用的RAM(3GB用于3个5mb文档来更新......)。最初我认为这可能是因为多个couchjs实例,但显然情况并非如此。
更新:取得了一些进展,现在看起来索引进展不到10分钟,然后erl.exe崩溃了。我有posted the dump here(只是为了澄清"以及#34;意味着,99%的CPU使用率和完全冻结的计算机屏幕)。