성능 대시보드는 게시된 게임의 성능을 모니터링하는 가장 좋은 방법입니다. 두 개의 탭에는 클라이언트와 서버 모두에 대한 실시간 성능 정보가 포함되어 있으며, 날짜 범위를 사용하여 시간에 따른 변경 사항의 영향을 추적할 수 있습니다.
예를 들어, 게임에 새로운 장소를 추가했다고 가정해 보겠습니다:
- 업데이트된 게임을 게시하고 몇 시간 후, 성능 대시보드에서 클라이언트 메모리 사용량과 상관관계가 있는 클라이언트 충돌률의 뚜렷한 증가를 발견합니다.
- 스튜디오에서 새로운 장소를 테스트하지만 문제를 발견하지 못합니다. 메모리 사용량은 게임의 다른 장소와 비슷해 보입니다.
- 업데이트 이후 평균 플레이어 세션 시간이 극적으로 증가했음을 주목합니다.
- 다시 테스트하지만 이번에는 게임에서 더 많은 시간을 보내고 메모리 사용량을 더 면밀히 관찰합니다. 확실히, 사용량이 시간이 지남에 따라 증가하고 있으며 저사양 장치에서 충돌을 일으킬 수 있습니다.
- 서버 탭을 확인하고 서버 메모리 사용량도 시간이 지남에 따라 증가하고 있음을 알립니다. 아직 문제는 아니지만 곧 문제가 될 수 있습니다.
- 개발자 콘솔의 메모리 탭에서 PlaceScriptMemory 세부정보를 확인하면, 세계의 일부 주요 객체와 상호작용할 때마다 새로운 스크립트 중 하나의 메모리 사용량이 증가하고 있음을 알 수 있습니다. 이 스크립트는 클라이언트와 서버 모두에서 실행됩니다.
- 스크립트를 확인해보니, 큰 테이블에 사용자 데이터를 추가하지만 데이터를 정리하지 않아 무한히 증가하고 있습니다.
- 문제를 수정하고 업데이트된 게임을 게시하니 클라이언트 충돌률이 이전 값으로 돌아옵니다.
성능 대시보드 외에도 서버 스크립트에서 DataModel.ServerLowMemoryWarning 신호에 연결하여 라이브 서버의 메모리 사용량이 너무 높아질 때 조기 경고를 받을 수 있습니다. 이를 통해 코드가 충돌이 발생하기 전에 메모리를 해제할 기회를 가질 수 있습니다.
성능 대시보드를 다른 대시보드와 비교하면 성능 개선(또는 퇴보)을 비즈니스 메트릭과 연관시켜 성능이 좋은 게임이 수익에 미치는 영향을 보다 완전하게 이해할 수 있습니다. 자세한 내용은 분석을 참조하세요.