gpt4 book ai didi

c - BerkeleyDB 变胖变慢

转载 作者:太空宇宙 更新时间:2023-11-04 04:51:08 25 4
gpt4 key购买 nike

我正在尝试以每秒 50k 的插入速度向 BerkeleyDB 添加 3e9 个键(重复率低),复合记录由具有两个整数的结构组成。每个 key 的长度为 30。我使用的是 C API。

看来我必须将 cache_size 增加到 2GB,否则在一段时间后插入数据库会变得非常慢。但是,它总是消耗超过 2GB 的 RAM。

我不使用事务或游标,而是使用 DB_HASH。

如何确保我不会消耗太多 RAM 并且不会变得太慢?

最佳答案

BerekelyDB 尊重 RAM 使用的用户设置,并将使用允许/配置的尽可能多的 RAM。如果您希望使用较少的 RAM,请配置较低的值。

同时,创建/插入时的 S-L-O-W 可能是由于 BerkeleyDB 调用 fsync(2) 以确保在 db->put 之后新数据在磁盘上。

您可以通过使用 noop 例程覆盖 fsync(2) vector 来加速 BerkeleyDB(即只返回成功但什么都不做)当你创建数据库时并不真正关心数据是否已经刷新到磁盘。

关于c - BerkeleyDB 变胖变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15127468/

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