本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
扩缩 Amazon GameLift Servers 容器实例集
游戏托管最具挑战性的任务之一是扩展容量以满足玩家的需求,同时又不会将成本浪费在不需要的资源上。在托管式容器实例集中,您可以通过添加或移除实例集实例来扩缩实例集容量。
当您创建新实例集时,Amazon GameLift Servers 会将该实例集的所需容量设置为一个实例,并在该实例集的主区域部署一个实例。对于多位置实例集,Amazon GameLift Servers 会在主区域以及每个远程位置各部署一个实例。实例集状态变为 ACTIVE 后,您可以提高所需容量以扩容,或降低所需容量以缩减规模。
您可以使用 Amazon GameLift Servers 扩缩功能手动更改容量,也可以根据玩家需求设置自动扩缩:
使用目标跟踪设置自动扩缩。请参阅基于目标的自动扩缩。
手动更改实例集容量。请参阅手动设置 Amazon GameLift Servers 实例集的容量。
在扩缩容器实例集时,需考虑添加或删除实例对实例集托管游戏会话和玩家容量的影响。
-
每个实例的游戏会话数
-
实例上运行的每个游戏服务器进程都代表可托管一个游戏会话的能力。
-
使用以下公式计算一个容器实例集实例上可同时运行的游戏会话数:
[Game sessions per instance] = [# of game server processes per game server container] * [# of game server container groups per instance]如果您的容器架构在游戏服务器容器中并发运行一个游戏服务器进程,则每个实例的游戏会话数等于每个实例的游戏服务器容器组数量。
-
对于每个实例的游戏服务器容器组数量,可调用 DescribeContainerFleet 以获取
GameServerContainerGroupsPerInstance或MaximumGameServerContainerGroupsPerInstance值。
-
-
-
每个实例的玩家数
-
您可以决定每个游戏会话中允许的玩家席位数量。根据您的托管解决方案处理游戏会话放置的方式,您可以在对战配置中或发起游戏会话放置的调用中定义每个游戏会话的玩家数。
-
使用以下公式计算一个容器实例集实例上可同时参与游戏的玩家数量:
[Players per instance] = [# of game sessions per instance] * [# of player slots per game session]
-
要获取容器实例集当前的总容量,可调用 DescribeFleetCapacity 或 DescribeFleetLocation Capacity 来获取实例集中游戏服务器容器组的数量。其中,活跃组指当前正在托管游戏会话的容器组,空闲组指已就绪可托管新游戏会话的容器组。将这些值乘以每个游戏服务器容器组的服务器进程数,即可得到总容量。