# loadtest-platform **Repository Path**: fengshaqingqing/loadtest-platform ## Basic Information - **Project Name**: loadtest-platform - **Description**: 压测平台,提供API 功能测试 + 压测,本地 CLI + AI Skill - **Primary Language**: 其他 - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-13 - **Last Updated**: 2026-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # loadtest-platform 对**已部署服务**做接口**功能测试**与**压力测试**的本地 CLI 工具,同时以 AI Skill 形态(`loadtest-api`)供 Qoder 等编程工具调用。团队内多人多项目复用。 - **工具不负责起服务**:被测服务提前部署好。 - **统一 flow 模型**:功能测试与压测共用同一份 YAML 定义。 - **双引擎**:功能测试 = Python httpx(断言强、流程链自然);压测 = k6(外部二进制)。 - **运行前门槛**:先做**版本强校验**(服务 `GET /version` 的 git revision ↔ 测试配置的 commit),`load run` 再做**冒烟门槛**。 - **测试配置就近入仓**:配置放被测项目自己的仓库(约定目录 `api-tests/`),平台仓只放注册表 `workspace.yaml`。 - **可选资源监控**:压测期间按拓扑采集服务端 CPU/内存、依赖(MySQL/Redis)指标与链路延迟,报告同轴叠加并给出「疑似瓶颈」。 ## 安装 ```bash python -m venv .venv && . .venv/Scripts/activate # Windows pip install -e ".[dev]" # 开发 # 资源监控采集需要:pip install -e ".[metrics]" # 压测需要本机已安装 k6(https://k6.io),或设置 K6_BIN ``` ## 快速开始 ```bash cp workspace.example.yaml workspace.yaml # 编辑为你的项目 cp .env.example .env # 填密钥/只读凭据 loadtest doctor # 自检 k6 与各采集器可用性 loadtest test run ipms --flow points-earn-changelog --env dev loadtest load run ipms --flow points-earn-changelog --env dev --users 5 --duration 30s --metrics loadtest report build ipms --html ``` ## 约定 - 被测项目在约定目录 `api-tests/` 放置:`project.yaml`、`apis/*.yaml`、`flows/*.yaml`、`.env.example`。 - 被测服务需暴露 `GET /version` → `{"revision":"", ...}`(内部约定)。 详见 `docs/` 文档与 `AGENTS.md`(AI 约定): - 📘 [使用指南](docs/usage-guide.md) —— 概念、接入、签名、版本校验、压测参数、资源监控、报告、排错 - 🚀 [压测环境部署指南](docs/deployment-guide.md) —— 压测专用机(Ubuntu/Debian)部署与准入 - 🧭 [工程方案](docs/plan.md) —— 设计依据