基于 AI 网关提升大模型应用可用性的实践

作者:桂楚

随着 LLM 服务广泛部署,服务的可用性和流量治理面临新的可靠性要求。由于 LLM 服务参数量级限制,其服务部署和重启时间较长,如果服务因为过载而故障,则重启时间达到分钟级,对服务可用性影响极大。

阿里云 AI 网关提供了多来源 LLM 服务的代理功能,不仅可以通过简单易用的配置对 LLM 服务进行代理,同时提供了丰富的 LLM 服务入口流量治理功能,提高 LLM 服务的可观测性和可用性。对于自部署的 LLM 服务,传统网关的检测和过载保护机制往往滞后,阿里云 AI 网关提供了一系列如被动健康检测、首包超时和 fallback 等高可用机制,通过合理配置,能够实现对LLM服务的过载状态实时检测和及时保护。

问题场景

用户流量具有突发性和不确定性特点,若用户流量激增产生流量尖峰,会对 LLM 服务产生的可用性造成较大影响,例如,LLM 服务同时处理大量请求造成生成响应时间过长,造成用户体验降低,甚至因为 LLM 服务显存受限,在同时处理大量请求时,会因为显存被打满而挂掉。

如下图所示,这里模型类别 选择 DeepSeek-R1-Distill-Qwen-7B,资源类型选择 ml.gu7i.c8m30.1-gu30,具有 24G 显存。

图 1

图 2

查看部署的 LLM 服务 GPU 占用率,已经达到 99%。

图 3

用户请求激增时,可以看到首包 RT 随者请求数而增加,说明 LLM 服务的负载压力也在逐渐增加。

图 4

在没有开启相关 LLM 高可用能力情况下,用户并发流量最终超出 LLM 服务可承受能力而挂掉,重启时间在 3 分钟左右,此时间段内都无法提供服务。

图 5

阿里云 AI 网关 LLM 服务高可用保障

Fallback 机制

基于 Fallback 机制,实现当主用 LLM 服务不可用时兜底到备用 LLM 服务,是 AI 网关上做 LLM 服务高可用方案最基础的方式。下面以一个 AI 网关客户中最常见的用例 举例:当在阿里云上自建 LLM 模型 不可用时基于 AI 网关的 Fallback 机制 兜底到阿里云百炼

在阿里云 AI 网关 新建自己的网关实例,进入服务 选项卡,点击创建服务 按钮,服务来源选择 AI 服务大模型供应商 选择 PAI-EAS ,然后 AI 网关能够自动识别已创建的 PAI-EAS 服务,通过选择工作空间 和指定的 EAS 服务,LLM API-KEY 会自动从 PAI 获取,点击确定后服务创建成功。

图 6

然后选择 LLM API 选项卡,点击创建 LLM API 按钮,LLM 服务-服务列表 选中刚刚创建的服务,填写基本信息,并开启 fallback ,选择百炼作为 fallback 备用服务,点击确定后 LLM API 创建成功。

图 7

点击 LLM API 操作选项中调试,可以在 AI 网关上快速开启对话,响应正常从 AI 网关到达后端 PAI-EAS 服务,并返回响应。

图 8

然后在 PAI-EAS 中选择中止流量,可以模拟后端服务异常情况。

图 9

此时用户发送对话请求,由于 PAI-EAS 上部署的主服务不可用,请求自动 fallback 到备用服务百炼,返回响应中说明处理模型为 qwen,保障了服务可用性。

图 10

被动健康检测和首包超时

对于自建 LLM 的场景来说,在流量突增场景下,因为资源不足,GPU 瞬间打满的情况,仅使用 LLM 服务的 fallback 机制做事后防护是不够的。这种场景一方面可以使用 AI 网关的并发和限流防护,另一方面可以结合被动健康监测和首包超时机制,进行事前防护。

服务响应时间能够反映大模型此时负载情况,即通过首包超时配置,能够在首包响应时间过长时候让用户请求快速失败快速重试,同时保障用户体验;而当请求失败率过高时候,会触发被动健康检查及时移除后端服务节点,对 LLM 服务进行过载保护;当服务节点被全部移除,则可以将请求 fallback 到备用服务实现服务持续可用。

下面的用例展示了在用户流量突增场景下,阿里云 AI 网关保障了 LLM 服务的可用性。

首先在刚刚创建的服务 选择健康检查配置 ,选择开启 被动健康检查,然后将失败率阈值 配置为 50,表示服务节点请求失败率达到 50% 会被标记为故障节点并移除,检测间隔时间 配置为 1s,表示每1s计算一次请求失败率,基础弹出时间配置为 30s,表示节点被移除的基础时间为 30s。

图 11

在刚刚创建的 Model API 点击编辑,在大模型服务 配置最下面配置首包超时时间为 200ms,表示首包时间超过 200ms 时会触发超时,并返回请求失败。

图 12

具体配置和含义见下表。

配置名 配置值 字段含义
失败率阈值 50 当某节点失败请求占比达到此阈值,系统将触发该节点的弹出机制。
检测间隔时间 1s 每隔指定时间(如 30 秒)计算节点的请求失败率。
基础间隔时间 30s 节点被弹出后的初始隔离时长(如 30 秒)。隔离时间计算公式:k * base_ejection_time(k 初始值为1),每次弹出会延长隔离时间(k 加一),若连续检测正常则逐步缩短隔离时间(k 减一)。
首包超时 200ms 首个数据包响应时间超过指定时间触发超时,请求失败。

开启被动健康检测和首包超时相关后,在流量激增时候,可以发现由于 LLM 过载导致首包时间过长,用户请求大量失败,失败率超过被动健康检查阈值,最后主服务节点(PAI-EAS)由于过载被移除,此时请求被全部转发到备用服务(通义千问)进行处理,在一段时间后,主服务恢复健康重新加入提供服务,在此过程中,首包 RT 在持续增长后达到高峰,之后主服务过载而处于不健康状态,在主服务重新提供正常服务后,首包 RT 下降并维持稳定,主服务持续存活。

图 13

关于 Higress AI 网关的更多信息,欢迎参加云栖大会第三天 AI 中间件分论坛,D1-3

相关推荐
玉鸯12 小时前
多 Agent 系统通信的实现原理与最佳实践
llm·agent·mcp
TunerT_TQ13 小时前
Valhalla 静态工程审阅 #009|Continue 源码证据驱动评测【大厂开源基础设施特辑】
vscode·测试工具·开源·llm·github·jetbrains·ai编程助手
weixin_4713830314 小时前
01 LLM简介
llm
元Y亨H21 小时前
LangChain API 调用语言模型
langchain·llm
元Y亨H21 小时前
大模型技术 LangChain 概述
langchain·llm
元Y亨H21 小时前
大模型技术 提示词模板 概述
langchain·llm
元Y亨H1 天前
大模型技术 模型调用结果解析 概述
google·langchain·llm
元Y亨H1 天前
大模型技术 Ollama 概述
llm·ollama
chaors1 天前
DeepResearchSystem 0x06:LLM as Judge
llm·agent·ai编程
武子康1 天前
GPT-5.6 Luna 降价 80%:Agent 真正该重算的是单次成功成本
人工智能·chatgpt·llm