다음을 통해 공유


스케일링 대기

개발자는 PlayFab의 스케일링 기능을 통해 실제 플레이어 수요를 충족하도록 게임 서버 호스팅 용량을 조정할 수 있습니다. 개발자는 이러한 컨트롤 기능을 통해 게임 서버 호스팅 비용을 효율적으로 절감하면서 새로운 플레이어가 멀티 플레이 게임에 최소 대기 후 또는 대기 없이 빠르게 참가할 수 있도록 충분한 용량을 유지합니다.

게임 서버 스케일링은 개발자가 게임을 성공적으로 배포하고 운영하고 있을 때 고려하는 사항입니다. 이 섹션에서 설명하는 컨트롤은 개발자가 리소스 확장의 탄력성을 정의하는 동시에 최소 또는 전혀 기다리지 않고 새로운 플레이어를 추가할 수 있는 충분한 용량을 유지하는 데 도움이 됩니다.

프로핑 및 대기 상태의 서버에서는 타이틀에 비용이 청구되므로 이러한 프로세스를 최적화하여 비용을 절감하려고 합니다. 여기서 대상별 순위를 계산하는 방법을 알아보기 전에 이해해야 할 몇 가지 유용한 용어가 있습니다.

용어

대기 서버 크기 조정에 대해 이해해야 하는 용어입니다.

  • 대상 대기 – 일반적으로 대기 대상 및 대상별 대기라고도 하며, 대기 풀 고갈을 방지하기 위해 사용할 수 있는 대기 서버의 대상 수를 지정하는 플랫폼에서 설정한 값입니다.
  • 대상 대기 최소값–새 게임 서버에 대한 수요를 충족하기 위해 유휴 상태로 유지된 서버의 최소 수량의 최소값을 나타내는 게임 개발자가 구성 가능한 값입니다.
  • 실제 대기 – 멀티 플레이어 서버 플랫폼이 보고하는 대기 서버의 수량으로 동적 대기를 사용하는 경우와 동적 대기를 사용하지 않도록 설정한 경우의 값이 서로 다릅니다.
  • 사전 준비 - Azure 및 PlayFab은 가상 머신을 만들고 운영 체제를 초기화하고 해당 환경을 구성해야 합니다. PlayFab은 가상 머신이 고객에게 할당되고 요금이 청구되기 전에 이 사전 프로핑 활동을 추진합니다.
  • 준비 - 게임 서버 자산을 로드해야 하며, 게임 서버 응용 프로그램 자체에서 플레이어를 준비하는 데 시간이 필요한 경우가 있습니다.
  • 대기 멀티 플레이어 서버에 대한 수요를 즉시 충족하기 위해 일부 서버는 플레이어에 대해 지속적으로 유휴 상태로 유지됩니다.

대상 대기 구성

빌드 및 지역 단위로 대기 대상을 구성합니다. 일반적으로 대기 시간 및 대상 할당 속도에 비례하여 대기 수준을 설정해야 합니다. 대상별 대기 = (Propping Time + 서버 대기 시간) * 대상 할당 속도

예를 들어, props에 100초가 걸리는 Linux 서버와 5초마다 최대 1개의 서버가 할당될 것으로 예상되는 게임(0.2 서버/초)이 있습니다. 100 * 0.2 = 20 서버의 대기 풀은 이 빌드를 안정적으로 지원합니다. 100초 후에는 20개 서버가 소비되지만 다른 20개 서버를 빌드할 시간이 있습니다.

RequestMultiplayerServer API를 호출할 때 플레이어 환경에 허용되는 모든 지역을 나타내는 것이 중요합니다. 지역 #1에 사용 가능한 대기 서버가 없으면 지역 #2가 요청되고 구성한 만큼 많은 지역에 대해 계속됩니다.

스케일링의 장점

확장 혜택 요약은 다음과 같습니다.

장점 설명
애플리케이션 가용성 향상 용량을 사전에 프로비전하여 게임 서버 풀에 항상 적절한 양의 VM을 확보
컴퓨팅 비용 절감 비용을 최적화하는 데 필요한 경우에만 인스턴스 추가
구매 옵션 간에 인스턴스 스케일링 스케일링 옵션은 인스턴스 유형, 지역, 크기 및 게임 서버 빌드 구성을 망라하여 성능을 최적화

스케일링 메서드

PlayFab은 서버를 스케일링 하는 시점와 방법에 대한 여러 매커니즘을 제공합니다. 게임 개발자에게 다음과 같은 유연성이 제공됩니다.

  1. 최소 및 최대 임계값 구성
  2. (a) 인스턴스 유형, (b) VM 크기 또는 (c) 지역과 같은 서버 빌드 프로필당 스케일링 구성 사용자 지정
  3. 개발자 포털 또는 멀티 플레이어 서버 RESTful API에서 간편하게 변경 관리
  4. 서버 및 사용 현황 차트에서 스케일링 메트릭 모니터링

게임 서버의 크기 조정을 구성하는 세 가지 방법은 다음과 같습니다.

  • 기본
  • 예약
  • 동적

각각의 방법은 고유한 접근 방식을 갖지만 알려진 또는 알려지지 않은 플레이어 수요에 의해 트리거됩니다. 기본 메서드는 구성된 최대 서버까지 확장하고 완료된 세션에 대해 축소합니다. 이 메커니즘에는 개발자가 요청하는 추가 단계가 없습니다. 이는 개발자가 최대 서버 및 대기 제한을 설정하여 PlayFab이 플레이어 수요에 따라 VM을 자동으로 줄이거나 늘이는 가장 간단한 방법입니다.

컨트롤 플레이어 수요 접근 방식 사용 사례 결과
기본 예측할 수 없음 자동 일반 게임 조작 트래픽 급증에 대해 충분히 빠르게 스케일링되지 않음
예약 예측 가능 계획적 계획된 이벤트 시작 플레이어 수요의 변화에 대한 일정 변경 추적
동적 예측할 수 없음 수식화 가능 갑작스러운 트래픽 급증

스케일링 옵션의 폭을 완전히 수용하려면 먼저 다음 주요 개념과 용어를 이해해야 합니다.

주요 개념

  • 스케일링 메커니즘은 사용 가능한 대기 서버 수를 제어합니다.
  • 대기 서버는 연결된 활성 플레이어가 없는 VM 할당 서버입니다. RequestMultiplayerServer API 호출에 대한 응답으로 플레이어 연결을 수락할 때 전환됩니다. 게임 서버 프로세스가 종료되면 종료 상태로 전환됩니다.
  • 스케일링 메커니즘은 빌드의 각 영역에서 고유하게 적용됨
  • 각 스케일링 구성은 영역 수식으로 표시됨

대기 풀 고갈

PlayFab의 멀티 플레이어 서버는 대기 서버 뱅크를 제공합니다. 이는 플레이어 요구에 응답하여 더 많은 게임 서버에 대한 요청의 즉각적인 이행을 지원하는 데 도움이 됩니다. 추가 서버에 대한 수요가 뱅크에서 서버를 획득하고 프로비전하는 데 필요한 시간보다 빠르게 증가하면 대기 서버 풀이 고갈됩니다. 이 경우 사용 가능한 서버 풀이 "고갈" 상태가 되고 더 많은 서버를 프로비전할 수 있을 때까지 게임 서버에 대한 요청이 실패합니다. 일정 대기 및 동적 대기 스케일링 방법은 플레이어 수요를 충족하기 위해 게임 서버의 증가된 프로비저닝을 자동으로 활성화합니다.