페이지 캐시 세션 설정

페이지 캐시 세션 설정 (page_cache_*)

이 페이지에서는 사용자 공간 페이지 캐시와 관련된 page_cache_* 세션 설정들을 다뤄요. 캐시에서 읽는 블록 크기, 프리페치(읽기 전 미리 읽기) 블록 수, 병합 읽기 크기 등을 제어해요. 이 설정들은 system.settings 테이블에서 확인할 수 있으며 ClickHouse 소스에서 자동 생성돼요.

출처: 문서

본문

이 설정들은 system.settings에서 확인할 수 있으며 소스에서 자동 생성돼요.

page_cache_block_size

사용자 공간 페이지 캐시에 저장할 파일 청크의 크기(바이트)예요. 캐시를 통과하는 모든 읽기는 이 크기의 배수로 반올림돼요. 이 설정은 쿼리 수준별로 조정할 수 있지만, 블록 크기가 다른 캐시 항목은 재사용할 수 없어요. 이 설정을 변경하면 캐시의 기존 항목이 사실상 무효화돼요. 1 MiB 같은 높은 값은 높은 처리량의 쿼리에 좋고, 64 KiB 같은 낮은 값은 낮은 지연의 포인트 쿼리에 좋아요.

page_cache_inject_eviction

사용자 공간 페이지 캐시가 때때로 일부 페이지를 무작위로 무효화해요. 테스트 용도로 사용돼요.

page_cache_lookahead_blocks

사용자 공간 페이지 캐시가 미스일 때, 기본 저장소에서 캐시에도 없는 연속된 블록을 최대 그만큼 한 번에 읽어요. 각 블록은 page_cache_block_size 바이트예요. 높은 값은 높은 처리량의 쿼리에 좋고, 낮은 지연의 포인트 쿼리는 읽기 전 미리 읽기(readahead) 없이 더 잘 동작해요.

page_cache_max_coalesced_bytes

readBigAt이 사용자 공간 페이지 캐시를 채울 때, 연속된 캐시 미스는 기본 저장소로부터의 단일 읽기로 병합돼요. 이 설정은 병합된 한 번의 읽기 크기(바이트)를 제한하며, 더 긴 미스 구간은 여러 번의 읽기로 나뉘어요. 병렬 콜드 읽기에서 임시 버퍼의 일시적인 메모리 사용을 제한해요. 높은 값은 객체 스토리지의 콜드 스캔에서 HTTP 요청 수를 줄이고, 낮은 값은 최고 일시 메모리를 줄여요.

더 알아보기 (Learn more)