![[Bug]: Significant performance regression after upgrading from 1.80.5 to 1.81.x (UI + API slowness)](https://www.chat-gpts.plus/wp-content/uploads/2026/06/19921-01def1f2.jpg)
[Bug]: Significant performance regression after upgrading from 1.80.5 to 1.81.x (UI + API slowness)
快速结论:该问题发生在将 LiteLLM Proxy 从 v1.80.5 升级到 v1.81.0 或 v1.81.3 后,导致整个 UI 和后端 API(如登录、模型加载、虚拟密钥加载、MCP 工具、内部用户列表等)显著变慢,部分管理 API 响应时间从约 300ms 恶化到 30 秒。优先排查是否为 1.81.x 版本中引入的性能回归,可尝试降回 v1.80.5 并注意数据库兼容问题。
问题场景
用户在使用 LiteLLM Proxy 时,将版本从 v1.80.5 升级到 v1.81.x(包括 v1.81.0 和 v1.81.3)。环境中包含 50 个内部用户、200 个模型,连接至 PostgreSQL 数据库,每秒约 10 个请求(10 RPS),并开启了回调至 Langfuse OTEL 以及 shuffle routing。升级后,UI 和管理 API 端点(如 /user/list)出现全面性能下降,但容器 CPU/内存以及数据库利用率未见明显异常。
部分用户反馈在调用 /v1/embeddings 端点进行数据索引时,CPU 飙升至 100% 并影响其他请求(包括 /v1/completions 和 UI 操作)。另有用户报告降级回 v1.80.5 后遇到数据模型不兼容问题,导致花费日志写入失败。
报错原文
DB read/write call failed: Error occurred during query execution: ConnectorError(ConnectorError {
user_facing_error: None,
kind: QueryError(PostgresError {
code: "42P10",
message: "there is no unique or exclusion constraint matching the ON CONFLICT specification",
severity: "ERROR",
detail: None,
column: None,
hint: None
}),
transient: false
})[Non-Blocking]
LiteLLM Prisma Client Exception - update spend logs: Error occurred during query execution: ConnectorError(ConnectorError {
user_facing_error: None,
kind: QueryError(PostgresError {
code: "42P10",
message: "there is no unique or exclusion constraint matching the ON CONFLICT specification",
severity: "ERROR",
detail: None,
column: None,
hint: None
}),
transient: false
})
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/litellm/proxy/db/db_spend_update_writer.py", line 1014, in update_daily_spend
async with prisma_client.db.batch() as batcher:
File "/usr/lib/python3.13/site-packages/prisma/client.py", line 874, in aexit
await self.commit()
File "/usr/lib/python3.13/site-packages/prisma/client.py", line 850, in commit
await self.__client._engine.query( ...... )
File "/usr/lib/python3.13/site-packages/prisma/engine/query.py", line 244, in query
return await self.r
(注:以上错误是在降级回 v1.80.5 后出现的数据库不兼容问题,非 v1.81.x 本身报错,但相关于版本切换。)
原因分析
可能原因:
- LiteLLM v1.81.x 中引入的性能回归,尤其是涉及数据库查询或回调处理的代码变更,导致管理 API 和部分处理(如 embeddings)响应变慢。Issue 讨论中用户确认其他版本(v1.80.5)正常,且容器和数据库资源未出现瓶颈。
- 降级到 v1.80.5 时,由于数据库 schema 或数据模型变更,导致 Prisma 在执行
ON CONFLICT更新花费日志时因缺少唯一约束而失败。这说明 v1.81.x 可能修改了表结构,降级后不兼容。 - 回调至 Langfuse OTEL 可能加剧了性能问题,但用户报告即使禁用后某些场景下性能仍未完全恢复,因此可能不是根本原因。
环境排查
- LiteLLM 版本:确认当前版本(v1.80.5、v1.81.0 或 v1.81.3)。
- 数据库:PostgreSQL 版本及 Prisma schema 是否匹配当前 LiteLLM 版本。
- 回调配置:是否开启了 Langfuse OTEL 或其他回调组件。
- 路由策略:是否使用了 shuffle routing 或其他复杂路由。
- 系统资源:容器 CPU 和内存使用率、数据库连接数和查询延迟。
- 依赖版本:Python 版本、Prisma 客户端版本等。
解决步骤
- 可优先尝试:降级回 v1.80.5。 这是 Issue 中用户验证有效的临时方案。注意降级前备份数据库,或准备重建表结构以兼容旧版本。
- 如果降级后遇到数据库约束错误(如
42P10),可能需要手动修改数据库,为目标表(如LiteLLM_SpendLog)添加相应的唯一约束,或重建表。 - 尝试暂时禁用回调(如 Langfuse OTEL),测试性能是否有改善。如果禁用后恢复,可将回调作为高优排查点。
- 如果必须使用 v1.81.x,建议关注官方后续修复版本(如 v1.81.4+),并在升级前先在测试环境验证。
- 检查 LiteLLM 的日志和 Prisma 查询日志,确认是否有异常慢查询或数据库死锁。
验证方法
在相同环境(相同用户量、模型数、请求负载)下,用 v1.80.5 和 v1.81.x 分别测试以下场景,对比 API 响应时间:
- 登录流程(
/auth/login或类似端点)。 - 加载模型列表(
/models或管理 UI)。 - 加载虚拟密钥列表。
- 内部用户列表 API(如
/user/list)。 /v1/embeddings端点在高负载下的响应时间及 CPU 利用率。
若降级到 v1.80.5 后性能恢复正常,且数据写入无错误,则确认问题已解决。



