性能配置
管理后台 → 系统设置 → 性能配置
网关吞吐层的保护性参数:四级 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)并泄露内存数据。仅排障时临时开启,用完关闭。