할당 TTL
참고: 이 페이지는 Unity Cloud Dashboard에서 사용 가능한 Multiplay Hosting에 관한 콘텐츠를 다루고 있습니다. Clanforge를 사용 중인 경우 Clanforge 기술 자료를 참고하십시오.
할당 TTL(Time to Live)은 할당의 최대 수명을 정의하는 플릿 레벨의 설정으로, 주로 대기 상태(idle)로 남아 있는 할당된 게임 서버를 유지하는 역할을 합니다. 플레이어가 게임 세션에 참여하거나 게임 세션에서 나갈 때 게임 서버는 새로운 연결을 허용할 수 있도록 활성화 상태를 유지해야 합니다. 게임 서버가 할당된 채 플레이어 연결 없이 일정 시간(할당 TTL)이 지나면 게임 서버를 종료해도 무방한 것으로 간주됩니다.
설정한 할당 TTL 값에 따라 플릿에서 사용하는 리소스뿐 아니라 플릿과 연관된 비용이 대폭 증가하거나 감소할 수 있습니다. 지속적인 경험이 필요하지 않은 게임은 기본값을 훨씬 넘겨서까지 할당의 최대 수명을 연장할 필요가 거의 없으므로 큰 문제 없이 플릿이 사용하는 리소스를 줄일 수 있습니다. 반면, 지속적인 경험을 제공하는 게임은 플레이어가 데이터 손실에 대한 걱정 없이 오랜 시간 게임 서버에 드나들 수 있으므로 할당의 최대 수명을 연장하는 데 따른 이점이 있습니다.
세션 길이 관련 고려 사항
경고: 게임 서버에 긴 할당 TTL을 설정하면 게임의 호스팅 비용이 증가할 수 있습니다. 과도한 비용이 발생하지 않도록 활성 세션을 실행하지 않는 게임 서버의 할당은 해제하는 것이 좋습니다.
유연성과 비용의 균형을 유지하는 것이 최적의 할당 TTL입니다. 비활성 할당이 오래 지속될수록 호스팅 비용이 증가합니다. 수명이 짧은 세션을 사용하며 영구적인 데이터가 없는 게임은 몇 분에서 몇 시간에 이르는 할당 TTL로도 원활하게 운영됩니다. 그러나 지속적인 가상 경험을 제공하는 게임이나 기타 애플리케이션은 며칠에서 몇 개월 혹은 그보다도 긴 할당 TTL이 필요할 수 있습니다. 수명이 긴 세션과 수명이 짧은 일반 게임 세션의 특성이 서로 다르기 때문에 수명이 짧은 세션과 긴 세션을 함께 사용하면 스케일링과 게임 서버 배치의 최적화 수준이 빠르게 저하될 수 있습니다. 따라서 권장되는 베스트 프랙티스는 수명이 긴 게임 서버를 전담하는 별도의 플릿을 운영하는 것입니다.
수명이 짧은 게임 세션 | 수명이 긴 게임 세션 |
---|---|
할당 TTL 값이 몇 분에서 몇 시간 사이입니다(예: 30분). | 할당 TTL 값이 며칠에서 몇 개월 사이입니다(예: 2주). |
일반적으로 경험이 지속적이지 않습니다. | 지속적인 플레이어 경험을 제공합니다. |
플레이어가 게임 세션을 떠났다가 다시 참여하는 경우가 거의 없습니다. | 플레이어가 자신의 데이터가 게임 서버에 남아 있기를 기대하며 마음대로 게임 세션에 드나들 가능성이 높습니다. |
할당 TTL은 플릿 내 게임 서버의 성능에도 영향을 미칠 수 있습니다. 예를 들어, 수명이 긴 세션에서는 장기간 실행하면서 테스트하지 않으면 발견하기 어려운 메모리 누수가 발생할 수 있습니다. 할당 TTL을 조정할 때에는 다음 사항을 고려하십시오.
- 게임 세션의 최대 실행 시간을 할당 TTL에 반영합니다.
- 할당 TTL을 연장하기 전에 장기간 실행된 세션으로 게임 서버 실행 파일을 테스트하여 수명이 긴 게임 세션에서 예기치 않은 메모리 누수가 발생할 가능성을 줄입니다.
- 할당 TTL을 늘리기 전에 사용자의 기대치를 고려합니다. 할당 TTL을 크게 늘리면 일부 사용자에게 혼란을 줄 수 있습니다.
- SQP(서버 쿼리 프로토콜)이나 다른 쿼리 프로토콜을 사용하여 각 게임 서버에서 마지막 활동이 언제 발생했는지 Multiplay Hosting에 알립니다. 게임 서버에 참여하는 플레이어가 없는 경우 Multiplay Hosting이 게임 서버의 할당을 해제하여 비용을 아낄 수 있습니다. 플레이어가 참여하면 카운트다운을 초기화하고, 활성 연결 수가 0으로 떨어지면 카운트다운을 재시작합니다.
플릿 오버라이드
API를 통해 각 플릿의 할당 TTL을 설정하고 관리할 수 있습니다.