Colo
A performance load tests platform base python3+vue3+locust+grafana,cool and user-friendly(性能测试平台)
Install / Use
/learn @wohui/ColoREADME
说明
这是一个基于Python3+Locust+Vue3的性能测试平台,通过Postgresql+Grafana做监控大盘,追求简单化执行性能测试,平台化集成脚本管理、场景配置、压力配置、任务管理、监控报警等
(开发中)
- 简单
- 平台化
- 易扩展
🎉️ 目前正在逐步更新,欢迎提Issues,有任何问题欢迎随时联系
项目架构
技术栈
前端:vue3+element-ui
后端:python django
中间件: mysql
性能测试引擎:locust,locust-plugins
监控系统:Grafana+postgressql(timescale)
架构图

部署
部署基础组件
1.部署Grafana+postgressql,推荐使用docker部署,项目下有docker-compose.yml文件,可参考部署
2.建好数据库/assets/timescale_schema.sql有脚本
3.部署Grafana,导入好监控指标
参考:locust_plugins https://github.com/SvenskaSpel/locust-plugins/tree/master/locust_plugins/dashboards
部署前端
node version >= 18
# 进入前端项目目录
cd ui-colo
# 安装前端依赖
npm install
# 运行前端服务
npm run dev
# 打包预发布环境
npm build:stage
# 打包正式环境
npm build:prod
部署后端
# 安装依赖
pip install -r requirements.txt
# 建colo需要的库表
##安装一个mysql库,具体用户名等信息在setting.py配置
# 运行一下2个命令,生成所需的表
python manage.py makemigrations api
python manage.py migrate
# 运行后端服务
python3 manage.py runserver 0.0.0.0:8000
功能展示
浏览器打开访问localhost:3333

脚本管理
脚本暂时还没规划好是保存在数据库还是在git上,TODO
测试计划

测试记录
开始压测后,会在这里生成一个记录,可以停止和打开监控大盘

监控大盘展示
生成唯一的testplan,交给grafana来聚合,展示



平台流程
手动运行locust
locust --timescale --headless --override-plan-name 0108 --pghost=<machineip> --pgport=5432 --pgpassword=password --pguser=postgres
#运行locust 输出到postgressql
🙏 致谢/Acknowledgments
TODO
- [ ] 脚本上传管理 / git保存
- [ ] 测试计划-分布式/单机运行模式
- [ ]
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
83.9kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
339.3kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
