perf(gpu): mezzanine relay直传跳过公网OSS(-18s), preset veryfast(-38%), 修复CI staging IP #2063
Reference in New Issue
Block a user
Delete Branch "fix/gpu-mezzanine-relay-transport"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
核心优化
1. GPU mezzanine relay 直传(短视频GPU真正快起来的关键)
旧流程(慢):CPU ultrafast → 上传公网OSS → P4000下载 → nvenc → relay回传 → worker下载
新流程(快):CPU ultrafast → PUT到relay(:8092 Tailscale内网,~1s) → P4000从relay GET → nvenc → relay回传 → worker下载
跳过公网OSS上传+下载两次往返,节省18-20s固定延迟。relay上传失败自动fallback到OSS。
apps/api/app/api/routes/gpu_relay.py:新增/mezzanine/{key}4个接口(PUT/GET/HEAD/DELETE),复用token鉴权,原子写入packages/shared/gpu_encoder.py:新增_upload_file_put()通过HTTP PUT上传mezzanine到relay;默认transport=relay,失败fallback到OSSpackages/config/base.py:新增GPU_ENCODE_MEZZANINE_TRANSPORT(relay|oss),默认relay2. CPU编码preset fast→veryfast
packages/shared/ffmpeg_utils.py默认值3. 修复CI staging部署打偏
.gitea/workflows/ci-pipeline.yml和scripts/ci_staging_healthcheck.sh默认值Benchmark(staging 4vCPU Xeon Platinum, 60s 1280x720, CRF=23)
风险
🚀 预览环境已部署
## GPU mezzanine relay直传(核心优化) - 新增 relay /mezzanine/{key} 接口(PUT/GET/HEAD/DELETE),复用token鉴权 - gpu_encoder 默认走 relay PUT 上传 mezzanine(Tailscale/Docker内网,~1s完成) - relay上传失败自动fallback到公网OSS,兼容未配Tailscale的环境 - P4000 从 relay_base_url(:8092) GET mezzanine,跳过OSS下载 - 节省公网OSS上传+下载18-20s固定延迟,短视频(1min)GPU路径终于比CPU快 - 新增 GPU_ENCODE_MEZZANINE_TRANSPORT 配置(relay|oss),默认relay ## CPU编码preset - FFMPEG_ENCODE_PRESET 默认 fast→veryfast,60s720p CPU编码32s→20s(~38%提速) ## CI staging部署修复 - STAGING_SSH_HOST 默认值恢复为 116.62.226.203(真实staging机,DNS指向的机器) - STAGING_SSH_PORT 默认值 22222→22 - scripts/ci_staging_healthcheck.sh 同步更新 - 注:47.98.113.167 是prod机,之前误设为staging目标导致部署打偏e34598aab0to4416400f16🗑️ 预览环境已清理
PR #2063 已关闭或合并,对应的预览环境已被清理。