文章目录
- 7d-sats-pef
- 📌 项目信息
- 🖼️ 平台概览
- ✅ 功能特性
- 📂 项目结构
- 🚀 快速开始
- 本地开发(后端)
- 本地开发(前端)
- Docker 一键部署(生产推荐)
- 切换 PostgreSQL
- 运行测试
- 💡 使用方式
- 📊 协议支持与核心指标
- ⚠️ 注意事项
- ❓ 常见问题
- 📚 文档导航
- 项目文档
- 社区与规范
- 📄 许可证
7d-sats-pef
作者: 7DGroup
7d-sats-pef(AI-Driven Stress Testing System,AI 驱动的压力测试系统)是由 7DGroup 团队开发的 AI 大模型应用支撑能力评估平台,支持单机与分布式评估。后端基于 FastAPI + SQLAlchemy,前端基于 Vue 3 + Ant Design Vue,采用 Master-Worker 分布式架构;内置 10 协议压测引擎、运行中动态扩缩容与性能分析引擎(趋势 / 基线 / 异常 / 对比分析,附 RESAR 方法论知识树),scriptsModel/目录提供 11 份主流大模型压测配置,开箱即用。
📌 项目信息
| 项目 | 值 |
|---|---|
| 作者 | 7DGroup |
| 版本 | 1.0.0 |
| 运行环境 | Python 3.12+ · Node.js 18+ · Docker(可选) |
| 后端技术栈 | FastAPI 0.109 · SQLAlchemy 2.0 · JWT · WebSocket · Celery + Redis(可选) |
| 前端技术栈 | Vue 3.4 · TypeScript 5.3 · Vite 5 · Ant Design Vue 4 · Pinia · ECharts |
| 数据库 | SQLite(默认,零配置)/ PostgreSQL(生产推荐);MySQL 仅为历史支持 |
| 仓库地址 | github.com/7dgroup-ai/7d-sats-pef |
| 许可证 | GPL-3.0 |
🖼️ 平台概览
核心能力:
- AI 大模型压测(核心场景)——直连 LLM Chat Completions 接口压测,8 类 Provider:OpenAI、Anthropic、Gemini、DeepSeek、通义千问、百度文心、custom(任意 OpenAI 兼容端点,如 Ollama / LM Studio / vLLM);支持流式(SSE)响应的专项指标采集。
- 10 协议压测引擎——HTTP/HTTPS、TCP、WebSocket、UDP、Unix Socket、gRPC、Dubbo、MQTT、Redis、MySQL;其中 HTTP 提供单机 aiohttp / 多进程 / Locust / 动态调整四种执行模式。
- 分布式 Master-Worker——Worker 注册、JWT Token 认证、心跳检测(5 秒)、容量管理与任务分配,单 Master 可编排 20+ Worker。
- 动态扩缩容——压测运行中实时调整并发数 / RPS,无需重启测试。
- 性能分析引擎——基于压测结果的趋势分析(线性回归 / R² 趋势强度)、基准线计算(P25–P99 分位值 / 置信区间)、异常检测(基于历史基准线的 3-sigma 检验)与多版本 / 多厂商对比(
/api/analysis/*8 个端点);另附 4 份 RESAR 性能工程方法论知识树(约 330 个节点 / 30 条指标关联),可经/api/performance-guide查询与关键词检索。 - 监控告警——TPS、响应时间分位值(P50/P90/P95/P99)、错误率、CPU / 内存 / 网络 / 磁盘 IO 实时指标;阈值 / 趋势 / 异常检测告警规则。
- RBAC 权限与安全——若依风格
sys_*权限体系、审计日志、AES/RSA 加密登录。 - 报告与导入导出——HTML / PDF / Excel / JSON 报告导出;Postman / cURL / HAR / Swagger 一键导入生成压测场景。
开源版范围说明:性能分析引擎包含上述统计算法与 RESAR 方法论知识树;性能决策树(OS / Java / DB / 中间件)、实战案例库、性能参数库、诊断工具库,以及"LLM 自动生成分析结论"能力未包含在开源版本中。
应用场景:
- 大模型上线前的支撑能力评估(吞吐、时延、并发上限)
- LLM 网关 / AI 应用后端 API 的性能验证
- 传统多协议服务的分布式压力测试
- 性能瓶颈定位与版本回归对比
✅ 功能特性
- ✅ 8 类 AI Provider 压测,支持流式(SSE)响应专项指标
- ✅ 11 份开箱即用的大模型压测配置(
scriptsModel/) - ✅ 10 种协议执行器,HTTP 四种执行模式
- ✅ Master-Worker 分布式调度(注册 / 心跳 / 容量 / 任务分配)
- ✅ 运行中动态扩缩容(并发数 / RPS,免重启)
- ✅ 性能分析引擎(趋势 / 基线 / 异常 / 对比分析 + RESAR 方法论知识树)
- ✅ 实时监控与告警规则(阈值 / 趋势 / 异常检测)
- ✅ 定时任务调度(
/api/task-schedules,支持暂停 / 恢复) - ✅ RBAC 权限体系 + 审计日志 + AES/RSA 加密登录
- ✅ HTML / PDF / Excel / JSON 多格式报告
- ✅ Postman / cURL / HAR / Swagger 导入
- ✅ SQLite / PostgreSQL 双数据库支持,Docker 一键部署
📂 项目结构
7d-sats-pef/ ├── backend/ # 后端服务(FastAPI + Python 3.12) │ ├── src/ │ │ ├── main.py # 应用入口(注册 30+ 路由) │ │ ├── api/ # 31 个路由:认证 / 场景 / 任务 / Worker / 监控 / 分析 / 权限 … │ │ ├── core/ # 58 个核心模块:协议执行器 / 分布式调度 / AI 客户端 / 分析引擎 … │ │ ├── models/ # SQLAlchemy 模型(32 张表) │ │ ├── schemas/ # Pydantic 验证模型 │ │ ├── config/ # 配置与数据库连接 │ │ └── migrations/ # SQL 迁移脚本 │ ├── worker/ # 独立 Worker 节点程序(含 Docker 部署指南) │ ├── scripts/ # 数据库初始化 / 修复 / 迁移等运维脚本 │ ├── tests/ # pytest 测试套件(84 个测试文件) │ ├── data/ # SQLite 库 / SQL 脚本 / 性能指南 / Prompt 模板 │ ├── requirements.txt # Python 依赖 │ └── Dockerfile ├── frontend/ # 前端应用(Vue 3 + TypeScript + Ant Design Vue) │ ├── src/pages/ # 21 个页面:场景 / 执行 / 结果 / Worker / 监控 / 分析 … │ ├── src/components/ # 协议配置 / 监控 / 权限等通用组件 │ ├── src/services/ # 13 个 API 服务 │ ├── package.json │ └── Dockerfile # node:20 构建 + nginx 运行 ├── bin/ # 部署运维:deploy.sh / start.sh + 三套 docker-compose ├── scriptsModel/ # 11 份 AI 模型压测配置样例(开箱即用) ├── docs/ # 仓库文档:功能说明 / database / deployment / frontend / images / archive ├── .github/ # Issue / PR 模板 ├── CHANGELOG.md # 更新日志 ├── CONTRIBUTING.md # 贡献指南 ├── SECURITY.md # 安全政策(漏洞披露 + 生产部署清单) ├── CODE_OF_CONDUCT.md # 贡献者行为准则 ├── .editorconfig # 编辑器基础配置 ├── LICENSE # GPL-3.0 ├── README.md # 总览(英文) └── README.zh.md # 总览(中文)🚀 快速开始
前置条件:Python 3.12+、Node.js 18+。数据库默认 SQLite(零配置),生产环境推荐 PostgreSQL 15+;Docker 为可选。
本地开发(后端)
cdbackend python3.12-mvenv venv&&sourcevenv/bin/activate pipinstall-rrequirements.txtcp.env.example .env# 生产必改 SECRET_KEY / APP_CRYPTO_KEY,见「注意事项」python scripts/fix_database.py# 初始化 / 修复数据库uvicorn src.main:app--reload启动后访问 http://localhost:8000/docs(Swagger)或 /redoc(ReDoc)查看 API 文档。
本地开发(前端)
cdfrontendnpminstallnpmrun dev访问 http://localhost:5173,使用默认管理员登录:admin/7d@admin@123(首次登录后立即修改)。
Docker 一键部署(生产推荐)
cdbin ./deploy.sh start# 启动全部服务./deploy.sh logs# 查看日志;stop / restart / status / backup / restore 同理三套 compose 配置位于bin/:
| 文件 | 包含服务 | 适用场景 |
|---|---|---|
docker-compose.yml | PostgreSQL · Redis · backend · frontend · worker | 生产基础版 |
docker-compose.full.yml | 基础版 + celery-worker / celery-beat(PG/Redis 端口映射 5433/6380) | 生产全量版 |
docker-compose.dev.yml | 基础版 + pgAdmin(:5050) · Redis Commander(:8081) | 开发调试 |
切换 PostgreSQL
默认使用 SQLite;将.env中的DATABASE_URL改为postgresql://user:pass@host:5432/7d_stress_test即可切换,详见 docs/README_POSTGRESQL.md 与 backend/POSTGRESQL_SETUP.md。仓库根的bin/start.sh会自动检测.env中的数据库类型并拉起对应的 PostgreSQL / Redis 容器。
运行测试
cdbackend pytest# 全量测试;pytest tests/test_ai_providers.py 运行单个文件💡 使用方式
- 登录平台——访问前端(开发模式 http://localhost:5173,Docker 部署为 80 端口),使用默认管理员
admin/7d@admin@123。 - 创建 AI 压测场景——可直接参考或导入
scriptsModel/下的开箱即用配置:
| 配置文件 | 压测目标 |
|---|---|
test_openai.json | OpenAI(gpt-3.5-turbo) |
test_deepseek.json | DeepSeek(deepseek-chat) |
test_qwen.json | 通义千问(qwen-turbo,DashScope) |
test_gemini.json | Google Gemini |
test_baidu.json | 百度文心(ernie-bot-turbo) |
test_ollama.json/test_ollama_stream.json | 本地 Ollama(含流式) |
test_lm_studio.json | LM Studio 本地模型 |
test_mock_ai.json | Mock AI(无真实调用,验证链路) |
test_distributed.json | 分布式模式示例 |
test_config.json | 通用配置模板 |
配置包含endpoint(provider / endpoint_url / api_key / model / stream)、load_pattern(users / spawn_rate / duration / target_rps)、prompts(模板 + 变量池)、warmup_time、retry_count等字段。
- AI Provider 一览——
openai/anthropic/gemini/deepseek/qwen/baidu/custom(任意 OpenAI 兼容端点:Ollama、LM Studio、vLLM……),均支持流式响应。 - 分布式压测——Master 上创建 Worker Token(JWT)→ Worker 节点凭
MASTER_URL+WORKER_TOKEN启动并自动注册 → 心跳、容量评估与任务分配全自动。详见 backend/worker/README.md 与 backend/worker/DOCKER_DEPLOYMENT_GUIDE.md。 - 动态扩缩容——压测运行中通过
/api/scaling接口实时调整并发数 / RPS,无需重启;详见 backend/worker/DYNAMIC_SCALING_GUIDE.md。 - 查看报告——任务详情页在线查看,或通过
/api/reports导出 PDF / Excel / JSON。 - API 交互文档——Swagger:http://localhost:8000/docs · ReDoc:http://localhost:8000/redoc。
📊 协议支持与核心指标
| 协议 | 说明 |
|---|---|
| HTTP/HTTPS | 单机 aiohttp / 多进程 / Locust / 动态调整四种模式 |
| TCP | 持久连接 / 短连接 |
| WebSocket | 双向通信 / 心跳检测 |
| UDP / Unix Socket | 数据报与本地通信(socket_executor) |
| gRPC | Proto 文件支持 |
| Dubbo | Zookeeper 注册中心集成 |
| MQTT | QoS 级别 / TLS 加密 |
| Redis | 17 种命令 / Pipeline |
| MySQL | CRUD / 事务 |
核心指标:
- 单机支持:500+ 并发用户
- 分布式支持:10000+ 并发用户(20 个 Worker)
- 流式响应(SSE)专项指标采集(LLM 压测场景)
- 动态扩缩容:秒级生效,无需重启测试
- 实时数据:WebSocket 推送
⚠️ 注意事项
- 生产必须开启安全验证:
.env设置ENABLE_SECURITY=true;SECRET_KEY与APP_CRYPTO_KEY必须替换为强随机值(生成方法:python -c "import secrets; print(secrets.token_hex(32))"),使用默认占位符时服务会拒绝启动。 - 开发版硬编码密钥警告:开发阶段
core/crypto_utils.py与core/security_middleware.py使用了硬编码密钥(双重 Base64 编码的7dgroup-ai-resar),生产部署前必须替换为环境变量注入,详见backend/.env.example顶部安全警告。 - 默认密码必改:默认管理员
admin/7d@admin@123,首次部署后立即修改。 - CORS:生产环境将
CORS_ORIGINS替换为实际前端域名,禁止使用*。 - 端口占用:后端 8000 · 前端开发 5173 / 生产 80 · PostgreSQL 5432 · Redis 6379(full 版 compose 映射为 5433/6380)。
- 数据库选择:MySQL 仅为历史支持,主线为 SQLite(开发)/ PostgreSQL(生产)。
❓ 常见问题
问:SQLite 和 PostgreSQL 怎么选?
答:本地开发直接用默认 SQLite,零配置;生产 / Docker 部署用 PostgreSQL(连接池与并发写入更稳)。切换只需修改DATABASE_URL,详见 docs/README_POSTGRESQL.md。
问:三套 docker-compose 怎么选?
答:一般场景选docker-compose.yml(基础版);需要 Celery 异步任务(报告清理、通知)选docker-compose.full.yml;本地要 pgAdmin / Redis Commander 图形工具选docker-compose.dev.yml。
问:Worker 如何接入 Master?
答:在平台创建 Worker Token,Worker 节点配置MASTER_URL+WORKER_TOKEN后启动即自动注册;容器化部署见 backend/worker/DOCKER_DEPLOYMENT_GUIDE.md。
问:没有真实 API Key 能先跑通吗?
答:可以——使用scriptsModel/test_mock_ai.json(Mock AI,不发起真实调用),或本地部署 Ollama / LM Studio 后使用对应配置。
问:压测报告在哪里查看 / 导出?
答:前端任务详情页在线查看;通过/api/reports可导出 PDF / Excel / JSON 报告。
问:忘记 admin 密码怎么办?
答:参考 backend/README.md 的「默认账户」与密码重置说明。
📚 文档导航
项目文档
| 文档 | 说明 |
|---|---|
| docs/README.md | 文档中心总索引 |
| docs/功能说明/ | 功能说明 01-08:项目概述 / 前后端功能 / 分布式架构 / 性能分析引擎 / 监控告警 / 权限 / 多协议 |
| backend/README.md | 后端详档(配置、默认账户、运维命令) |
| frontend/README.md | 前端详档 |
| bin/README.md | Docker 部署指南(deploy.sh 用法) |
| docs/deployment/docker-compose.md | 三套 docker-compose 配置的用途与选择 |
| docs/README_POSTGRESQL.md | PostgreSQL 迁移与配置指南 |
| docs/database/ | 本地 PostgreSQL 搭建 + 切换 / 验证脚本 |
| backend/POSTGRESQL_SETUP.md | PostgreSQL 安装配置 |
| backend/docs/ARCHITECTURE_STATUS.md | 架构实现状态标注 |
| backend/worker/README.md | Worker 节点与分布式部署 |
社区与规范
| 文档 | 说明 |
|---|---|
| CONTRIBUTING.md | 贡献指南(环境、测试规范、提交约定、PR 流程) |
| SECURITY.md | 安全政策(漏洞披露渠道 + 生产部署安全清单) |
| CHANGELOG.md | 更新日志 |
| CODE_OF_CONDUCT.md | 贡献者行为准则 |
📄 许可证
GPL-3.0 · Copyright © 2026 7DGroup