재시작 후 캐시 예열(워밍, 버퍼 풀 저장·복원 설정 확인), 스냅샷으로 되살린 DB는 디스크도 미리 읽기.
그래프에서는
접속·점검 직후 폭증 · 디스크 읽기, 버퍼 캐시 적중률
확인할 곳
MySQL은 Innodb_buffer_pool_reads(버퍼 풀에 없어 디스크에서 읽은 횟수)와 Innodb_buffer_pool_read_requests의 비율, 예열 진행 상황 Innodb_buffer_pool_load_status를 봄. PostgreSQL은 pg_stat_database의 blks_read·blks_hit을 봄. DB 서버의 디스크 읽기 수도 함께 봄
이러면 맞음
재시작 직후 디스크 읽기가 솟고 적중률이 낮았다가 시간이 지나며 회복되고 그 구간에 로그인·로딩이 느림
이러면 아님
적중률이 평소와 같은데 점검 직후 느리면 로그인 폭주·N+1(db-login-storm)이나 커넥션 풀(db-pool)
확인 수단
인프라 도구로 확인(게임 코드 불필요)
더 알아보기
MySQL은 꺼질 때 버퍼 풀의 페이지 목록을 저장했다가 켜질 때 백그라운드에서 다시 읽어 오지만, 다 채우기까지는 시간이 걸립니다. 클라우드에서 DB를 스냅샷(디스크 사본)으로 되살렸다면 디스크 자체도 처음 읽는 블록마다 느려서 더 오래 갑니다.
Server Status VariablesMySQL Innodb_buffer_pool_reads(버퍼 풀에 없어 디스크에서 직접 읽은 논리 읽기 수), Innodb_buffer_pool_read_requests, Innodb_buffer_pool_load_status(예열 진행 상황)