> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 备用扩缩容

> 调整 PlayFab 备用目标和扩缩容设置，使多人游戏服务器容量与实际玩家需求相匹配，同时控制托管成本。

PlayFab 的扩缩容能力使开发者能够调整游戏服务器托管容量以满足实际玩家需求。这些控制可帮助开发者高效地降低游戏服务器托管成本，同时保持足够的容量以快速让新玩家加入多人游戏，几乎无需等待。

游戏服务器的扩缩容是开发者在游戏成功部署并运行后会考虑的问题。本节演示的控制项帮助开发者定义资源扩缩的弹性，同时保留足够的容量以在几乎无需等待的情况下添加新玩家。

处于准备中和备用状态的服务器会计入您的游戏账单，因此您需要优化这些流程以降低成本。在讨论如何计算备用目标之前，先了解一些有用的术语。

## 术语

您应该了解的关于扩缩容备用服务器的术语。

* **Target Standby** – 也常称为 Standby Target 和 Standing by target，是由平台设置的一个值，指定要保持可用的备用服务器目标数量，以避免备用池饥饿。
* **Target Standby Floor** – 开发者可配置的度量值，表示为满足新游戏服务器需求而保持空闲服务器的最小底线数量。
* **Actual Standby** – 由 Multiplayer Servers 平台报告的备用服务器数量，其值在启用 Dynamic Standby 时与禁用 Dynamic Standby 时有所区别。
* **Pre-propping** - Azure 和 PlayFab 必须创建虚拟机、初始化其操作系统并配置其环境。PlayFab 在虚拟机分配给客户并计费之前推动此预准备活动。
* **Propping** - 必须加载游戏服务器资产，并且游戏服务器应用本身通常需要一些时间才能为玩家做好准备。
* **Standing by** 为了立即满足多人服务器的需求，一些服务器会持续保持空闲以便玩家使用。

## 配置备用目标

您可以按每个构建和每个区域配置备用目标。通常，您应根据准备时间和目标分配率按比例设置备用级别：
**Standing by Target = (Propping Time + Server time to standing by) \* Target Allocation Rate**

例如，如果一个 Linux 服务器需要 100 秒完成准备，并且预计该游戏最多每 5 秒分配一台服务器（0.2 台服务器/秒）。100 \* 0.2 = 20 台服务器的备用池将稳定地支持该构建。100 秒后，20 台服务器将被消耗完，但也有时间构建另外 20 台。

调用 `RequestMultiplayerServer` API 时，务必指明玩家体验可接受的所有区域。如果区域 #1 没有可用的备用服务器，则会请求区域 #2，并根据您配置的区域数量继续下去。

## 扩缩容优势

扩缩容优势总结如下：

| 优势        | 描述                              |
| --------- | ------------------------------- |
| 提高应用可用性   | 通过主动预置容量确保您的游戏服务器池始终具有正确的 VM 数量 |
| 降低计算成本    | 仅在需要时添加实例以优化成本                  |
| 跨采购选项扩缩实例 | 扩缩选项在实例类型、区域、规模和游戏服务器构建配置之间优化性能 |

## 扩缩容方法

PlayFab 提供多种机制来扩缩您的服务器以及何时和如何扩缩。游戏开发者可以灵活地：

1. 配置最小和最大阈值
2. 按服务器构建配置文件自定义扩缩配置，例如 (a) 实例类型、(b) VM 规模或 (c) 区域
3. 通过开发者门户或 Multiplayer Servers RESTful API 轻松管理变更
4. 在服务器和使用情况图表中监控扩缩指标

配置游戏服务器扩缩的三种方法是：

* Default
* Scheduled
* Dynamic

每种方法都有独特的方式，但都是根据已知或未知的玩家需求状态触发。默认方法会向上扩展到配置的最大服务器数量，并在会话完成时缩减规模。此机制无需开发者进行额外操作。这是最简单的方法，开发者设置最大服务器和备用限制，PlayFab 就会根据玩家需求自动收缩和增长 VM。

| 控制        | 玩家需求 | 方法  | 用例      | 效果              |
| --------- | ---- | --- | ------- | --------------- |
| Default   | 不可预测 | 自动  | 常规游戏运营  | 无法足够快地应对流量峰值    |
| Scheduled | 可预测  | 计划性 | 计划的活动发布 | 跟踪计划更改以应对玩家需求转变 |
| Dynamic   | 不可预测 | 公式化 | 突发流量峰值  |                 |

要充分利用各种扩缩选项，必须首先理解以下关键概念和术语。

### 关键概念

* 扩缩机制控制备用服务器可用数量
* 备用服务器是没有活跃连接玩家的 VM 分配服务器。它们会响应 RequestMultiplayerServer API 调用转变为接收玩家连接；当游戏服务器进程退出时，它们会转变为终止状态
* 扩缩机制在构建的每个区域独立应用
* 每个扩缩配置表示为一个区域覆盖

## 备用池饥饿

PlayFab 的 Multiplayer Servers 提供了一批备用服务器。这有助于立即满足响应玩家需求的更多游戏服务器请求。如果对额外服务器的需求增长速度超过了从储备中获取和准备服务器所需的时间，则备用服务器池会耗尽。可用服务器池进入"饥饿"状态，游戏服务器请求将失败，直到可以准备更多服务器。计划备用和动态备用扩缩方法会自动启动更多游戏服务器的准备工作以满足玩家需求。


## Related topics

- [以编程方式扩缩容](/zh-CN/services/playfab/multiplayer/servers/scaling-programmatically.md)
- [计划备用](/zh-CN/services/playfab/multiplayer/servers/scheduled-standby.md)
- [计划扩缩](/zh-CN/services/playfab/data-analytics/legacy/insights/scheduled-scaling.md)
- [Insights](/zh-CN/services/playfab/data-analytics/legacy/insights/overview.md)
- [管理摘要](/zh-CN/services/playfab/multiplayer/servers/quota-summary.md)
