3.2. 扩展 API 服务的主要性能指标
扩展增加了资源来处理增加的负载。这主要通过水平扩展(添加更多 pod 或实例)或垂直扩展(将 CPU 或内存资源添加到 pod 或实例)来实现。正确扩展可确保高可用性,并在负载下保持性能。
当您观察以下一个或多个关键性能指标时,请考虑扩展您的服务,这建议组件会达到其容量,且无法有效地处理当前的请求负载:
- 高 API 延迟
- 高 CPU 使用率
- 在高流量期间发生的错误
3.2.1. 高 API 延迟 复制链接链接已复制到粘贴板!
在 API 请求中保持高延迟是关键性能指示器。所有请求都通过平台网关发出,该网关充当代理并将请求转发到问题中的服务。请求发送到目标服务,具体取决于哪个路由位于 API 请求的 URL 中:
-
平台网关:
/api/gateway -
自动化控制器:
/api/controller -
event-Driven Ansible:
/api/eda -
event-Driven Ansible Event Streams:
/eda-event-streams/api/eda/v1/external_event_stream/ -
Automation hub:
/api/galaxy
通过 Envoy 代理日志监控不同路由上的延迟,您可以识别哪些服务需要扩展。这些路由存在于 OpenShift Container Platform 中的平台网关 pod 的代理容器,或虚拟机安装中的平台网关节点的代理日志中存在。超过目标 API 阈值的延迟(例如,99th percentile >1500ms)表示需要触发警报或扩展 Web 服务。
3.2.2. 高 CPU 使用率 复制链接链接已复制到粘贴板!
当服务的 API pod 显示持续高的 CPU 使用量时,可能无法及时处理传入的请求,从而导致请求积压。以下指示器建议高 CPU 使用率:
- Envoy 代理日志中带有服务的 WSGI 日志的处理时间的高总请求时间
- 高 Envoy 延迟
- 在处理前,请求在队列中等待
3.2.3. 错误代码 复制链接链接已复制到粘贴板!
平台网关的代理容器(在 OpenShift Container Platform 上)或代理日志中的错误消息(用于基于虚拟机的安装和基于容器的安装)表示必须扩展该服务。它们通常由服务过载,无法及时服务请求,通常以更高的延迟为句点。
-
upstream Authentication Failures:
502 UAEX(Upstream Authentication Extension)响应在请求的身份验证阶段指示问题。这意味着身份验证服务过载、超时或返回中断的响应。 -
上游服务 Unhealthy:
503 UH(上游服务 Unhealthy)响应,意味着 Envoy 已将一个或多个服务标记为不健康,且不会将流量发送到该服务。当上游 pod 失败其健康检查时会出现这种情况。由于健康检查与客户端流量共享相同的请求队列,因此无法及时响应健康检查的超载 pod 将从负载平衡池中临时删除。 -
上游连接失败:
503 UF(上游连接失败)代表 Envoy 尝试联系上游 pod,但连接失败。如果上游服务无法接受新连接,则会出现这种情况。有关 Envoy 响应标记的更多信息(遵循HTTP响应代码的字母代码),请参阅访问日志记录。