簡體   English   中英

CouchDB內存泄漏-性能問題

[英]CouchDB Memory Leak - Performance Issue

我在CouchDB中遇到性能問題。

用例:我正在一個從RDBMS檢索數據並將其處理為JSON文檔並將其發布到CouchDB的過程中。

我正在嘗試發布大約一百萬個文檔,其中大多數以10,000個批次(_bulk_doc)的形式發布,並嘗試以5,000、15,000和20,000的批次發布。

整個過程大約需要90-100分鍾。

在此過程的整個生命周期中,CouchDB的內存消耗持續增長,並且在CouchDB完成工作后不會釋放內存。

因此,如果在處理完成時CouchDB的內存消耗為60%,則內存消耗將保持60%且不會減少。

隨后,當進程再次開始運行時。 內存消耗已用盡,CouchDB自行重啟。 此重新啟動使我正在運行的進程失敗。 查看系統日志,我看到CouchDB進程和killing語句出現內存不足錯誤。

出現問題的CouchDb進程是Erlang的“ beam.smp”。

此時,我已經嘗試升級服務器的內存,以查看是否可以解決問題,但是不幸的是,問題仍然存在。 內存泄漏在那里,使用率持續增長,直到CouchDB重新啟動/崩潰。

我也嘗試從Erlang命令(erlang:garbage_collect()。)行運行垃圾收集,但是它什么也沒做。

在這一點上,我沒有想法,也不知道這里發生了什么。 任何輸入/建議都將受到高度贊賞!

Env:平台:Linux(Red Hat版本6.4(聖地亞哥))CouchDB:1.3並嘗試使用1.5以及RAM:嘗試使用2G,4G和8G CPU:2核進程:/usr/lib64/erlang/erts-5.8 .5 / bin / beam.smp -Bd -K true -A 4--root / usr / lib64 / erlang

您使用哪種JSON解析器? 您知道在Erlang中沒有收集原子嗎? 因此,如果您的解析器正在創建新原子,它們將永遠存在,最終會消耗您的所有內存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM