基于目标的自动扩缩
Amazon GameLift 的基于目标的自动扩缩功能会根据实例集指标 PercentAvailableGameSessions
调整容量级别。该指标表示实例集的可用缓冲区应对玩家需求激增的情况。
维护容量缓冲区的主要原因是玩家等待时间。当游戏会话槽准备就绪并等待时,新玩家进入游戏会话需要数秒钟。如果没有资源可用,玩家必须等待现有游戏会话结束或新资源变为可用。启动新实例和服务器进程可能需要数分钟时间。
在设置基于目标的自动扩缩时,需指定您希望实例集维护的缓冲区的大小。由于 PercentAvailableGameSessions
衡量的是可用资源的百分比,因此实际缓冲区大小是实例集总容量的百分比。Amazon GameLift 添加或删除实例以保持目标缓冲区大小。如果缓冲区较大,则会最大程度地减少等待时间,但您也要为可能未使用的额外资源付费。如果您的玩家更能容忍等待时间,则可通过设置较小的缓冲区来降低成本。
设置基于目标的自动扩缩
- Console
-
打开 Amazon GameLift 控制台。
-
在导航窗格中,选择托管,实例集。
-
在实例集页面上,选择活跃实例集的名称以打开该实例集的详情页面。
-
选择扩展选项卡。此选项卡显示实例集的历史扩展指标,并包含用于调整当前扩展设置的控件。
-
在扩展容量下,检查最小大小和最大大小限制是否适合实例集。启用自动扩缩后,容量可能会在这两个限制之间调整。
-
在基于目标的自动扩缩策略中,选择编辑。
-
在编辑基于目标的自动扩缩策略对话框中,在可用游戏会话百分比中,设置要保持的百分比,然后选择确认。在您确认设置后,Amazon GameLift 会在基于目标的自动扩缩策略下添加新的基于目标的策略。
- AWS CLI
-
-
设置容量限制。使用 update-fleet-capacity 命令设置限制值。有关更多信息,请参阅 设置 Amazon GameLift 的容量限制。
-
创建新策略。打开命令行窗口,并使用 put-scaling-policy 命令来设定您的策略的参数设置。要更新现有策略,请指定策略的名称并提供完整版本的更新策略。
--fleet-id <unique fleet identifier>
--name "<unique policy name>
"
--policy-type <target- or rule-based policy>
--metric-name <name of metric>
--target-configuration <buffer size>
例如:
aws gamelift put-scaling-policy \
--fleet-id "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa" \
--name "My_Target_Policy_1" \
--policy-type "TargetBased" \
--metric-name "PercentAvailableGameSessions" \
--target-configuration "TargetValue=5"