Jmeter中的监听器(一)

监听器

1--查看结果树

用途

  • 调试测试计划:查看每个请求的详细信息,帮助调试和修正测试计划。
  • 分析响应数据:查看服务器返回的响应数据,验证请求是否成功。
  • 检查错误:识别和分析请求失败的原因。

配置步骤

  1. 添加查看结果树监听器

    • 右键点击线程组(Thread Group)。
    • 选择"添加" -> "监听器" -> "查看结果树"(View Results Tree)。
  2. 配置查看结果树监听器

    • 名称:给查看结果树监听器一个有意义的名称。
    • 保存响应数据:选择是否保存响应数据到文件。
    • 响应数据文件:指定保存响应数据的文件路径(可选)。
    • 高级选项:可以启用一些高级选项,如显示响应头、响应体等。

示例配置

假设我们需要测试一个Web应用,并使用"查看结果树"监听器来查看每个请求的详细信息。

  1. 创建测试计划

    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"Web应用性能测试")。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟")。
  3. 添加HTTP请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:请求名称(例如"获取用户列表")。
      • 服务器名称或IP :目标服务器的地址(例如example.com)。
      • 端口号 :目标服务器的端口(例如80)。
      • 协议 :HTTP或HTTPS(例如HTTP)。
      • 方法 :请求的方法(例如GET)。
      • 路径 :请求的路径(例如/api/users)。
  4. 添加查看结果树监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 配置查看结果树监听器:
      • 名称:查看结果树
      • 保存响应数据:选择"否"(除非需要保存响应数据到文件)。
      • 响应数据文件:(可选,留空)
  5. 运行测试

    • 点击工具栏上的"启动"按钮,运行测试。
  6. 查看结果

    • 在"查看结果树"监听器中,可以看到每个请求的详细信息,包括请求和响应的数据、响应代码、响应时间等。
    • 请求标签:显示请求的基本信息,如请求名称、服务器地址、请求方法等。
    • 请求数据:显示发送的请求数据。
    • 响应数据:显示服务器返回的响应数据。
    • 响应码:显示服务器返回的HTTP响应码。
    • 响应时间:显示请求的响应时间。
    • 响应头:显示服务器返回的响应头信息。
    • 响应体:显示服务器返回的响应体内容。

优化建议

  1. 名称

    • 给监听器一个有意义的名称,以便在测试计划中容易识别。
  2. 保存响应数据

    • 如果不需要保存响应数据到文件,可以选择不保存,以减少磁盘空间占用。
  3. 高级选项

    • 启用"显示响应头"和"显示响应体"选项,可以查看更多的响应信息,有助于调试和分析。
  4. 性能影响

    • 注意"查看结果树"监听器会记录大量的详细信息,可能会对测试性能产生一定影响。在大规模性能测试中,建议使用其他轻量级的监听器,如"聚合报告"或"汇总报告"。
  5. 过滤请求

    • 如果测试计划中有大量请求,可以使用过滤功能,只查看特定的请求。

2--汇总报告

用途

  • 性能评估:评估测试的整体性能,包括平均响应时间、吞吐量、错误率等。
  • 数据分析:生成详细的统计数据,帮助分析测试结果。
  • 报告生成:生成易于理解和分享的测试报告。

配置步骤

  1. 添加汇总报告监听器

    • 右键点击线程组(Thread Group)。
    • 选择"添加" -> "监听器" -> "汇总报告"(Summary Report)。
  2. 配置汇总报告监听器

    • 名称:给汇总报告监听器一个有意义的名称。
    • 文件:指定保存报告的文件路径(可选)。
    • 其他选项:可以启用一些高级选项,如保存响应数据等。

示例配置

假设我们需要测试一个Web应用,并使用汇总报告监听器来生成测试结果的汇总统计信息。

  1. 创建测试计划

    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"Web应用性能测试")。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟")。
  3. 添加HTTP请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:请求名称(例如"获取用户列表")。
      • 服务器名称或IP :目标服务器的地址(例如example.com)。
      • 端口号 :目标服务器的端口(例如80)。
      • 协议 :HTTP或HTTPS(例如HTTP)。
      • 方法 :请求的方法(例如GET)。
      • 路径 :请求的路径(例如/api/users)。
  4. 添加汇总报告监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 汇总报告。
    • 配置汇总报告监听器:
      • 名称:汇总报告
      • 文件 :(可选,指定保存报告的文件路径,例如C:\reports\summary_report.csv
  5. 运行测试

    • 点击工具栏上的"启动"按钮,运行测试。
  6. 查看报告

    • 在"汇总报告"监听器中,可以看到每个请求的汇总统计信息,包括以下列:
      • Label:请求的标签名称。
      • # Samples:请求的样本数量。
      • Average:平均响应时间(毫秒)。
      • Min:最小响应时间(毫秒)。
      • Max:最大响应时间(毫秒)。
      • Error %:错误率(百分比)。
      • Throughput:吞吐量(每秒请求数)。
      • KB/sec:每秒传输的数据量(千字节)。

优化建议

  1. 名称

    • 给监听器一个有意义的名称,以便在测试计划中容易识别。
  2. 文件保存

    • 如果需要保存报告到文件,确保指定的文件路径有效。保存为CSV格式的文件便于后续分析和处理。
  3. 性能影响

    • 汇总报告监听器对性能的影响较小,适合在大规模性能测试中使用。
  4. 过滤请求

    • 如果测试计划中有大量请求,可以使用过滤功能,只查看特定的请求。
  5. 多线程组

    • 如果测试计划中包含多个线程组,可以在每个线程组中添加汇总报告监听器,分别生成各自的报告。
  6. 综合分析

    • 结合其他监听器(如"查看结果树"、"聚合报告"等)一起使用,可以更全面地分析测试结果。

3--聚合报告

用途

  • 性能评估:评估测试的整体性能,包括平均响应时间、中位数、标准差、错误率等。
  • 数据分析:生成详细的统计数据,帮助分析测试结果。
  • 报告生成:生成易于理解和分享的测试报告。

配置步骤

  1. 添加聚合报告监听器

    • 右键点击线程组(Thread Group)。
    • 选择"添加" -> "监听器" -> "聚合报告"(Aggregate Report)。
  2. 配置聚合报告监听器

    • 名称:给聚合报告监听器一个有意义的名称。
    • 文件:指定保存报告的文件路径(可选)。
    • 其他选项:可以启用一些高级选项,如保存响应数据等。

示例配置

假设我们需要测试一个Web应用,并使用聚合报告监听器来生成测试结果的详细统计信息。

  1. 创建测试计划

    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"Web应用性能测试")。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟")。
  3. 添加HTTP请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:请求名称(例如"获取用户列表")。
      • 服务器名称或IP :目标服务器的地址(例如example.com)。
      • 端口号 :目标服务器的端口(例如80)。
      • 协议 :HTTP或HTTPS(例如HTTP)。
      • 方法 :请求的方法(例如GET)。
      • 路径 :请求的路径(例如/api/users)。
  4. 添加聚合报告监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 聚合报告。
    • 配置聚合报告监听器:
      • 名称:聚合报告
      • 文件 :(可选,指定保存报告的文件路径,例如C:\reports\aggregate_report.csv
  5. 运行测试

    • 点击工具栏上的"启动"按钮,运行测试。
  6. 查看报告

    • 在"聚合报告"监听器中,可以看到每个请求的详细统计信息,包括以下列:
      • Label:请求的标签名称。
      • # Samples:请求的样本数量。
      • Average:平均响应时间(毫秒)。
      • Median:中位数响应时间(毫秒)。
      • 90% Line:90%的响应时间(毫秒)。
      • Min:最小响应时间(毫秒)。
      • Max:最大响应时间(毫秒)。
      • Error %:错误率(百分比)。
      • Throughput:吞吐量(每秒请求数)。
      • KB/sec:每秒传输的数据量(千字节)。
      • Std Dev:标准差(响应时间的标准差)。

优化建议

  1. 名称

    • 给监听器一个有意义的名称,以便在测试计划中容易识别。
  2. 文件保存

    • 如果需要保存报告到文件,确保指定的文件路径有效。保存为CSV格式的文件便于后续分析和处理。
  3. 性能影响

    • 聚合报告监听器对性能的影响较小,适合在大规模性能测试中使用。
  4. 过滤请求

    • 如果测试计划中有大量请求,可以使用过滤功能,只查看特定的请求。
  5. 多线程组

    • 如果测试计划中包含多个线程组,可以在每个线程组中添加聚合报告监听器,分别生成各自的报告。
  6. 综合分析

    • 结合其他监听器(如"查看结果树"、"汇总报告"等)一起使用,可以更全面地分析测试结果。

常见统计术语解释

  • Label:请求的标签名称,用于标识不同的请求。
  • # Samples:请求的样本数量,即该请求被发送的次数。
  • Average:平均响应时间,所有样本的响应时间的平均值。
  • Median:中位数响应时间,所有样本的响应时间的中间值。
  • 90% Line:90%的响应时间,表示90%的请求的响应时间不超过这个值。
  • Min:最小响应时间,所有样本中的最小值。
  • Max:最大响应时间,所有样本中的最大值。
  • Error %:错误率,表示请求失败的比例。
  • Throughput:吞吐量,每秒处理的请求数。
  • KB/sec:每秒传输的数据量,单位为千字节。
  • Std Dev:标准差,表示响应时间的离散程度,标准差越大表示响应时间的波动越大。

4--后端监听器

用途

  • 实时监控:将测试结果实时发送到外部系统,实现实时监控。
  • 数据存储:将测试结果存储到外部数据库,便于后续分析。
  • 集成工具:与各种数据存储和分析工具集成,扩展JMeter的功能。

支持的后端系统

  • InfluxDB:一个开源的时间序列数据库,适合存储和查询时间序列数据。
  • Graphite:一个开源的度量数据存储和绘图工具。
  • TSDB:Telegraf、InfluxDB、Chronograf、Kapacitor等组成的监控解决方案。
  • 其他自定义后端:可以通过编写自定义脚本或插件支持其他后端系统。

配置步骤

  1. 添加后端监听器

    • 右键点击线程组(Thread Group)。
    • 选择"添加" -> "监听器" -> "后端监听器"(Backend Listener)。
  2. 配置后端监听器

    • 名称:给后端监听器一个有意义的名称。
    • 实现类 :选择后端监听器的具体实现类(例如org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient)。
    • 数据库URL :后端系统的URL(例如http://localhost:8086)。
    • 数据库名称 :后端数据库的名称(例如jmeter)。
    • 保留策略 :后端数据库的保留策略(例如autogen)。
    • 测量名称 :存储数据的测量名称(例如response_times)。
    • 用户名:后端系统的用户名(如果需要)。
    • 密码:后端系统的密码(如果需要)。
    • 采样间隔:发送数据的间隔时间(毫秒)。
    • 批处理大小:每次发送的数据条数。
    • 其他选项:根据需要配置其他选项,如标签、字段等。

示例配置

假设我们需要将测试结果实时发送到InfluxDB进行监控和分析。

  1. 创建测试计划

    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"Web应用性能测试")。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟")。
  3. 添加HTTP请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:请求名称(例如"获取用户列表")。
      • 服务器名称或IP :目标服务器的地址(例如example.com)。
      • 端口号 :目标服务器的端口(例如80)。
      • 协议 :HTTP或HTTPS(例如HTTP)。
      • 方法 :请求的方法(例如GET)。
      • 路径 :请求的路径(例如/api/users)。
  4. 添加后端监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 后端监听器。
    • 配置后端监听器:
      • 名称:后端监听器
      • 实现类org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient
      • 数据库URLhttp://localhost:8086
      • 数据库名称jmeter
      • 保留策略autogen
      • 测量名称response_times
      • 用户名:(如果需要,填写InfluxDB的用户名)
      • 密码:(如果需要,填写InfluxDB的密码)
      • 采样间隔:1000(每秒发送一次数据)
      • 批处理大小:100(每次发送100条数据)
  5. 运行测试

    • 点击工具栏上的"启动"按钮,运行测试。
  6. 查看结果

    • 打开InfluxDB的Web界面或使用命令行工具,查看存储的数据。
    • 使用Grafana等可视化工具,创建仪表板展示测试结果。

优化建议

  1. 名称

    • 给监听器一个有意义的名称,以便在测试计划中容易识别。
  2. 实现类

    • 根据使用的后端系统选择合适的实现类。
  3. 数据库URL和名称

    • 确保数据库URL和名称的正确性,避免因配置错误导致数据无法发送。
  4. 保留策略

    • 根据需要选择合适的保留策略,确保数据的持久性和性能。
  5. 测量名称

    • 选择合适的测量名称,以便在后端系统中容易识别和查询。
  6. 采样间隔和批处理大小

    • 根据测试需求和后端系统的性能,调整采样间隔和批处理大小,确保数据发送的频率和批量大小合适。
  7. 安全性

    • 如果后端系统需要认证,确保填写正确的用户名和密码。
  8. 性能影响

    • 注意后端监听器可能会对测试性能产生一定影响,特别是在大规模性能测试中。可以通过调整采样间隔和批处理大小来优化性能。

相关推荐
测试人社区—03923 小时前
UI测试在DevOps流水线中的卡点设计:质量保障的智能防线
运维·驱动开发·测试工具·ui·ar·vr·devops
实时数据5 小时前
Selenium常用于网页爬取 为了提高爬取效率,可以采取以下优化措施:合理使用无头模式
selenium·测试工具·数据挖掘
zhaoyin19945 小时前
fiddler抓包工具使用
前端·测试工具·fiddler
实时数据6 小时前
网络爬虫已成为获取互联网数据的重要手段。Selenium 作为一种强大的自动化测试工具,
爬虫·selenium·测试工具
佟以冬7 小时前
Wireshark抓包基础
网络·测试工具·安全·网络安全·wireshark
实时数据7 小时前
优化 Selenium 使用文本挖掘在分析留言数据中提供了多种应用 如情感分析、主题建模、关键词提取和文本分类
selenium·测试工具
灵翼飞航科技有限公司8 小时前
无人机动力测试系统光电传感器原理及操作说明(二)
测试工具·无人机
灵翼飞航科技有限公司8 小时前
要完成无人机动力测试需要都需要准备什么?
测试工具·无人机
Wpa.wk9 小时前
curl-发送请求 和 tcpdump与wireshark的介绍
测试工具·wireshark·tcpdump·curl
霍格沃兹测试学院-小舟畅学1 天前
Playwright企业级测试架构设计:模块化与可扩展性
人工智能·测试工具