viewimage.php?id=3fb1d92de0&no=24b0d769e1d32ca73de98ffa11d02831b6424c6cf1a53deda4aa5f5481ce0589969a3328be4e46c86ea7fc588deb4e7acad414b8b74b6aaa9ed6a3154eb97a07

한 3주동안 모니터링 시스템 만든거 지켜본 결과 정리하면


- 지연시간 바운싱 구간에서 실제로 유저들이 끊김을 느낌 (모니터가 잘 작동함)

- 지연 시간이 튀는 현상은 굉장히 간헐적으로 일어나서, 구간 평균이 의미가 없음

-- 10MS, 10MS, 10MS, ..., 290MS, ...,10MS, 10MS, 10MS 이런 양상이고 대부분 구간에서 10MS로 측정됨

-- 5분 간격에서 최대 지연시간 값을 쓰는게 그나마 잘 작동하는 메트릭이었음


- 피크 동접은 17~21시에 일어나서 20~25명을 유지 (공휴일 등에는 25~30명)

24b0d121e09c28a8699fe8b115ef046c68f5294b99

- 동접자 수와 지연시간은 상관관계는 있기는 한데 생각했던 것보다는 영향이 미미했음

-- 그래프 축척을 확대해보면 동접자 큰 구간이 초록색 Latency 수치가 조금 더 불안정하고, 새벽 구간이 조금 더 안정적



[진짜 문제]

24b0d121e09c28a8699fe8b115ef046f56499b99a9

24b0d121e09c28a8699fe8b115ef046c67f7214e98

- 서버 시작 후 5분 간격 최대 지연시간이 선형적으로 증가함 (일당 40MS~50MS 수준으로 증가)

-- 이게 직접적인 서버렉 원인으로 추정됨

-- 재시작 직후와, 서버를 7일동안 켜둔 뒤에 게임을 하니까 키 씹힘 현상이 더 잦게 관찰됨

-- CNC 서버 설정이 문제일 수 있어서, 여러가지 소거법으로 실험해봤는데, 결론은 다른 것 상관없이 웹타일 프로세스를 재시작하면 5분 간격 최대 지연시간의 수준이 초기화됨

-- 여전히 서버 설정이 문제일 수 있지만, 내 생각에는 웹타일 코드에 무언가 찾기 어려운 누수가 있는 것으로 추정함 (파일이나 소켓을 열어놓고 안 닫는다던가)


소스 코드도 좀 살펴보긴 했는데, 너무 고치기 까다로운 문제인 듯 합니다.

돌죽 서버 어드민 있는 곳에도 제보하고 얘기 나누고 그랬는데

웹타일 소스의 어디가 문제일거 같다 하고 예상가는 지점에 대해서 다들 한마디씩 거들어주긴 하는데

해결한다고 돈주는 것도 아니고 하니 뭐... 결국 직접 고쳐야 고쳐질거 같습니다


근데 당분간은 제가 이 문제에 집중하기 어려울 것 같아서, 일단은 땜빵으로 새벽 4시에 서버를 재시작시키는 쪽으로 문제를 완화하려고 합니다 (다운타임 10~20초)

불시에 재시작 시간이나 주기는 조절될 수 있고, 재시작 전에 공챗에 메시지 나오니 꺼진다고 하고 꺼지면 정기 재시작이라고 생각하시면 되겠습니다.