[DATABASE] chunk size를 키우면 MySQL buffer pool이 흔들릴까?

·
Computer Science/Database
면접에서 이런 질문을 받은 적이 있다.배치 chunk size는 어떻게 잡으세요? 예전에는 꽤 단순하게 답했다.로컬에 비슷한 환경을 만들고, 부하 테스트를 돌려보면서 처리량과 latency가 괜찮은 값을 잡는다고. 틀린 답은 아니라고 생각한다.그런데 MySQL을 다시 공부하면서 이 답이 조금 얕게 느껴졌다. 계기가 된 부분은 InnoDB buffer pool의 LRU 관리 방식이었다. InnoDB는 strict LRU를 그대로 쓰지 않고, 새로 읽은 page를 LRU list의 midpoint 근처에 넣는다. 대량 scan이 buffer pool을 한 번에 오염시키지 않도록 막기 위한 장치다. MySQL 공식 문서에서는 이 동작을 buffer pool을 scan resistant하게 만들기 위한 전략으..