适用范围:开发人员 | 基本 | 基本 v2 | 标准 | 标准 v2 | 高级 | 高级 v2
API 管理提供 Azure Monitor 指标来检测系统容量的使用情况,这有助于排查网关问题,并基于这些信息做出明智的决策,例如是否需要扩展或升级 API 管理实例以容纳更多负载。
本文介绍了什么是容量指标和该指标的表现方式,以及如何在 Azure 门户中访问容量指标,并建议何时应考虑扩展或升级 API 管理实例。
重要
本文介绍了如何基于容量指标来监视和扩展 Azure API 管理实例。 但是,当实例达到其容量时,它不会进行限制以防止重载。 相反,它将像重载的 Web 服务器一样:延迟增加、连接断开和超时错误。 API 客户端应准备好处理这些问题,就像处理其他外部服务一样,例如,使用重试策略。
提示
API 团队可以在工作区中使用此功能。 工作区提供对 API 及其自己的 API 运行时环境的隔离管理访问权限。
先决条件
若要遵循本文中的步骤,必须在支持容量指标的某个层中有一个 API 管理实例。 有关详细信息,请参阅创建 Azure API 管理实例。
可用容量指标
- v2 层
- 经典层
- 工作区网关
在 v2 层中,有以下指标可用:
网关的 CPU 百分比 - 网关单元使用的 CPU 容量百分比。
网关的内存百分比 - 网关单元使用的内存容量百分比。
这些指标的可用聚合如下所示。
- Avg - API 管理实例的每个单元中跨网关进程使用的容量的平均百分比。
- Max - 使用量最大时网关进程中容量的百分比。
CPU 和内存用量反映以下对象的资源消耗量:
- API 管理数据平面服务(如请求处理)可以包括转发请求或运行策略。
- API 管理的管理平面服务,例如通过 Azure 门户或 Azure 资源管理器应用的管理操作,或者来自开发人员门户的加载操作。
- 选定的操作系统进程,包括在新连接上造成 TLS 握手开销的进程。
- 平台更新,例如实例基础计算资源的 OS 更新。
- 部署的 API 数量(无论是否处于活动状态)都可能会消耗额外的容量。
容量指标行为
在现实生活中,容量指标会受到多种变量的影响,例如:
- 连接模式(是根据请求创建新连接,还是重复使用现有连接)
- 请求和响应的大小
- 在每个 API 中配置的策略数,或发送请求的客户端数。
请求的操作越复杂,要使用的容量就越多。 例如,复杂转换策略消耗的 CPU 比简单的请求转发要高得多。 后端服务响应速度较慢也会增大使用量。
重要
容量指标不是所处理请求数量的直接度量值。
即使未处理任何请求,容量指标也可能会出现间歇性的高峰或大于零的情况。 之所以发生这种情况,是因为存在系统或平台特定的操作。在决定是否缩放实例时,不应考虑这些因素。
尽管容量指标旨在显示 API 管理实例(或工作区网关)的问题,但在某些情况下,这些问题不会反映在这些指标的更改中。 此外,低容量指标并不一定意味着 API 管理实例没有遇到任何问题。
使用 Azure 门户检查容量指标
访问门户中的指标,以了解一段时间内使用了多少容量。
- v2 层
- 经典层
- 工作区网关
- 在 Azure 门户中导航到自己的 API 管理实例。
- 在左侧菜单中的“监视”下,选择“指标”。
- 从可用指标中选择网关的 CPU 百分比或网关的内存百分比指标。 选择默认的 Avg 聚合,或选择 Max 聚合以查看峰值使用情况。
- 从该部分的顶部栏中选择所需的时间范围。
重要
目前,对于 v2 层中的实例,容量指标也显示在门户中。 但是,不支持在 v2 层中使用,并且显示值为 0。
注意
可以设置指标警报,以便在发生意外的情况时收到通知。 例如,当 API 管理实例的 CPU 或内存使用量超出预期峰值超过 20 分钟时,会收到通知。
使用容量做出缩放决策
使用容量指标来决定是缩放 API 管理实例(还是工作区网关),以适应更多的负载。 下面是一般注意事项:
- 查看长期趋势和平均值。
- 忽略往往与负载提高无关的突发高峰(请参阅容量指标行为部分中的说明)。
- 一般规则是,在容量指标值长时间(例如 30 分钟)超过 60% - 70% 时升级或扩展实例。 不同的值可能更适合服务或方案。
- 如果您的实例或工作区网关仅配置了 1 个单元,并且容量指标值长时间超过 40%,则应对其进行升级或扩展。 这项建议的依据是需要为基础服务平台中的来宾 OS 更新预留容量。
提示
如果能够事先估计流量,请在预期的工作负载上测试 API 管理实例或工作区网关。 可以逐步增加请求负载,并监视与峰值负载相对应的容量指标的值。 遵循上一部分中的步骤,使用 Azure 门户了解在任意给定时间使用的容量。
重要
定义自动缩放规则时,请确保避免自动缩放发生波动,这将导致横向缩减/横向扩展循环。 若要了解详细信息,建议阅读 Azure Monitor 自动缩放波动指南。