性能测试分析

  • 用了哪个智能体:没有使用任何智能体(没有 AssistantAgent / 自定义 Agent 参与)。
  • 调用了哪些模块:
    • 前端页面:frontend/src/views/performance-test/http-load-test.vue
    • 前端 API:frontend/src/api/performanceTest.ts
    • 后端路由:backend/app/api/v1/endpoints/performance_test.py
    • HTTP 客户端:httpx.AsyncClient
    • 并发调度:asyncio(worker + event stop)
  • 用了什么大模型:没有使用大模型(不调用 DeepSeek / Qwen / LLM)。
  • 核心能力:指定 URL + 方法 + 并发数 + 时长,后端持续发请求并统计 QPS / P50/P95/P99 / error_rate / 状态码分布

详细调用关系(文字版)

  1. 前端点击"开始压测",调用 performanceTestApi.run()
  2. 请求发到 POST /api/v1/performance-test/run
  3. 后端按 concurrent_users 创建多个 _worker 协程。
  4. 每个 worker 在时长内循环调用 _run_single_requesthttpx 发请求)。
  5. duration_seconds 后触发 stop_event,等待所有 worker 结束。
  6. 汇总结果并计算指标,生成 report_summary(规则文案,不是 AI)。
  7. 返回 JSON 给前端展示。

框架图(模块视角)

当前真实生效路径(精简图)

维度 内置 HTTP 压测(当前项目) JMeter k6
上手速度 最快,页面填参数直接跑 中等,GUI 配置后执行 中等,需写 JS 脚本
适用人群 研发/测试快速自检 测试工程师、传统压测团队 偏工程化团队、DevOps
协议能力 仅 HTTP 基础方法 很丰富(HTTP/JDBC/FTP等插件生态) 以 HTTP/WS 为主,现代接口友好
场景编排 基础(并发 + 时长) 强(线程组、控制器、参数化、关联) 强(代码级场景、阶段/阈值、自定义逻辑)
数据驱动 基础(headers/body 手填) 强(CSV 参数化、函数、前后置处理) 强(代码生成数据、外部数据源)
断言与检查 基础(状态码/成功率) 强(响应断言、提取器、后置脚本) 强(check、阈值 threshold)
报告深度 中等偏基础(QPS、P50/P95/P99、错误率) 强(多图表、聚合报告,插件丰富) 强(趋势、阈值结果,Cloud 更完整)
资源监控 无内建(仅提示外部监控) 可接插件/外部 APM 可接 Prometheus/Grafana/Cloud
分布式压测 不支持 支持(Master/Slave 或多机) 支持(多实例、云端执行)
CI/CD 集成 一般(手工或自写脚本调接口) 可集成但偏重 很好(CLI + 脚本天然适配流水线)
可重复性/版本化 一般(UI 配置为主) 一般(.jmx 可版本化) 强(脚本即版本)
可扩展性 低到中(改后端代码) 高(插件生态) 高(代码扩展、模块化)
学习/维护成本 最低 中到高

什么时候用内置压测

  • 需要 5 分钟内验证接口是否抗压(冒烟/回归前快速检查)
  • 关注核心指标:QPSP95错误率 是否明显退化
  • 团队成员不熟悉专业压测工具,希望零学习成本
  • 开发联调期,频繁改接口,需要即时反馈

什么时候切到 JMeter / k6

  • 需要 复杂业务链路(登录鉴权、上下文关联、数据参数化、事务组合)
  • 需要 稳定复现与长期基线(版本对比、环境对比、容量规划)
  • 需要 分布式高并发(单机压不动或目标并发超出单机能力)
  • 需要 更完整报告与监控联动(Grafana/APM/告警阈值)
  • 需要纳入 CI/CD 质量门禁(自动失败阈值、趋势追踪)

选型建议(实操)

  • 日常开发/冒烟:先用内置压测(快)。
  • 提测前/发布前:用 k6 或 JMeter 做标准场景回归。
  • 高并发容量评估:直接用专业工具(优先 k6 脚本化,或已有 JMeter 体系就沿用)。
  • 团队偏代码化与流水线:优先 k6。
  • 团队偏可视化配置与传统测试流程:优先 JMeter。
相关推荐
久违 °6 小时前
【AI-Agent】TagMatrix 数据标注工具开发
人工智能·数据分析·go·agent·数据隐私
AI360labs_atyun6 小时前
腾讯推出电子牛马Marvis,好用吗?
人工智能·科技·ai
Dfreedom.6 小时前
Windows、虚拟机、开发板组网通信原理及调试通联步骤
人工智能·windows·部署·边缘计算·开发板·模型加速
3DVisionary6 小时前
蓝光三维扫描:医疗制造的精度焦虑怎么解
人工智能·算法·制造·蓝光三维扫描·医疗制造·三维检测·义齿检测
Are_You_Okkk_6 小时前
基于MonkeyCode解析AI研发新模式,根治开发低效痛点
大数据·人工智能·开源·ai编程
好评笔记6 小时前
机器学习面试八股——常用损失函数
人工智能·深度学习·算法·机器学习·校招
weixin_468466856 小时前
全局与局部注意力机制新手实战指南
人工智能·python·深度学习·算法·自然语言处理·transformer·注意力机制
weixin_468466857 小时前
工业相机成像原理新手入门指南
人工智能·自动化·机器视觉·工业相机·光学·光学系统·成像原理
回眸&啤酒鸭7 小时前
【回眸】CSDN新增功能测评——AI数字营销之内容创作
人工智能
小糖学代码7 小时前
LLM系列:环境搭建:5.Python-dotenv 环境变量管理
人工智能·python·深度学习·神经网络