perf(acceptance): 将 API 连接池提升至 64
P24 千并发在 API Pool 48 下仍出现 acquired 接近上限及 canceled acquire 增长,而 Worker Pool 仅使用 3 条连接,PostgreSQL 实际连接数仍有安全余量。 将生产 API Pool 默认值提升至 64,并允许通过 AI_GATEWAY_ACCEPTANCE_API_DATABASE_MAX_CONNS 配置单次验收;Worker 档位与 min-idle=4 保持不变。 验证:bash -n、ShellCheck、kubectl kustomize 和 git diff --check 通过。
This commit is contained in:
@@ -19,7 +19,7 @@ source "$config_file"
|
||||
: "${AI_GATEWAY_ASYNC_WORKER_INSTANCE_HARD_LIMIT:=24}"
|
||||
: "${AI_GATEWAY_ASYNC_WORKER_HARD_LIMIT:=48}"
|
||||
: "${AI_GATEWAY_DATABASE_MAX_CONNS:=32}"
|
||||
: "${AI_GATEWAY_API_DATABASE_MAX_CONNS:=48}"
|
||||
: "${AI_GATEWAY_API_DATABASE_MAX_CONNS:=64}"
|
||||
: "${AI_GATEWAY_DATABASE_MIN_IDLE_CONNS:=4}"
|
||||
: "${AI_GATEWAY_MEDIA_MATERIALIZATION_CONCURRENCY:=24}"
|
||||
: "${AI_GATEWAY_MEDIA_REQUEST_CONCURRENCY:=24}"
|
||||
|
||||
@@ -10,7 +10,7 @@ AI_GATEWAY_WORKER_REPLICAS_HONGKONG=1
|
||||
AI_GATEWAY_ASYNC_WORKER_INSTANCE_HARD_LIMIT=24
|
||||
AI_GATEWAY_ASYNC_WORKER_HARD_LIMIT=48
|
||||
AI_GATEWAY_DATABASE_MAX_CONNS=32
|
||||
AI_GATEWAY_API_DATABASE_MAX_CONNS=48
|
||||
AI_GATEWAY_API_DATABASE_MAX_CONNS=64
|
||||
AI_GATEWAY_DATABASE_MIN_IDLE_CONNS=4
|
||||
AI_GATEWAY_MEDIA_MATERIALIZATION_CONCURRENCY=24
|
||||
AI_GATEWAY_MEDIA_REQUEST_CONCURRENCY=24
|
||||
|
||||
@@ -53,7 +53,7 @@ spec:
|
||||
- name: AI_GATEWAY_ASYNC_QUEUE_WORKER_ENABLED
|
||||
value: "false"
|
||||
- name: AI_GATEWAY_DATABASE_MAX_CONNS
|
||||
value: "48"
|
||||
value: "64"
|
||||
- name: AI_GATEWAY_DATABASE_MIN_IDLE_CONNS
|
||||
value: "4"
|
||||
- name: AI_GATEWAY_MEDIA_REQUEST_CONCURRENCY
|
||||
@@ -184,7 +184,7 @@ spec:
|
||||
- name: AI_GATEWAY_ASYNC_QUEUE_WORKER_ENABLED
|
||||
value: "false"
|
||||
- name: AI_GATEWAY_DATABASE_MAX_CONNS
|
||||
value: "48"
|
||||
value: "64"
|
||||
- name: AI_GATEWAY_DATABASE_MIN_IDLE_CONNS
|
||||
value: "4"
|
||||
- name: AI_GATEWAY_MEDIA_REQUEST_CONCURRENCY
|
||||
|
||||
@@ -80,7 +80,8 @@ 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 Pod 使用独立发布配置 `AI_GATEWAY_API_DATABASE_MAX_CONNS`,生产同构验收默认使用 `64`;
|
||||
也可通过 `AI_GATEWAY_ACCEPTANCE_API_DATABASE_MAX_CONNS` 覆盖本次验收值,无需修改 Go 代码。
|
||||
所有 API/Worker Pool 的 `AI_GATEWAY_DATABASE_MIN_IDLE_CONNS` 固定为 `4`,仅预热必要连接,
|
||||
其余连接按负载弹性创建,避免四个 Pod 在空闲时就占满 PostgreSQL 连接预算。各档表中的
|
||||
数据库池仍表示单个 Worker 的最大连接数。
|
||||
|
||||
@@ -51,9 +51,15 @@ require_commands curl git jq node openssl sed
|
||||
: "${AI_GATEWAY_ACCEPTANCE_USER_ID:?}"
|
||||
: "${AI_GATEWAY_ACCEPTANCE_GEMINI_MODEL:=}"
|
||||
: "${AI_GATEWAY_ACCEPTANCE_VIDEO_MODEL:=}"
|
||||
: "${AI_GATEWAY_ACCEPTANCE_API_DATABASE_MAX_CONNS:=64}"
|
||||
: "${AI_GATEWAY_ACCEPTANCE_GATEWAY_TLS_SERVER_NAME:=}"
|
||||
: "${AI_GATEWAY_ACCEPTANCE_GATEWAYS:?}"
|
||||
: "${AI_GATEWAY_ACCEPTANCE_REAL_IMAGE_URLS:?}"
|
||||
[[ $AI_GATEWAY_ACCEPTANCE_API_DATABASE_MAX_CONNS =~ ^[1-9][0-9]*$ &&
|
||||
$AI_GATEWAY_ACCEPTANCE_API_DATABASE_MAX_CONNS -le 256 ]] || {
|
||||
echo 'AI_GATEWAY_ACCEPTANCE_API_DATABASE_MAX_CONNS must be between 1 and 256' >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
node "$cluster_root/scripts/release-manifest.mjs" validate "$release_manifest" >/dev/null
|
||||
release_sha=$(node "$cluster_root/scripts/release-manifest.mjs" get "$release_manifest" sourceSha)
|
||||
@@ -667,7 +673,7 @@ mark_run_failed() {
|
||||
apply_capacity_profile() {
|
||||
local profile=$1
|
||||
local slots pool media global
|
||||
local api_pool=48
|
||||
local api_pool=$AI_GATEWAY_ACCEPTANCE_API_DATABASE_MAX_CONNS
|
||||
local min_idle=4
|
||||
case $profile in
|
||||
P24) slots=24; pool=32; media=24; global=48 ;;
|
||||
@@ -899,7 +905,7 @@ wait_for_memory_recovery() {
|
||||
|
||||
verify_runtime_gates() {
|
||||
local expected_slots expected_global expected_pool
|
||||
local expected_api_pool=48
|
||||
local expected_api_pool=$AI_GATEWAY_ACCEPTANCE_API_DATABASE_MAX_CONNS
|
||||
case $active_profile in
|
||||
P24) expected_slots=24; expected_pool=32; expected_global=48 ;;
|
||||
P28) expected_slots=28; expected_pool=36; expected_global=56 ;;
|
||||
|
||||
Reference in New Issue
Block a user