Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
웹서버/DB

InnoDB Buffer Pool 아키텍처와 LRU 기반 페이지 관리 메커니즘

InnoDB Buffer Pool은 고정 크기(16KB) 페이지를 메모리에 캐시하는 핵심 메모리 구조로, 수정된 LRU 알고리즘으로 핫 페이지 보호와 대량 스캔 시에도 워킹셋 유지를 동시에 달성합니다. Young/Old 서브리스트 이원 구조와 미드포인트 삽입 전략으로 전체 테이블 스캔 등의 일시적 액세스가 자주 사용되는 데이터를 제거하는 것을 방지합니다.

2026.09.04  ·  30회  · 

아키텍처 및 메모리 조직

InnoDB Buffer Pool은 주 메모리에 위치하는 고정 크기 페이지(기본값 16KB, innodb_page_size로 설정 가능)로 구성됩니다. 디스크 접근과 메모리 접근 간 성능 차이를 고려하여 설계되었으며, 자주 사용되는 데이터를 메모리에서 직접 액세스하여 디스크 I/O를 획기적으로 감소시킵니다.

수정된 LRU 알고리즘과 이원 서브리스트 구조

Buffer Pool은 단일 LRU 리스트 대신 Young(New) 서브리스트와 Old 서브리스트로 나뉩니다. 기본적으로 약 5/8은 Young 서브리스트(최근 액세스된 핫 페이지), 약 3/8은 Old 서브리스트(덜 자주 사용되는 페이지)로 할당됩니다. 새 페이지가 디스크에서 읽혀 들어올 때는 리스트 헤드가 아니라 미드포인트(Young/Old 경계)에 삽입되며, 해당 페이지가 재액세스될 경우에만 Young 서브리스트로 승격됩니다.

전체 테이블 스캔 보호 메커니즘

전체 테이블 스캔처럼 대량의 일시적 페이지가 유입될 때도 이들 페이지는 Old 서브리스트 내에서만 순환하며, Young 서브리스트(실제 워킹셋)는 보호됩니다. innodb_old_blocks_pct와 innodb_old_blocks_time 파라미터로 이 동작을 세밀하게 조정할 수 있어, 스캔 중심 워크로드와 OLTP 혼합 환경에서 캐시 효율을 최적화합니다.

WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원