운영관리

CUBRID 데이터베이스 버퍼 캐쉬 파라미터($CUBRID/conf/cubrid.conf) Hint

by 정만영 posted Mar 31, 2010

큐브리드 데이터베이스 파라미터($CUBRID/conf/cubrid.conf) data_buffer_page버퍼에 캐시되는 데이터 페이지의 수를 설정하기 위한 메모리 관련 파라미터 이다.

초기 값은 data_buffer_pages=25000(100M) default 이며, 메모리 크기 계산 방법은 data_buffer_pages (25,000 pages) * DB page size (4KB) = 100M 이다. 여기서 DB page size는 데이터베이스를 생성 시 “cubrid createdb s 8192(4096 default) DB_name” –s 옵션에 데이터베이스 페이지 크기를 지정한 값이다.

큐브리드 data_buffer_pages(버퍼 페이지)가 크면 캐시되는 데이터 페이지가 커져 I/O 비용을 줄일 수 있지만, data_buffer_page  크기가 시스템 메모리 보다 클 경우 메모리 스와핑이 발생하여 성능에 치명적인 영향이 있으므로 주의가 필요하다.

32bit 환경에서는 한 개의 프로세서의 메모리 할당 최대크기를 2G로 재한하고 있어 DB page size 4KB라면 이론상 data_buffer_page 최대크기를 500000까지 설정이 가능하지만 큐브리드에서 사용하는 기타 다른 메모리 설정 값이 있으므로 data_buffer_page= 400000 이하로 잡는 것이 좋다. 또한 시스템 전체 메모리를 생각하지 않고 data_buffer_page 값을 너무 크게 설정하면 과도하게 시스템 메모리를 점유하기 때문에 오히려 성능이 떨어질 수 있으니 시스템 전체 메모리에 2/3이내 설정하는 것을 권장한다.

 

data_buffer_page 파라미터를 사용할 수 있는 최대크기로 설정한다고 성능향상이 있는 것은 아니다. 쓰기(write) 연산이 빈번하지 않고 읽기(Read) 연산 비중이 높다면  버퍼에 캐시되는 데이터가 많아져 성능을 높일 수도 있지만 그 반대라면 오히려 성능이 떨어질 수 있으니, 전체성능 테스트 하면서 설정하기 바란다.

Articles

2 3 4 5 6 7 8 9 10 11