Skip to content

性能配置

管理后台 → 系统设置 → 性能配置

网关吞吐层的保护性参数:四级 QPS 限流、并发上限、超时、缓存与日志批量写入。界面按 8 个分组平铺展示。

QPS 限制

每个 API 请求同时经过四级限流检查(一次 Redis 原子操作完成),任一级超限即返回 429:

配置项默认值说明
global_qps_limit 系统级 QPS 上限10000整个平台每秒总请求数,保护实例总容量的总闸
tenant_qps_limit 租户级 QPS 上限1000单个租户每秒请求数,防单租户占满全站
user_qps_limit 用户级 QPS 上限100单个用户每秒请求数
key_qps_limit Key 级 QPS 上限60单个 API Key 每秒请求数,最细粒度

四级全部 0 表示不限制。修改后约 5 秒内生效(限流配置快照周期)。

配置思路

从细到粗逐级放宽:Key 级管住单个程序异常刷量 → 用户级管住单人 → 租户级是售卖配额的体现 → 系统级按硬件容量设。数值上应满足 Key ≤ 用户 ≤ 租户 ≤ 系统的数量级递增。

并发限制

配置项默认值说明
global_concurrency_limit 系统级并发上限1000预留项:当前版本未接入,全平台并发不受此值约束
tenant_concurrency_limit 租户级并发上限0单租户同时进行中的请求数(含流式长连接),0 不限制。与 QPS 互补:QPS 管频率,并发管瞬时占用

长流式请求多的平台要设并发

对话流式响应动辄持续数十秒,只限 QPS 时大量慢请求会堆积连接。给租户设并发上限(如 50–200)能防连接积压拖垮实例。

超时设置

配置项默认值说明
request_timeout_seconds 请求超时(秒)120预留项:非流式请求超时,当前版本未接入
streaming_timeout_seconds 流式超时(秒)300预留项:流式响应最长持续时间,当前版本未接入

缓存设置

配置项默认值说明
cache_enabled 启用缓存预留项:API Key 缓存开关,当前版本缓存始终启用
cache_ttl_seconds 缓存过期时间(秒)300预留项:API Key 缓存有效期,当前版本未接入

API Key 鉴权缓存的存在意义:每个转发请求都要校验 Key,直接查库会把数据库打爆。上述两项接入前,缓存参数由内置默认值管理。

批量写入

配置项默认值说明
batch_write_size 批量写入大小64预留项:日志批量写入条数,当前版本由内置默认值管理
batch_write_interval_ms 批量写入间隔(ms)1000预留项:日志批量落库周期,当前版本由内置默认值管理

渠道调度

配置项默认值说明
channel_affinity_ttl 渠道亲和性 TTL(秒)300预留项:同 Key 请求在 TTL 内倾向复用同一渠道,当前版本未接入
auto_test_interval 渠道自动测试间隔(秒)300预留项:渠道健康探测周期,当前版本由渠道配置的自动探测任务按内置节奏执行

沙箱模式

Playground(租户控制台的调试对话)的额度控制:

配置项默认值说明
sandbox_enabled 启用沙箱预留项:沙箱开关,当前版本未接入
sandbox_default_quota 沙箱每月默认额度100每用户每月可用的 Playground 免费额度

沙箱额度的生效值

沙箱额度的实际读取值来自 config.yaml 的 sandbox.sandbox_default_quota(见运行配置的低频可选配置)。本页此项与配置文件语义相同,修改前请同步更新配置文件。

调试

配置项默认值说明
pprof_port pprof 端口0预留项:Go 性能分析端口,0 关闭。当前版本未接入

DANGER

即使接入后也不要在公网开放 pprof 端口——profile 接口可被用来打满 CPU(DoS)并泄露内存数据。仅排障时临时开启,用完关闭。

基于 AGPL-3.0 许可发布