☰
7DGroup 开源 7d-sats-pef(AI 驱动的压力测试系统)
2026/9/28 8:47:41 网站建设 项目流程


文章目录

  • 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.ymlPostgreSQL · 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 运行单个文件

💡 使用方式

  1. 登录平台——访问前端(开发模式 http://localhost:5173,Docker 部署为 80 端口),使用默认管理员admin/7d@admin@123。
  2. 创建 AI 压测场景——可直接参考或导入scriptsModel/下的开箱即用配置:
配置文件压测目标
test_openai.jsonOpenAI(gpt-3.5-turbo)
test_deepseek.jsonDeepSeek(deepseek-chat)
test_qwen.json通义千问(qwen-turbo,DashScope)
test_gemini.jsonGoogle Gemini
test_baidu.json百度文心(ernie-bot-turbo)
test_ollama.json/test_ollama_stream.json本地 Ollama(含流式)
test_lm_studio.jsonLM Studio 本地模型
test_mock_ai.jsonMock 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等字段。

  1. AI Provider 一览——openai/anthropic/gemini/deepseek/qwen/baidu/custom(任意 OpenAI 兼容端点:Ollama、LM Studio、vLLM……),均支持流式响应。
  2. 分布式压测——Master 上创建 Worker Token(JWT)→ Worker 节点凭MASTER_URL+WORKER_TOKEN启动并自动注册 → 心跳、容量评估与任务分配全自动。详见 backend/worker/README.md 与 backend/worker/DOCKER_DEPLOYMENT_GUIDE.md。
  3. 动态扩缩容——压测运行中通过/api/scaling接口实时调整并发数 / RPS,无需重启;详见 backend/worker/DYNAMIC_SCALING_GUIDE.md。
  4. 查看报告——任务详情页在线查看,或通过/api/reports导出 PDF / Excel / JSON。
  5. API 交互文档——Swagger:http://localhost:8000/docs · ReDoc:http://localhost:8000/redoc。

📊 协议支持与核心指标

协议说明
HTTP/HTTPS单机 aiohttp / 多进程 / Locust / 动态调整四种模式
TCP持久连接 / 短连接
WebSocket双向通信 / 心跳检测
UDP / Unix Socket数据报与本地通信(socket_executor)
gRPCProto 文件支持
DubboZookeeper 注册中心集成
MQTTQoS 级别 / TLS 加密
Redis17 种命令 / Pipeline
MySQLCRUD / 事务

核心指标:

  • 单机支持:500+ 并发用户
  • 分布式支持:10000+ 并发用户(20 个 Worker)
  • 流式响应(SSE)专项指标采集(LLM 压测场景)
  • 动态扩缩容:秒级生效,无需重启测试
  • 实时数据:WebSocket 推送

⚠️ 注意事项

  1. 生产必须开启安全验证:.env设置ENABLE_SECURITY=true;SECRET_KEY与APP_CRYPTO_KEY必须替换为强随机值(生成方法:python -c "import secrets; print(secrets.token_hex(32))"),使用默认占位符时服务会拒绝启动。
  2. 开发版硬编码密钥警告:开发阶段core/crypto_utils.py与core/security_middleware.py使用了硬编码密钥(双重 Base64 编码的7dgroup-ai-resar),生产部署前必须替换为环境变量注入,详见backend/.env.example顶部安全警告。
  3. 默认密码必改:默认管理员admin/7d@admin@123,首次部署后立即修改。
  4. CORS:生产环境将CORS_ORIGINS替换为实际前端域名,禁止使用*。
  5. 端口占用:后端 8000 · 前端开发 5173 / 生产 80 · PostgreSQL 5432 · Redis 6379(full 版 compose 映射为 5433/6380)。
  6. 数据库选择: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.mdDocker 部署指南(deploy.sh 用法)
docs/deployment/docker-compose.md三套 docker-compose 配置的用途与选择
docs/README_POSTGRESQL.mdPostgreSQL 迁移与配置指南
docs/database/本地 PostgreSQL 搭建 + 切换 / 验证脚本
backend/POSTGRESQL_SETUP.mdPostgreSQL 安装配置
backend/docs/ARCHITECTURE_STATUS.md架构实现状态标注
backend/worker/README.mdWorker 节点与分布式部署

社区与规范

文档说明
CONTRIBUTING.md贡献指南(环境、测试规范、提交约定、PR 流程)
SECURITY.md安全政策(漏洞披露渠道 + 生产部署安全清单)
CHANGELOG.md更新日志
CODE_OF_CONDUCT.md贡献者行为准则

📄 许可证

GPL-3.0 · Copyright © 2026 7DGroup

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询