From 580f84f56931f4cfa393165035d2cc2158fdbeff Mon Sep 17 00:00:00 2001 From: wangbo Date: Fri, 31 Jul 2026 09:39:23 +0800 Subject: [PATCH] =?UTF-8?q?perf(acceptance):=20=E8=A7=A3=E8=80=A6=20API=20?= =?UTF-8?q?=E5=AA=92=E4=BD=93=E8=AF=B7=E6=B1=82=E5=B9=B6=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 生产同构验收将 API 请求体并发独立配置为 AI_GATEWAY_ACCEPTANCE_API_MEDIA_REQUEST_CONCURRENCY,默认每个 API 128;Worker 执行槽和媒体物化仍按 P24/P28/P32 阶梯变化。\n\n这避免同步 Gemini 请求在整个任务生命周期占用仅 24/28/32 个入口槽,并继续由 RSS 与节点内存门禁验证安全上限。\n\n验证:bash -n;shellcheck -x;git diff --check。 --- scripts/cluster/run-production-acceptance.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/cluster/run-production-acceptance.sh b/scripts/cluster/run-production-acceptance.sh index 7eca470..2658ba5 100755 --- a/scripts/cluster/run-production-acceptance.sh +++ b/scripts/cluster/run-production-acceptance.sh @@ -29,6 +29,7 @@ Optional model overrides (otherwise selected from current production candidates) AI_GATEWAY_ACCEPTANCE_VIDEO_MODEL AI_GATEWAY_ACCEPTANCE_GATEWAY_TLS_SERVER_NAME AI_GATEWAY_ACCEPTANCE_IDENTITY_SHARDS + AI_GATEWAY_ACCEPTANCE_API_MEDIA_REQUEST_CONCURRENCY EOF } @@ -53,6 +54,7 @@ require_commands curl git jq node openssl sed : "${AI_GATEWAY_ACCEPTANCE_GEMINI_MODEL:=}" : "${AI_GATEWAY_ACCEPTANCE_VIDEO_MODEL:=}" : "${AI_GATEWAY_ACCEPTANCE_API_DATABASE_MAX_CONNS:=64}" +: "${AI_GATEWAY_ACCEPTANCE_API_MEDIA_REQUEST_CONCURRENCY:=128}" : "${AI_GATEWAY_ACCEPTANCE_IDENTITY_SHARDS:=32}" : "${AI_GATEWAY_ACCEPTANCE_GATEWAY_TLS_SERVER_NAME:=}" : "${AI_GATEWAY_ACCEPTANCE_GATEWAYS:?}" @@ -62,6 +64,11 @@ require_commands curl git jq node openssl sed echo 'AI_GATEWAY_ACCEPTANCE_API_DATABASE_MAX_CONNS must be between 1 and 256' >&2 exit 1 } +[[ $AI_GATEWAY_ACCEPTANCE_API_MEDIA_REQUEST_CONCURRENCY =~ ^[1-9][0-9]*$ && + $AI_GATEWAY_ACCEPTANCE_API_MEDIA_REQUEST_CONCURRENCY -le 1024 ]] || { + echo 'AI_GATEWAY_ACCEPTANCE_API_MEDIA_REQUEST_CONCURRENCY must be between 1 and 1024' >&2 + exit 1 +} [[ $AI_GATEWAY_ACCEPTANCE_IDENTITY_SHARDS =~ ^[1-9][0-9]*$ && $AI_GATEWAY_ACCEPTANCE_IDENTITY_SHARDS -le 128 ]] || { echo 'AI_GATEWAY_ACCEPTANCE_IDENTITY_SHARDS must be between 1 and 128' >&2 @@ -897,7 +904,7 @@ apply_capacity_profile() { "AI_GATEWAY_DATABASE_MIN_IDLE_CONNS=$min_idle" \ "AI_GATEWAY_DATABASE_MAX_CONN_IDLE_SECONDS=$max_idle_seconds" \ "AI_GATEWAY_MEDIA_MATERIALIZATION_CONCURRENCY=$media" \ - "AI_GATEWAY_MEDIA_REQUEST_CONCURRENCY=$media" >/dev/null + "AI_GATEWAY_MEDIA_REQUEST_CONCURRENCY=$AI_GATEWAY_ACCEPTANCE_API_MEDIA_REQUEST_CONCURRENCY" >/dev/null remote_kubectl rollout status "deployment/easyai-api-$site" \ -n "$namespace" --timeout=300s done