跳转到主要内容

为什么你的数据库在AI功能上线后崩溃:LLM感知的连接池设计

阅读需 1 分钟Tian PanTian Pan

在AI功能上线之前,你的连接池一直运行良好。登录正常,仪表板加载顺畅,CRUD操作以个位数毫秒的延迟稳定运行。然后团队部署了一个RAG驱动的搜索、一个Agent驱动的工作流,或者一个LLM支持的摘要端点——几个小时内,你的核心产品开始超时。数据库并没有变慢,你的连接池只是被一种它从未被设计来处理的工作负载吞噬了。

这就是LLM连接池问题,随着AI功能从原型走向生产环境,它正在影响整个行业的团队。解决方案不是"增加更多连接"。事实上,这通常会让事情变得更糟。

根本性的不匹配:Web流量 vs AI工作负载

传统连接池是为Web应用流量设计的:短暂的请求获取一个连接,执行一个快速查询(通常1-10ms),然后释放它。一个20个连接的池可以轻松地每秒处理数百个请求,因为每个连接只被持有很短的时间窗口。

AI驱动的功能打破了这个模型所依赖的每一个假设。

一个RAG检索管道可能需要持有一个连接进行向量相似度搜索(50-200ms),然后再次持有它进行元数据查找,然后再次用于上下文窗口组装查询——这一切都发生在LLM开始生成token之前。Agent工作流更糟糕:它可能在多步推理链中执行5-15个数据库操作,在数秒而非毫秒的时间跨度内间歇性地持有连接。

数学算不过来了。如果你的平均连接持有时间从5ms跳到500ms,你的有效池吞吐量下降了100倍。那些每秒处理400个请求的20个连接现在只能处理4个。你的排队队列填满,超时级联扩散,而登录页面——只需要一个2ms的查询——因为所有连接都被一个正在决定下一步做什么的Agent占用而无法获得连接。

AI工作负载摧毁连接池的三种方式

扇出放大

AI功能中的单个用户操作通常会触发数据库查询的扇出。用户提出一个问题,在后台系统运行嵌入查找、检索10个候选文档、获取每个文档的元数据、检查访问权限、加载对话历史并写入审计日志。对负载均衡器来说看起来像一个请求的东西,实际上是15-20个数据库操作,每个都需要一个连接。

传统Web端点有可预测的扇出比率——通常每个请求1:1到1:3个查询。AI端点通常达到1:10或更高。当你乘以并发用户数时,连接需求的峰值是非线性的。十个并发AI请求不需要10个连接;它们需要150个。

外部调用期间持有连接

这是最隐蔽的模式。许多实现在等待LLM API响应时保持数据库连接打开——这个调用需要1-30秒。开发者并非有意为之;这是因为数据库查询和LLM调用在同一个事务、同一个请求处理器或同一个ORM会话范围内。

一个在LLM调用期间持有10秒的连接,意味着2000个正常查询无法使用这个连接。如果你的池有25个连接,其中5个卡在等待LLM响应上,你已经失去了20%的容量给本质上的空闲等待。

重试放大

AI功能比传统端点更容易失败。LLM超时、向量数据库没有返回结果、Agent的工具调用遇到速率限制。当这些失败触发重试时——它们几乎总是会——每次重试都会重新执行整个数据库扇出。一个带有3次重试和10个查询扇出的单个失败AI请求会产生40个数据库操作而不是10个。

结合更长的持有时间,重试放大会产生惊群效应。池已经处于压力之下,重试堆积更多负载,检出超时增加,这又触发更多上游重试,突然你陷入了一个反馈循环,导致整个应用程序崩溃——不仅仅是AI功能。

连接池分段:核心架构模式

解决方案不是更大的池。而是分离的池。连接池分段将AI工作负载与核心产品隔离,使一方无法饿死另一方。

最简单的版本使用两个池:

  • 核心池:专门为现有产品保留。登录、仪表板查询、CRUD操作。这个池有保证的最小连接数,任何AI工作负载都无法触及。
  • AI池:专用于LLM驱动的功能。这个池有自己的限制、自己的超时和自己的熔断器。如果它耗尽了,AI功能降级——但核心产品继续运行。

在实践中,这意味着你的AI服务层获得一个指向独立PgBouncer实例的单独数据库连接字符串(或同一个连接池中配置了独立限制的单独池)。AI池可能有default_pool_size = 15和激进的server_idle_timeout,而核心池有default_pool_size = 30和标准设置。

一些团队更进一步采用三层分段:核心、AI读取(用于检索和嵌入查找)和AI写入(用于审计日志、对话历史、反馈存储)。这可以防止突发的写密集型Agent活动阻塞依赖读取的检索管道。

准入控制:缺失的一环

连接池分段告诉你哪个池处理哪种工作负载。准入控制告诉你是否接受这个请求。

会员专享

余下内容仅对会员开放。

会员可读完整内容 —— 每一个公开发布的观点背后,那些框架、决策与推理的全貌。

  • 完整文章,包含未公开存档的部分
  • 可落地的工作框架,附带权衡与决策依据
  • 新文章抢先看,先于公开发布

随时取消 · 一次订阅,畅读全部

参考资料

保持联系,关注我获取更多内容

阅读需 9 分钟

数据库连接池:AI 流水线中被忽视的性能瓶颈

AI 工作负载打破了标准连接池容量规划的所有假设。本文梳理背后的数学原理、常见故障模式,以及真正有效的解决方案。

insider
ai-engineering
阅读需 10 分钟

现在,推理速度已经快过你的数据库了

模型在请求延迟中所占的份额已经大幅下降。你自己的特征存储、身份验证和 Postgres 调用现在成了性能的长尾——而大多数 AI 架构甚至还没察觉到这一点。

insider
ai-infrastructure
阅读需 11 分钟

你的 AI 聊天记录即证据:法律保存指令下的 LLM 产品保留设计

聊天日志属于 ESI。你需要设计四层保留机制,在真正需要之前建立法律保存注册表,并在数据摄入时标记出处 —— 否则你将在电子取证过程中为补全这些架构付出惨重代价。

insider
ai-infrastructure
阅读需 8 分钟

分析 LLM 流水线:推理之外的性能瓶颈

大多数 LLM 流水线的延迟并不发生在推理阶段。本文将详细分析真正的瓶颈——预处理、重复分词、同步检索、序列化——以及如何通过分阶段追踪使它们可见。

insider
llm
阅读需 10 分钟

内部 LLM 网关是新一代 Service Mesh

当团队达到 50 名工程师规模时,每个团队都会拙劣地重造同一个 LLM 网关。本文探讨为什么这种模式不断出现,哪些功能应该集中化、哪些应该留在边缘,以及如何解决内部的博弈冲突。

insider
llm-gateway