性能测试分析

  • 用了哪个智能体:没有使用任何智能体(没有 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。
相关推荐
火山引擎开发者社区3 小时前
火山 DTS 正式支持 MySQL 同步到 Milvus , 解决业务库到向量库最后一公里
人工智能
火山引擎开发者社区4 小时前
@开发者,提前解锁 FORCE 原动力大会五大看点,限时赢取门票福利
人工智能
火山引擎开发者社区4 小时前
这个 Skill 让 Agent 从会理解到会执行,补齐移动 APP 执行最后一公里
人工智能
火山引擎开发者社区8 小时前
Agent Plan、Coding Plan限时优惠:2.5折畅享多模型!
人工智能
冬奇Lab8 小时前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
冬奇Lab8 小时前
每日一个开源项目(第136篇):OpenMemory - 给 AI Agent 真正的认知记忆引擎
人工智能
黄啊码9 小时前
【黄啊码】微信 AI 把聊天功能和 Vibe Coding打通了,创业者:我又白干了
人工智能
IT_陈寒10 小时前
React的useState居然还有这种坑?我差点删库跑路
前端·人工智能·后端