gpt4 book ai didi

memory-leaks - CouchDB 内存泄漏 - 性能问题

转载 作者:行者123 更新时间:2023-12-05 08:10:13 26 4
gpt4 key购买 nike

我遇到了 CouchDB 的性能问题。

用例:我正在处理一个从 RDBMS 检索数据并将它们处理成 JSON 文档并将它们发布到 CouchDB 的过程。

我正在尝试发布大约 50 万个文档,其中大部分以 10,000 个为一批 (_bulk_doc),并且尝试过 5,000、15,000 和 20,000 个批处理。

整个过程大约需要 90-100 分钟。

在进程的生命周期中,CouchDB 的内存消耗不断增长,当 CouchDB 完成工作时内存不会被释放。

因此,如果在进程完成时 CouchDB 的内存消耗为 60%,则内存消耗将保持 60% 而不会减少。

随后,当进程再次开始运行时。内存消耗达到最大值,CouchDB 自行重启。这次重新启动使我正在运行的进程失败。查看 Syslogs,我看到 CouchDB 进程和终止语句导致内存不足错误。

有问题的 CouchDb 进程是 Erlang 的“beam.smp”。

此时,我已尝试升级服务器内存以查看是否可以解决问题,不幸的是,问题仍然存在。存在内存泄漏并且使用量持续增长,直到 CouchDB 重新启动/崩溃。

我也尝试过从 Erlang 命令 (erlang:garbage_collect().) 行运行垃圾收集,但它没有做任何事情。

在这一点上,我没有想法,不确定这里发生了什么。非常感谢任何输入/建议!

环境:平台:Linux(Red Hat 6.4 版(Santiago))CouchDB:1.3 也尝试过 1.5RAM:尝试使用 2G、4G 和 8G中央处理器:2核进程:/usr/lib64/erlang/erts-5.8.5/bin/beam.smp -Bd -K true -A 4 -- -root/usr/lib64/erlang

最佳答案

您使用的是哪种 JSON 解析器?你知道在 Erlang 中原子不会被垃圾回收吗?因此,如果您的解析器正在创建新原子,它们将永远存在,最终耗尽您的所有内存。

关于memory-leaks - CouchDB 内存泄漏 - 性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21712456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com