项目配置
系统设置
配置特点
存储方式
- • 存储在数据库中
- • 支持管理 API 动态修改
- • 支持热重载无需重启
- • 为整个应用提供行为基准
管理特性
- • Web 界面可视化配置
- • RESTful API 程序化管理
- • 配置验证和约束检查
- • 变更历史记录和回滚
基础参数
配置项 | 字段名 | 默认值 | 分组可覆盖 | 说明 |
---|---|---|---|---|
项目地址 | app_url | http://localhost:3001 | ❌ | 项目基础 URL,用于拼接分组端点 |
全局代理密钥 | proxy_keys | 初始值为环境配置的 AUTH_KEY | ❌ | 全局生效的代理认证密钥,多个用逗号分隔 |
日志保留天数 | request_log_retention_days | 7 | ❌ | 请求日志数据库保留天数,0 为不清理 |
日志写入间隔 | request_log_write_interval_minutes | 1 | ❌ | 日志写入数据库周期(分钟) |
启用日志详情 | enable_request_body_logging | false | ✅ | 是否在请求日志中记录完整的请求体内容,启用会增加内存和存储占用 |
请求设置
配置项 | 字段名 | 默认值 | 分组可覆盖 | 说明 |
---|---|---|---|---|
请求超时 | request_timeout | 600 | ✅ | 转发请求完整生命周期超时(秒) |
连接超时 | connect_timeout | 15 | ✅ | 与上游服务建立连接超时(秒) |
空闲连接超时 | idle_conn_timeout | 120 | ✅ | HTTP 客户端空闲连接超时(秒) |
响应头超时 | response_header_timeout | 600 | ✅ | 等待上游响应头超时(秒) |
最大空闲连接数 | max_idle_conns | 100 | ✅ | 连接池最大空闲连接总数 |
每主机最大空闲连接数 | max_idle_conns_per_host | 50 | ✅ | 每个上游主机最大空闲连接数 |
代理服务器地址 | proxy_url | - | ✅ | 用于转发请求的 HTTP/HTTPS 代理,为空则使用环境配置 |
密钥配置
配置项 | 字段名 | 默认值 | 分组可覆盖 | 说明 |
---|---|---|---|---|
最大重试次数 | max_retries | 3 | ✅ | 单个请求使用不同密钥的最大重试次数 |
黑名单阈值 | blacklist_threshold | 3 | ✅ | 密钥连续失败多少次后进入黑名单 |
密钥验证间隔 | key_validation_interval_minutes | 60 | ✅ | 后台定时验证密钥周期(分钟) |
密钥验证并发数 | key_validation_concurrency | 10 | ✅ | 后台定时验证无效 Key 时的并发数 |
密钥验证超时 | key_validation_timeout_seconds | 20 | ✅ | 后台定时验证单个 Key 时的 API 请求超时时间(秒) |
代理配置优先级
系统代理配置优先级为中等,会覆盖环境变量配置,但可被分组配置覆盖:
分组配置 > 系统配置 > 环境配置
当系统配置中的 proxy_url
为空时,将自动使用环境变量中的代理设置。
分组配置
配置特点
优先级最高
- • 可覆盖系统设置的任意参数
- • 为特定分组定制专用行为
- • 支持细粒度的性能调优
- • 实现多租户隔离配置
- • 代理配置优先级最高,覆盖系统和环境设置
配置灵活性
- • JSON 格式的灵活配置
- • 支持参数覆盖和继承
- • 动态计算有效配置
- • 配置验证和约束检查
可覆盖的配置项
请求与连接配置
- •
request_timeout
- 请求超时 - •
connect_timeout
- 连接超时 - •
idle_conn_timeout
- 空闲连接超时 - •
response_header_timeout
- 响应头超时 - •
max_idle_conns
- 最大空闲连接数 - •
max_idle_conns_per_host
- 每主机最大空闲连接数 - •
proxy_url
- 代理服务器地址
密钥管理配置
- •
max_retries
- 最大重试次数 - •
blacklist_threshold
- 黑名单阈值 - •
key_validation_interval_minutes
- 密钥验证间隔 - •
key_validation_concurrency
- 密钥验证并发数 - •
key_validation_timeout_seconds
- 密钥验证超时 - •
enable_request_body_logging
- 启用日志详情
项目配置总结
项目配置是 GPT-Load 配置系统的核心,提供了强大的动态管理能力,涵盖系统级和分组级的配置。
- 角色与分层:分为“系统设置”和“分组配置”,前者为全局基准,后者为特定场景提供覆盖,实现了层次化管理。
- 管理特性:支持通过 Web 界面和 API 进行动态修改,配置变更可热更新,无需重启服务,保证了系统的高可用性。
- 代理配置优先级:分组配置 > 系统配置 > 环境配置,实现了从全局到特定分组的灵活代理设置。
- 使用优势:提供了极高的灵活性和动态调整能力,允许针对不同业务场景(如多租户)进行细粒度隔离和优化。