Jmeter进行性能并发测试

一、JMeter测试计划配置

1. 创建线程组(设置并发用户数)

  1. 右键测试计划 → 添加 → Threads (Users) → 线程组
  2. 配置参数:
    • 线程数(Number of Threads)600(并发用户数)
    • Ramp-Up时间(秒)60(60秒内逐步启动600个线程,避免瞬间压力)
    • 循环次数(Loop Count)1(每个线程仅执行一次请求,如需持续压测可改为永远并设置持续时间)
    • 勾选“Same user on each iteration”(保持会话一致性,如接口需要登录)
    <img src="https://i.imgur.com/JQZ1l0m.png" />

2. 添加HTTP请求

  1. 右键线程组 → 添加 → Sampler → HTTP Request
  2. 配置参数:
    • 名称(Name)QueryBook API
    • 服务器名称或IP172.17.1.165
    • 端口号15058
    • 协议http
    • 方法POST
    • 路径/book/doctorstationapi/querybook
    • Body Data: 选择raw,并输入JSON参数:
      
      

      json

      {
      "hisApplyNos": ["C102229667"]
      }
    • Content-Type头: 需单独添加(见下一步)。
    <img src="https://i.imgur.com/XYZ1234.png" />

3. 添加HTTP头管理器

  1. 右键HTTP请求 → 添加 → Config Element → HTTP Header Manager

  2. 添加以下头信息:

    名称
    Content-Typeapplication/json
    (其他头)如Authorization(如需)

    <img src="https://i.imgur.com/3vX5yWp.png" />


4. 添加监听器(查看结果)

推荐组合以下监听器,平衡实时监控与性能开销:

  1. 聚合报告(Aggregate Report):查看关键性能指标。
  2. 响应时间图(Response Times Over Time):观察响应时间趋势。
  3. TPS图(Transactions per Second):监控吞吐量变化。
  4. 查看结果树(View Results Tree)(仅调试时使用,600并发时禁用!)。

添加方法
右键线程组 → 添加 → Listener → 选择对应监听器。


二、运行测试并查看结果

1. 启动测试

  1. 点击工具栏绿色三角形 “启动” 按钮(或菜单 Run → Start)。
  2. 观察JMeter控制台日志,确认无报错。

2. 实时监控结果

聚合报告(关键指标)
  • Samples: 600(请求总数)
  • Average: 平均响应时间(毫秒,如200ms表示良好,>1000ms需优化)
  • Median: 中位数响应时间(50%请求低于此值)
  • 90% Line: 90%请求的响应时间(关键性能阈值)
  • Error %: 错误率(必须为0%,否则需检查接口或网络)
  • Throughput: 吞吐量(请求/秒,如10 req/s表示系统每秒处理10个请求)

<img src="https://i.imgur.com/ABCD5678.png" />

图形化监听器
  • 响应时间图:确认无异常峰值(如突然飙升至5000ms)。
  • TPS图:观察吞吐量是否稳定(如突然下降可能表示系统瓶颈)。

<img src="https://i.imgur.com/EFGH9012.png" />


3. 测试完成后分析结果

  1. 检查错误率
    • 如果 Error % > 0%,点击错误请求查看具体原因(如超时、500错误)。
    • 常见错误:
      • Connect Timeout: 网络问题或服务端未响应。
      • 500 Internal Server Error: 服务端代码异常。
      • 429 Too Many Requests: 服务端限流。
  2. 分析响应时间
    • 平均响应时间:整体性能基准。
    • 90% Line:大多数用户的体验(比平均值更关键)。
    • Max:极端情况下的性能(需确认是否为异常值)。
  3. 评估吞吐量
    • 根据业务需求判断 Throughput 是否达标(如系统要求每秒处理100请求,但实际只有50,则需优化)。

三、优化建议(根据结果调整)

  1. 响应时间过长
    • 检查服务端日志,优化SQL或算法。
    • 增加服务端资源(CPU、内存)。
    • 启用缓存或异步处理。
  2. 吞吐量不足
    • 增加并发线程数(需逐步测试,避免过度压垮系统)。
    • 使用连接池(如数据库连接池)。
    • 负载均衡(分布式部署服务端)。
  3. 错误率上升
    • 检查服务端限流配置(如Nginx的limit_req)。
    • 增加重试机制(JMeter可通过逻辑控制器实现)。

四、保存测试结果

  1. 导出CSV文件
    • 在监听器(如聚合报告)中配置 Filename(如C:/results/querybook_test.csv)。
    • 勾选 “Write results to file”
  2. 生成HTML报告(高级):
    • 使用JMeter插件 JMeter Plugins Manager 安装 JP@GC - Graphs Generator
    • 运行测试后,通过插件生成包含图表的HTML报告。

五、完整操作流程总结

  1. 配置线程组 → 600并发,60秒Ramp-Up。
  2. 添加HTTP请求 → 设置POST方法和JSON参数。
  3. 添加HTTP头管理器 → 设置Content-Type: application/json
  4. 添加监听器 → 聚合报告+图形化监听器。
  5. 启动测试 → 监控实时数据。
  6. 分析结果 → 检查错误率、响应时间、吞吐量。
  7. 优化系统 → 根据结果调整配置或代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值