如何增加berkeley db缓存大小

时间:2013-07-01 21:35:48

标签: python performance caching python-2.7 berkeley-db

我正在尝试以giga字节为bdb文件设置cachesize。我正在使用bdb的python接口。我看到bdb的底层'C'api有这个选项。

int DB->set_cachesize(DB *db, u_int32_t gbytes, u_int32_t bytes, int ncache);

但我只能将一个cachesize参数传递给btopen函数,该函数被解释为cache_size(以字节为单位)。这会将max cache_size限制为2GB。我希望能够将缓存大小设置为至少4gb。

任何能够设置/增加缓存大小的帮助都将非常感谢,提前感谢!

下面是我用来设置cache_size的python函数。

cache_size = (2*1024*1024*1024) - 1

db = bsddb.btopen(self._bdbFileName, cachesize=cache_size, flag='n')

1 个答案:

答案 0 :(得分:0)

我不熟悉BDB的python接口。当我使用c api时,我非常感谢用环境打开bdb并在环境中设置了很多配置。

例如,打开带有环境的bdb文件,并将env dir设置为〜/ env / 。然后在〜/ env / 中放入名为 DB_CONFIG 的文件,内容为:

set_cachesize 4 0 1

cachesize将设置为4GB。无需代码。

您可以在 DB_CONFIG 中查看this所有可用配置。