性能测试分析

  • 用了哪个智能体:没有使用任何智能体(没有 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_request(httpx 发请求)。
  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 分钟内验证接口是否抗压(冒烟/回归前快速检查)
  • 关注核心指标:QPS、P95、错误率 是否明显退化
  • 团队成员不熟悉专业压测工具,希望零学习成本
  • 开发联调期,频繁改接口,需要即时反馈

什么时候切到 JMeter / k6

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

选型建议(实操)

  • 日常开发/冒烟:先用内置压测(快)。
  • 提测前/发布前:用 k6 或 JMeter 做标准场景回归。
  • 高并发容量评估:直接用专业工具(优先 k6 脚本化,或已有 JMeter 体系就沿用)。
  • 团队偏代码化与流水线:优先 k6。
  • 团队偏可视化配置与传统测试流程:优先 JMeter。
相关推荐
屹立芯创ELEADTECH1 分钟前
先进封装RDL制程中的Build-up Film:关键应用、工艺挑战与发展趋势
大数据·人工智能·microsoft
bst@微胖子4 分钟前
Spring AI (5) : MCP 深度实战:从工具抽取到鉴权,SSE 与 STDIO
人工智能·spring·dubbo
richard_yuu5 分钟前
OpenCV 实战第 8 篇:几何测量算子族,从 boundingRect 到亚像素定位
人工智能·opencv·计算机视觉
2601_956743686 分钟前
上海GEO营销公司技术评估方法|以盾码无界公开产品路线为例,拆解企业知识库语义检索、资料版本核验、内容人工审核与大模型监测复测的验证要点及适用边界
人工智能·geo·上海·企业服务
中伟视界7 分钟前
AI视频监控矿山落地实践:从算法部署到误报调优全流程
人工智能
打工仔折腾 AI9 分钟前
FaceFusion本地换脸实战:Windows整合包、模型选择与遮罩调参记录
人工智能·windows·后端·python·深度学习·性能优化·ai agent 实战
DeviceHub17 分钟前
AI服务器电源设计进阶:TLVR电感的应用解析与选型验证指南
运维·服务器·人工智能
阿明副业观察21 分钟前
AI视频生成工具功能与作用全面解析:赋能高效内容创作
大数据·人工智能·aigc·音视频·ai写作
数智工坊25 分钟前
视觉SLAM第5讲|相机成像模型:针孔投影、畸变修正与深度感知全拆解
人工智能·深度学习·数码相机·机器人
坐吃山猪26 分钟前
Meta为Personal Agent推出一个新协议PAP
人工智能