게임 렉 백서 › L9 서버 게임 프로세스
개체 누적 (정리되지 않은 아이템·소환물) Entity / timer buildup over uptime
원인 ID sp-entity-buildup · 주 담당 게임개발팀·서버 개발
그림과 실험이 있는 원본 카드로 열기 →
사라져야 할 바닥 아이템, 소환물, 끝난 타이머가 정리되지 않고 쌓이면, 서버를 오래 켜 둘수록 매 틱 할 일이 늘어납니다.
왜 바닥 아이템·소환물·만료된 타이머·빈 파티 정보가 제때 지워지지 않음 → 그러면 틱마다 순회하는 목록이 날마다 길어짐 → 화면에서는 점검 직후엔 멀쩡하다가 며칠 지나면 그 서버·지역만 점점 굼뜸
- 증상
- 슬로우모션, 뚝뚝 끊김, 입력 지연
- 요인
- 정체
- 누가 겪나
- 서버 전체, 특정 장소·채널
- 언제
- 오래 켜 둘수록
- 담당
- 주 담당 게임개발팀·서버 개발
- 게임개발팀 할 일
- 지역별 개체 수를 지표로 남겨 추세 보기, 개체마다 수명과 개수 상한, 주기적 정리.
- 수치 감각
- 틱마다 모든 개체를 한 번씩 순회하는 서버라면, 개체 수가 두 배가 되면 그 부분의 틱 시간도 두 배가 됩니다.
- 그래프에서는
- 서서히 오르다 뚝 떨어짐 · 존별 개체 수, 서버 틱 시간
- 확인할 곳
- 존·서버별 개체 수(바닥 아이템·소환물·타이머)와 틱 시간을 점검 주기보다 긴 기간(몇 주)으로 봄
- 이러면 맞음
- 점검 직후 낮게 시작한 개체 수와 틱 시간이 날마다 오르다가 점검·재시작 때 뚝 떨어지기를 반복하고, 그동안 메모리는 넉넉함
- 이러면 아님
- 틱은 그대로인데 메모리만 계속 오르면 메모리 누수 쪽
- 확인 수단
- 게임 서버·클라이언트의 로그·지표가 필요
- 더 알아보기
- 메모리 누수처럼 오래 켤수록 나빠지지만 메모리는 넉넉한 채로 틱 시간만 늘어납니다. 개체 수 그래프가 점검 주기마다 톱니 모양이면 이 경우입니다.
출처
- Actor Ticking in Unreal Engine Epic Games
액터·컴포넌트는 따로 간격을 정하지 않으면 매 프레임 한 번씩 틱을 돌고 필요 없으면 틱을 끌 수 있음 - AActor::SetLifeSpan Epic Games
액터에 수명을 정하면 만료될 때 자동으로 파괴
함께 보면 좋은 원인
같은 층: L9 서버 게임 프로세스
같은 증상(슬로우모션)의 다른 층 원인
그림과 실험이 있는 원본 카드 보기