perf(postgres): 分离 API 池并降低连接预热
生产同构千并发请求在干净队列上复现 API Pool 31/32、idle=1 且 canceled acquire 持续增长,Worker Pool 仅使用少量连接,确认瓶颈位于 API 数据库连接预算而非 Worker 执行槽。 新增可配置的 AI_GATEWAY_DATABASE_MIN_IDLE_CONNS,生产仅预热 4 条连接;API Pool 独立固定为 48,Worker Pool 继续跟随 P24/P28/P32 的 32/36/40 档位。发布工具、Kubernetes 清单、验收门禁和文档同步更新。 验证:Go 全量测试、gofmt、bash -n、ShellCheck、kubectl kustomize 和 git diff --check 通过。
This commit is contained in:
@@ -64,6 +64,7 @@ WebP 和 4K 图片。128 组输入组合避免只命中相同缓存;每四个
|
||||
```text
|
||||
AI_GATEWAY_ASYNC_WORKER_INSTANCE_HARD_LIMIT
|
||||
AI_GATEWAY_DATABASE_MAX_CONNS
|
||||
AI_GATEWAY_DATABASE_MIN_IDLE_CONNS
|
||||
AI_GATEWAY_MEDIA_MATERIALIZATION_CONCURRENCY
|
||||
AI_GATEWAY_MEDIA_REQUEST_CONCURRENCY
|
||||
AI_GATEWAY_WORKER_REPLICAS_NINGBO
|
||||
@@ -79,6 +80,11 @@ AI_GATEWAY_WORKER_REPLICAS_HONGKONG
|
||||
| P28 | 28 | 36 | 28 | 56 |
|
||||
| P32 | 32 | 40 | 32 | 64 |
|
||||
|
||||
API Pod 使用独立发布配置 `AI_GATEWAY_API_DATABASE_MAX_CONNS`,生产同构验收固定为 `48`。
|
||||
所有 API/Worker Pool 的 `AI_GATEWAY_DATABASE_MIN_IDLE_CONNS` 固定为 `4`,仅预热必要连接,
|
||||
其余连接按负载弹性创建,避免四个 Pod 在空闲时就占满 PostgreSQL 连接预算。各档表中的
|
||||
数据库池仍表示单个 Worker 的最大连接数。
|
||||
|
||||
每档依次运行全部五个模拟 Profile 三次。失败时恢复上一个已完整通过的档位,流量保持
|
||||
`validation`,不会自动放开正式请求。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user