Azure API 管理实例的容量

适用范围:开发人员 | 基本 | 基本 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 门户检查容量指标

访问门户中的指标,以了解一段时间内使用了多少容量。

  1. Azure 门户中导航到自己的 API 管理实例。
  2. 在左侧菜单中的“监视”下,选择“指标”。
  3. 从可用指标中选择网关的 CPU 百分比或网关的内存百分比指标。 选择默认的 Avg 聚合,或选择 Max 聚合以查看峰值使用情况。
  4. 从该部分的顶部栏中选择所需的时间范围。

重要

目前,对于 v2 层中的实例,容量指标也显示在门户中。 但是,不支持在 v2 层中使用,并且显示值为 0。

注意

可以设置指标警报,以便在发生意外的情况时收到通知。 例如,当 API 管理实例的 CPU 或内存使用量超出预期峰值超过 20 分钟时,会收到通知。

使用容量做出缩放决策

使用容量指标来决定是缩放 API 管理实例(还是工作区网关),以适应更多的负载。 下面是一般注意事项:

  • 查看长期趋势和平均值。
  • 忽略往往与负载提高无关的突发高峰(请参阅容量指标行为部分中的说明)。
  • 一般规则是,在容量指标值长时间(例如 30 分钟)超过 60% - 70% 时升级或扩展实例。 不同的值可能更适合服务或方案。
  • 如果您的实例或工作区网关仅配置了 1 个单元,并且容量指标值长时间超过 40%,则应对其进行升级或扩展。 这项建议的依据是需要为基础服务平台中的来宾 OS 更新预留容量。

提示

如果能够事先估计流量,请在预期的工作负载上测试 API 管理实例或工作区网关。 可以逐步增加请求负载,并监视与峰值负载相对应的容量指标的值。 遵循上一部分中的步骤,使用 Azure 门户了解在任意给定时间使用的容量。

重要

定义自动缩放规则时,请确保避免自动缩放发生波动,这将导致横向缩减/横向扩展循环。 若要了解详细信息,建议阅读 Azure Monitor 自动缩放波动指南