Game Server DB 캐싱
문제
- 미국에 game server를 배포한 뒤 DB 접근 지연 발생
- DB를 game server와 같은 서버에 띄운 조건과 비교해 DB 접근 지연 확인
변경
- parameter처럼 실행 중 바뀌지 않는 데이터를 서버 시작 시 읽어 캐싱
- 게임 실행 중 같은 데이터를 반복 조회하던 부분을 캐시 조회로 변경
결과
캐싱 적용 전후의 프레임 간격, 시전 응답 시간, 세션 생성 시간 비교
| 항목 | 적용 전 | 적용 후 |
|---|---|---|
| 프레임 사이 최대 간격 | 11.1초 | 98ms |
| 1초 초과 정지 | 88회 | 0회 |
| Watchdog이 회수한 세션 | 1개 | 0개 |
| 시전 응답 시간 | 중앙값 813ms, 최대 17.5초 | 관측값 모두 50ms 이하 |
| 40초 경기에서 받은 프레임 | 60~460개 | 724~762개 |
| 세션 생성 시간 | 2.3~2.7초 | 4.4~5.2초 |
- 경기 중 정지 횟수 감소
- 세션 생성 시간은 2.3~2.7초에서 4.4~5.2초로 증가