2013-07-01 3 views
0

bdb 파일의 캐시 크기를 기가 바이트로 설정하려고합니다. 내가 bdb에 대한 파이썬 인터페이스를 사용하고 있습니다. 나는 bdb에 대한 기본 'C'API가이 옵션을 가지고있는 것을 보았다.berkeley db 캐시 크기를 늘리는 방법

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

하지만 cache_size로 해석되는 btopen 함수에 하나의 cachesize 인수 만 전달할 수 있습니다. 이것은 최대 cache_size를 2GB로 제한합니다. 캐시 크기를 최소한 4GB로 설정할 수 있기를 바랍니다.

캐시 크기를 설정/증가시킬 수있는 도움이 있다면 미리 감사드립니다.

다음은 cache_size를 설정하는 데 사용하는 python 함수입니다.

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

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

자체 버퍼 캐시가있는 운영 체제를 실행하는 경우에는이 작업을 수행하지 않아도됩니다. 2 GiB에 비해 1 GiB와 같이 더 작은 캐시 크기로 애플리케이션의 성능을 평가하십시오. OS가 이미 데이터베이스 파일을 캐싱하고 있다면, OS가 메모리를 BDB에 전용하는 것보다 애플리케이션을 더 잘 수행 할 수 있습니다. –

답변

0

저는 BDB의 파이썬 인터페이스에 익숙하지 않습니다. 내가 C API를 사용하면, 환경 인으로 bdb를 열어 주셔서 감사 드리며 환경에 많은 설정을 해주셔야합니다.

예를 들어 환경과 함께 bdb 파일을 열면 env 디렉토리가 ~/env/으로 설정됩니다.

set_cachesize 4 0 1 

CACHESIZE는 4GB의 설정됩니다 : 다음 ~/ENV 내용/에 DB_CONFIG라는 이름의 파일을 넣어. 코드가 필요하지 않습니다.

DB_CONFIG에서 사용 가능한 모든 구성에 대해 this을 확인할 수 있습니다.