当前位置: 首页 > news >正文

Jmeter中的监听器

3)监听器

9b1d06c8e77e4dc58ed9fb50f240e9c8.png

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. 过滤请求

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

e31beae1e3f544188f2a230dab35ebc4.png

 

 


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. 综合分析

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

b5d5e285cacf4213b1984eb52b2e8bda.png

 


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. 综合分析

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

eccc3a7f32ec4d539c0562efbb03c52f.png

常见统计术语解释

  • 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. 性能影响

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

857ebd4dcc934a04a5b62a44d30b1578.png


5--JSR223 Listener 

用途

  • 自定义数据处理:使用脚本语言处理测试结果,实现高度定制化的数据处理和分析。
  • 实时监控:实时处理和显示测试结果。
  • 集成外部系统:将测试结果发送到外部系统进行进一步处理和分析。
  • 日志记录:记录详细的测试结果到日志文件。

支持的脚本语言

  • Groovy:推荐使用,性能优越且功能强大。
  • JavaScript:支持 ECMAScript 标准。
  • BeanShell:支持 Java 语法。
  • 其他语言:支持任何符合 JSR223 规范的脚本语言。

配置步骤

  1. 添加 JSR223 Listener

    • 右键点击线程组(Thread Group)。
    • 选择“添加” -> “监听器” -> “JSR223 Listener”。
  2. 配置 JSR223 Listener

    • 名称:给 JSR223 Listener 一个有意义的名称。
    • 脚本语言:选择使用的脚本语言(例如 Groovy)。
    • 脚本文件:选择脚本文件路径(可选,如果脚本较长或需要版本控制)。
    • 脚本:直接在脚本编辑框中编写脚本。
    • 参数:定义脚本中使用的参数(可选)。

示例配置

假设我们需要使用 Groovy 脚本记录每个请求的响应时间和状态码到日志文件中。

  1. 创建测试计划

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

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

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

    • 右键点击线程组 -> 添加 -> 监听器 -> JSR223 Listener。
    • 配置 JSR223 Listener:
      • 名称:JSR223 Listener
      • 脚本语言:Groovy
      • 脚本:在脚本编辑框中编写以下脚本:
        import java.text.SimpleDateFormat// 获取当前时间
        def now = new Date()
        def dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
        def currentTime = dateFormat.format(now)// 获取请求名称、响应时间、状态码
        def label = prev.getSampleLabel()
        def responseTime = prev.getTime()
        def statusCode = prev.getResponseCode()// 构建日志消息
        def logMessage = "${currentTime} - ${label} - Response Time: ${responseTime} ms - Status Code: ${statusCode}"// 写入日志文件
        def logFile = new File('C:\\logs\\test_results.log')
        logFile << logMessage + '\n'
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  6. 查看日志

    • 打开日志文件 C:\\logs\\test_results.log,查看记录的测试结果。

优化建议

  1. 脚本语言选择

    • 推荐使用 Groovy,因为它性能优越且功能强大,是 JMeter 官方推荐的脚本语言。
  2. 脚本文件

    • 如果脚本较长或需要版本控制,可以将脚本保存到文件中,并在 JSR223 Listener 中选择脚本文件路径。
  3. 参数

    • 如果脚本需要使用外部参数,可以在“参数”部分定义参数,并在脚本中引用这些参数。
  4. 性能影响

    • 注意复杂脚本可能会对测试性能产生影响,特别是大规模性能测试中。可以通过优化脚本和减少不必要的操作来提高性能。
  5. 错误处理

    • 在脚本中添加适当的错误处理逻辑,确保脚本在遇到异常时能够优雅地处理。
  6. 日志记录

    • 使用日志记录功能可以帮助调试和分析测试结果,确保日志文件路径有效且有足够的写权限。

752c58bd8faf467dbe555c884d3c7763.png


6--保存响应到文件

用途

  • 数据保存:将响应数据保存到文件中,便于后续分析和验证。
  • 调试:保存响应数据以便于调试和排查问题。
  • 数据归档:长期保存响应数据,用于归档和历史记录。

配置步骤

  1. 添加保存响应到文件监听器

    • 右键点击线程组(Thread Group)。
    • 选择“添加” -> “监听器” -> “保存响应到文件”(Save Responses to a file)。
  2. 配置保存响应到文件监听器

    • 名称:给保存响应到文件监听器一个有意义的名称。
    • 文件名:指定保存响应数据的文件路径和文件名。
    • 文件格式:选择保存文件的格式(例如txthtmlxml等)。
    • 追加文件:选择是否将新的响应数据追加到现有文件中。
    • 仅保存成功响应:选择是否仅保存成功的响应数据。
    • 仅保存失败响应:选择是否仅保存失败的响应数据。
    • 响应字段:选择保存响应的哪个部分(例如响应数据、响应头、响应码等)。

示例配置

假设我们需要测试一个Web应用,并将每个请求的响应数据保存到文件中。

  1. 创建测试计划

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

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

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

    • 右键点击线程组 -> 添加 -> 监听器 -> 保存响应到文件。
    • 配置保存响应到文件监听器:
      • 名称:保存响应到文件
      • 文件名C:\\responses\\response_*.txt(*表示每个请求生成一个独立的文件)
      • 文件格式txt
      • 追加文件:选择“否”(每个请求生成一个独立的文件)
      • 仅保存成功响应:选择“是”(仅保存成功的响应数据)
      • 仅保存失败响应:选择“否”(不保存失败的响应数据)
      • 响应字段:选择“响应数据”(保存响应的主体内容)
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  6. 查看文件

    • 测试完成后,打开指定的文件夹 C:\\responses\\,查看保存的响应文件。

优化建议

  1. 文件名

    • 确保文件名路径有效且具有足够的写权限。使用通配符 * 可以为每个请求生成一个独立的文件。
  2. 文件格式

    • 根据响应数据的格式选择合适的文件格式,例如txthtmlxml等。
  3. 追加文件

    • 如果需要将所有响应数据保存到同一个文件中,选择“是”。如果需要为每个请求生成一个独立的文件,选择“否”。
  4. 仅保存成功响应

    • 如果只需要保存成功的响应数据,选择“是”。这可以减少文件的数量和大小。
  5. 仅保存失败响应

    • 如果只需要保存失败的响应数据,选择“是”。这可以帮助快速定位和分析问题。
  6. 响应字段

    • 根据需要选择保存响应的哪个部分,例如响应数据、响应头、响应码等。

f038f064dc5440a2a7df41a2db21293c.png


7--保存响应时间图

用途

  • 性能评估:直观地评估系统的性能,查看响应时间的变化趋势。
  • 问题定位:通过图表识别性能瓶颈和异常情况。
  • 报告生成:生成可视化的测试报告,便于分享和展示。

配置步骤

  1. 添加保存响应时间图监听器

    • 右键点击线程组(Thread Group)。
    • 选择“添加” -> “监听器” -> “保存响应时间图”(Response Times Over Time)。
  2. 配置保存响应时间图监听器

    • 名称:给保存响应时间图监听器一个有意义的名称。
    • 文件名:指定保存图表的文件路径和文件名(例如C:\\reports\\response_times.png)。
    • 文件格式:选择保存文件的格式(例如pngjpgsvg等)。
    • 时间间隔:设置生成图表的时间间隔(例如每分钟生成一张图表)。
    • 显示平均值:选择是否在图表中显示平均响应时间。
    • 显示最小值:选择是否在图表中显示最小响应时间。
    • 显示最大值:选择是否在图表中显示最大响应时间。
    • 显示中位数:选择是否在图表中显示中位数响应时间。
    • 显示标准差:选择是否在图表中显示标准差。
    • 显示错误率:选择是否在图表中显示错误率。

示例配置

假设我们需要测试一个Web应用,并生成响应时间的图表以评估性能。

  1. 创建测试计划

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

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

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

    • 右键点击线程组 -> 添加 -> 监听器 -> 保存响应时间图。
    • 配置保存响应时间图监听器:
      • 名称:保存响应时间图
      • 文件名C:\\reports\\response_times.png
      • 文件格式png
      • 时间间隔:1分钟
      • 显示平均值:选择“是”
      • 显示最小值:选择“是”
      • 显示最大值:选择“是”
      • 显示中位数:选择“是”
      • 显示标准差:选择“是”
      • 显示错误率:选择“是”
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  6. 查看图表

    • 测试完成后,打开指定的文件 C:\\reports\\response_times.png,查看生成的响应时间图表。

优化建议

  1. 文件名

    • 确保文件名路径有效且具有足够的写权限。可以使用通配符或时间戳生成唯一的文件名,避免覆盖。
  2. 文件格式

    • 根据需要选择合适的文件格式,例如pngjpgsvg等。png格式通常适用于高质量的图表。
  3. 时间间隔

    • 根据测试需求设置合适的时间间隔,例如每分钟生成一张图表。时间间隔过短可能会生成大量图表文件,影响性能。
  4. 显示选项

    • 根据需要选择显示的统计信息,如平均值、最小值、最大值、中位数、标准差和错误率。选择合适的选项可以帮助更好地分析性能。
  5. 性能影响

    • 注意生成图表可能会对测试性能产生一定影响,特别是在大规模性能测试中。可以通过调整时间间隔和显示选项来优化性能。
  6. 图表分析

    • 使用生成的图表进行性能分析,识别性能瓶颈和异常情况。可以结合其他监听器(如“聚合报告”、“汇总报告”等)一起使用,进行更全面的分析。

4c4de60d7e814333839d005f9b558f12.png


 

8--图形结果

功能特点

  • 响应时间:显示每次请求的响应时间,帮助用户了解请求处理的速度。
  • 吞吐量:显示单位时间内完成的请求数量,反映系统的处理能力。
  • 错误率:显示错误请求的比例,帮助发现潜在的问题。
  • 并发用户数:显示同时发送请求的用户数量,有助于评估系统在不同负载下的表现。

如何配置“图形结果”监听器

  1. 添加监听器

    • 在JMeter中,右键点击你的测试计划或者线程组。
    • 选择“添加” > “监听器” > “图形结果”。
  2. 配置基本设置

    • 标题:你可以为这个监听器设置一个标题,以便于识别。
    • 显示响应时间:可以选择是否显示响应时间的图形。
    • 显示吞吐量:可以选择是否显示吞吐量的图形。
    • 显示错误率:可以选择是否显示错误率的图形。
    • 显示并发用户数:可以选择是否显示并发用户的图形。
  3. 高级配置

    • 刷新周期:设置图形更新的频率,单位为毫秒。较低的数值可以使图形实时更新,但可能会增加CPU负担。
    • 显示数据点:可以选择是否在图形上显示具体的数据点。
    • 显示平均值:可以选择是否在图形上显示响应时间或吞吐量的平均值。
    • 显示中位数、最小值、最大值:这些选项允许你在图形上显示响应时间或吞吐量的中位数、最小值和最大值。
    • 显示标准差:显示响应时间或吞吐量的标准差,帮助评估数据分布的离散程度。
  4. 运行测试

    • 完成上述配置后,就可以运行你的测试了。运行测试时,“图形结果”监听器会自动收集数据并生成相应的图形。
  5. 分析结果

    • 测试结束后,通过观察图形结果,可以很容易地看出哪些时间段内系统的性能有所下降,哪些操作可能成为瓶颈。此外,错误率的图形可以帮助快速定位问题所在。

注意事项

  • 性能开销:“图形结果”监听器会占用一定的资源来收集和展示数据,因此在进行大规模压力测试时,应该谨慎使用,或者考虑在测试结束后再开启此功能,以减少对测试本身的影响。
  • 数据保存:默认情况下,“图形结果”监听器不会自动保存图形数据。如果需要保存,可以手动截图或者查找其他方式导出数据。

9131e159c09d486cacb5c812a656fc07.png

 

 


 

9--断言结果

功能特点

  • 显示断言结果:列出所有断言的结果,包括通过和失败的断言。
  • 详细信息:显示每个断言的详细信息,如断言类型、实际结果和期望结果。
  • 错误信息:显示断言失败时的错误信息,帮助调试。
  • 颜色编码:通过颜色编码(绿色表示通过,红色表示失败)直观地显示断言结果。

配置步骤

  1. 添加断言结果监听器

    • 右键点击线程组(Thread Group)。
    • 选择“添加” -> “监听器” -> “断言结果”(Assertion Results)。
  2. 配置断言结果监听器

    • 名称:给断言结果监听器一个有意义的名称。
    • 文件:(可选)指定保存断言结果的文件路径。
    • 其他选项:根据需要配置其他选项,如是否显示响应数据等。

示例配置

假设我们需要测试一个Web应用,并使用断言来验证响应数据的正确性,然后使用“断言结果”监听器来查看断言结果。

  1. 创建测试计划

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

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

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

    • 右键点击HTTP请求 -> 添加 -> 断言 -> 响应断言。
    • 配置响应断言:
      • 适用范围:选择断言的范围(例如响应数据)。
      • 模式匹配规则:选择匹配规则(例如包含)。
      • 模式:输入期望的响应数据(例如"success": true)。
  5. 添加断言结果监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 断言结果。
    • 配置断言结果监听器:
      • 名称:断言结果
      • 文件:(可选)指定保存断言结果的文件路径(例如C:\\reports\\assertion_results.txt
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  7. 查看断言结果

    • 在“断言结果”监听器中,可以看到每个断言的结果,包括通过和失败的断言。
    • 状态:通过的断言显示为绿色,失败的断言显示为红色。
    • 详细信息:点击具体的断言结果,可以查看断言的详细信息,如断言类型、实际结果和期望结果。
    • 错误信息:对于失败的断言,可以查看错误信息,帮助调试。

优化建议

  1. 名称

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

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

    • 注意“断言结果”监听器会记录大量的详细信息,可能会对测试性能产生一定影响。在大规模性能测试中,建议使用其他轻量级的监听器,如“聚合报告”或“汇总报告”。
  4. 调试

    • 使用“断言结果”监听器可以方便地调试和分析断言结果,确保测试请求按预期执行。
  5. 多断言

    • 如果一个请求中有多个断言,可以在“断言结果”监听器中查看每个断言的详细信息,帮助快速定位问题。

19e794b7548345258c56392526c94a03.png

 


 

10--比较断言可视化器

功能特点

  • 响应数据比较:比较两个请求的响应数据,显示相同和不同的部分。
  • 图形化展示:以图形化的方式展示比较结果,直观易懂。
  • 详细信息:显示每个请求的详细信息,包括响应数据、响应时间等。
  • 颜色编码:通过颜色编码(绿色表示相同,红色表示不同)直观地显示比较结果。

配置步骤

  1. 添加比较断言

    • 右键点击需要比较的请求 -> 添加 -> 断言 -> 比较断言(Compare Assertion)。
    • 配置比较断言:
      • 名称:给比较断言一个有意义的名称。
      • 适用范围:选择要比较的部分(例如响应数据)。
      • 比较模式:选择比较模式(例如完全匹配、部分匹配等)。
      • 参考请求:选择作为参考的请求(通常是第一个请求)。
  2. 添加比较断言可视化器

    • 右键点击线程组(Thread Group)。
    • 选择“添加” -> “监听器” -> “比较断言可视化器”(Compare Assertion Visualizer)。
    • 配置比较断言可视化器:
      • 名称:给比较断言可视化器一个有意义的名称。
      • 文件:(可选)指定保存比较结果的文件路径。

示例配置

假设我们需要测试一个Web应用,并使用比较断言来验证两个请求的响应数据是否一致,然后使用“比较断言可视化器”来查看比较结果。

  1. 创建测试计划

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

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

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

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

    • 右键点击第二个HTTP请求 -> 添加 -> 断言 -> 比较断言。
    • 配置比较断言:
      • 名称:比较断言
      • 适用范围:选择“响应数据”。
      • 比较模式:选择“完全匹配”。
      • 参考请求:选择第一个HTTP请求(例如“获取用户列表1”)。
  6. 添加比较断言可视化器

    • 右键点击线程组 -> 添加 -> 监听器 -> 比较断言可视化器。
    • 配置比较断言可视化器:
      • 名称:比较断言可视化器
      • 文件:(可选)指定保存比较结果的文件路径(例如C:\\reports\\comparison_results.txt
  7. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  8. 查看比较结果

    • 在“比较断言可视化器”监听器中,可以看到每个请求的比较结果。
    • 状态:相同的部分显示为绿色,不同的部分显示为红色。
    • 详细信息:点击具体的比较结果,可以查看每个请求的详细信息,包括响应数据、响应时间等。
    • 错误信息:对于不同的部分,可以查看具体的差异,帮助调试。

优化建议

  1. 名称

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

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

    • 注意“比较断言可视化器”会记录大量的详细信息,可能会对测试性能产生一定影响。在大规模性能测试中,建议使用其他轻量级的监听器,如“聚合报告”或“汇总报告”。
  4. 调试

    • 使用“比较断言可视化器”可以方便地调试和分析比较结果,确保响应数据的一致性。
  5. 多请求比较

    • 如果需要比较多个请求,可以在每个请求后面添加比较断言,并在“比较断言可视化器”中查看结果。

 

06999d91b522432ca6262e15ed2e567e.png


 

11--汇总图

功能特点

  • 响应时间:显示每个请求的平均响应时间。
  • 吞吐量:显示每个请求的吞吐量(每秒请求数)。
  • 错误率:显示每个请求的错误率。
  • 图形化展示:以图表的形式展示测试结果,直观易懂。
  • 详细信息:显示每个请求的详细统计信息。

配置步骤

  1. 添加汇总图监听器

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

    • 名称:给汇总图监听器一个有意义的名称。
    • 文件:(可选)指定保存图表的文件路径。
    • 显示选项:选择要显示的统计信息,如响应时间、吞吐量、错误率等。
    • 时间间隔:设置生成图表的时间间隔(例如每分钟生成一张图表)。

示例配置

假设我们需要测试一个Web应用,并使用“汇总图”监听器来生成测试结果的汇总统计图表。

  1. 创建测试计划

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

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

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

    • 右键点击线程组 -> 添加 -> 监听器 -> 汇总图。
    • 配置汇总图监听器:
      • 名称:汇总图
      • 文件:(可选)指定保存图表的文件路径(例如C:\\reports\\summary_graph.png
      • 显示选项
        • 响应时间:选择“是”
        • 吞吐量:选择“是”
        • 错误率:选择“是”
      • 时间间隔:1分钟
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  6. 查看图表

    • 在“汇总图”监听器中,可以看到每个请求的汇总统计图表。
    • 响应时间:显示每个请求的平均响应时间。
    • 吞吐量:显示每个请求的吞吐量(每秒请求数)。
    • 错误率:显示每个请求的错误率。
    • 详细信息:点击具体的图表,可以查看每个请求的详细统计信息。

优化建议

  1. 名称

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

    • 如果需要保存图表到文件,确保指定的文件路径有效。保存为图片格式(如PNG、JPEG)或矢量格式(如SVG)便于后续分析和分享。
  3. 显示选项

    • 根据需要选择显示的统计信息,如响应时间、吞吐量、错误率等。选择合适的选项可以帮助更好地分析性能。
  4. 时间间隔

    • 设置合适的时间间隔,例如每分钟生成一张图表。时间间隔过短可能会生成大量图表文件,影响性能。
  5. 性能影响

    • 注意生成图表可能会对测试性能产生一定影响,特别是在大规模性能测试中。可以通过调整时间间隔和显示选项来优化性能。
  6. 图表分析

    • 使用生成的图表进行性能分析,识别性能瓶颈和异常情况。可以结合其他监听器(如“聚合报告”、“汇总报告”等)一起使用,进行更全面的分析。

10cf84abc31f47188b3a2854f22df387.png


 

12--生成概要结果

功能特点

  • 响应时间:显示每个请求的平均响应时间。
  • 吞吐量:显示每个请求的吞吐量(每秒请求数)。
  • 错误率:显示每个请求的错误率。
  • 详细统计信息:显示每个请求的详细统计信息,如最小响应时间、最大响应时间、标准差等。
  • 图形化展示:以表格的形式展示测试结果,直观易懂。

配置步骤

  1. 添加生成概要结果监听器

    • 右键点击线程组(Thread Group)。
    • 选择“添加” -> “监听器” -> “生成概要结果”(Generate 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
      • 显示选项
        • 响应时间:选择“是”
        • 吞吐量:选择“是”
        • 错误率:选择“是”
      • 时间间隔:1分钟
  5. 运行测试

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

    • 在“生成概要结果”监听器中,可以看到每个请求的概要报告。
    • Label:请求的标签名称。
    • # Samples:请求的样本数量。
    • Average:平均响应时间(毫秒)。
    • Min:最小响应时间(毫秒)。
    • Max:最大响应时间(毫秒)。
    • Error %:错误率(百分比)。
    • Throughput:吞吐量(每秒请求数)。
    • KB/sec:每秒传输的数据量(千字节)。
    • 详细信息:点击具体的请求,可以查看每个请求的详细统计信息。

优化建议

  1. 名称

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

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

    • 根据需要选择显示的统计信息,如响应时间、吞吐量、错误率等。选择合适的选项可以帮助更好地分析性能。
  4. 时间间隔

    • 设置合适的时间间隔,例如每分钟生成一次报告。时间间隔过短可能会生成大量报告文件,影响性能。
  5. 性能影响

    • 注意生成报告可能会对测试性能产生一定影响,特别是在大规模性能测试中。可以通过调整时间间隔和显示选项来优化性能。
  6. 图表分析

    • 使用生成的报告进行性能分析,识别性能瓶颈和异常情况。可以结合其他监听器(如“聚合报告”、“汇总报告”等)一起使用,进行更全面的分析。

28bf284a94524663bf3b6dd833857d49.png

 


 

13--用表格查看结果

功能特点

  • 响应时间:显示每个请求的响应时间。
  • 响应码:显示每个请求的HTTP响应码。
  • 请求数据:显示发送的请求数据。
  • 响应数据:显示接收到的响应数据。
  • 错误信息:显示请求失败时的错误信息。
  • 详细信息:显示每个请求的详细信息,如请求标签、样本数量等。

配置步骤

  1. 添加用表格查看结果监听器

    • 右键点击线程组(Thread Group)。
    • 选择“添加” -> “监听器” -> “用表格查看结果”(View Results in Table)。
  2. 配置用表格查看结果监听器

    • 名称:给用表格查看结果监听器一个有意义的名称。
    • 文件:(可选)指定保存表格数据的文件路径。
    • 显示选项:选择要显示的详细信息,如响应时间、响应码、请求数据等。
    • 排序选项:选择如何排序表格中的数据(例如按响应时间排序)。

示例配置

假设我们需要测试一个Web应用,并使用“用表格查看结果”监听器来查看测试结果的详细信息。

  1. 创建测试计划

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

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

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

    • 右键点击线程组 -> 添加 -> 监听器 -> 用表格查看结果。
    • 配置用表格查看结果监听器:
      • 名称:用表格查看结果
      • 文件:(可选)指定保存表格数据的文件路径(例如C:\\reports\\table_results.csv
      • 显示选项
        • 响应时间:选择“是”
        • 响应码:选择“是”
        • 请求数据:选择“是”
        • 响应数据:选择“是”
      • 排序选项
        • 按响应时间排序:选择“是”
        • 升序:选择“是”
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  6. 查看表格

    • 在“用表格查看结果”监听器中,可以看到每个请求的详细信息。
    • Label:请求的标签名称。
    • # Samples:请求的样本数量。
    • Average:平均响应时间(毫秒)。
    • Min:最小响应时间(毫秒)。
    • Max:最大响应时间(毫秒)。
    • Error %:错误率(百分比)。
    • Throughput:吞吐量(每秒请求数)。
    • KB/sec:每秒传输的数据量(千字节)。
    • 详细信息:点击具体的请求,可以查看每个请求的详细信息,如请求数据、响应数据等。

优化建议

  1. 名称

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

    • 如果需要保存表格数据到文件,确保指定的文件路径有效。保存为CSV格式便于后续分析和处理。
  3. 显示选项

    • 根据需要选择显示的详细信息,如响应时间、响应码、请求数据等。选择合适的选项可以帮助更好地分析性能。
  4. 排序选项

    • 根据需要选择如何排序表格中的数据,如按响应时间排序。这有助于快速找到性能较差的请求。
  5. 性能影响

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

    • 使用“用表格查看结果”监听器可以方便地调试和分析测试结果,确保每个请求按预期执行。

 

dbbed7a58123468fb717f31098cf2c10.png


 

14--简单数据写入器

功能特点

  • 保存测试结果:将测试结果保存到文件中,支持多种文件格式(如CSV、XML)。
  • 自定义保存字段:可以选择保存哪些字段,如响应时间、响应码、请求数据等。
  • 文件路径:可以指定保存文件的路径和文件名。
  • 追加模式:可以选择是否将新结果追加到现有文件中。

配置步骤

  1. 添加简单数据写入器

    • 右键点击线程组(Thread Group)。
    • 选择“添加” -> “监听器” -> “简单数据写入器”(Simple Data Writer)。
  2. 配置简单数据写入器

    • 名称:给简单数据写入器一个有意义的名称。
    • 文件:指定保存结果的文件路径和文件名(例如C:\\reports\\test_results.csv)。
    • 文件格式:选择保存文件的格式(例如CSV、XML)。
    • 追加文件:选择是否将新结果追加到现有文件中。
    • 保存字段:选择要保存的字段,如响应时间、响应码、请求数据等。

示例配置

假设我们需要测试一个Web应用,并使用“简单数据写入器”将测试结果保存到文件中。

  1. 创建测试计划

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

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

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

    • 右键点击线程组 -> 添加 -> 监听器 -> 简单数据写入器。
    • 配置简单数据写入器:
      • 名称:简单数据写入器
      • 文件C:\\reports\\test_results.csv
      • 文件格式:CSV
      • 追加文件:选择“是”(将新结果追加到现有文件中)
      • 保存字段
        • 响应时间:选择“是”
        • 响应码:选择“是”
        • 请求数据:选择“是”
        • 响应数据:选择“是”
        • 错误信息:选择“是”
        • 其他字段:根据需要选择其他字段
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  6. 查看文件

    • 测试完成后,打开指定的文件 C:\\reports\\test_results.csv,查看保存的测试结果。

文件格式示例

假设选择了CSV格式,保存的文件内容可能如下所示:

timestamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,bytes,sentBytes,grpThreads,allThreads,Latency,IdleTime,Connect
2024-11-09 19:39:00,123,获取用户列表,200,OK,用户模拟-1,text,true,1024,0,1,1,123,0,123
2024-11-09 19:39:01,150,获取用户列表,200,OK,用户模拟-1,text,true,1024,0,1,1,150,0,150
2024-11-09 19:39:02,145,获取用户列表,200,OK,用户模拟-1,text,true,1024,0,1,1,145,0,145

优化建议

  1. 文件路径

    • 确保文件路径有效且具有足够的写权限。使用绝对路径可以避免路径问题。
  2. 文件格式

    • 根据需要选择合适的文件格式,如CSV、XML等。CSV格式便于后续分析和处理。
  3. 追加模式

    • 如果需要将多次测试的结果合并到一个文件中,选择“追加文件”。否则,每次测试前清空文件。
  4. 保存字段

    • 根据需要选择保存的字段。选择合适的字段可以帮助更好地分析性能和调试问题。
  5. 性能影响

    • 注意“简单数据写入器”会记录大量的详细信息,可能会对测试性能产生一定影响。在大规模性能测试中,建议使用其他轻量级的监听器,如“聚合报告”或“汇总报告”。
  6. 文件管理

    • 定期备份和清理保存的文件,避免文件过大影响性能和管理。

1b520b287a58452eb87040207f54db46.png


 

15--邮件观察仪

功能特点

  • 发送邮件:在测试过程中或测试结束后发送邮件通知。
  • 自定义邮件内容:可以自定义邮件的主题和正文。
  • 附件支持:可以附加文件到邮件中。
  • 多收件人支持:可以发送邮件给多个收件人。

配置步骤

  1. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“邮件通知”)。
  2. 添加邮件观察仪

    • 右键点击线程组 -> 添加 -> 取样器 -> SMTP Sampler(邮件观察仪)。
    • 配置邮件观察仪:
      • 名称:给邮件观察仪一个有意义的名称(例如“发送邮件通知”)。
      • SMTP Server:SMTP服务器的地址(例如smtp.example.com)。
      • SMTP Port:SMTP服务器的端口(例如587)。
      • Use SSL:选择是否使用SSL连接。
      • Use StartTLS:选择是否使用StartTLS加密。
      • SMTP Auth:选择是否需要身份验证。
      • User:SMTP服务器的用户名。
      • Password:SMTP服务器的密码。
      • From:发件人的邮箱地址。
      • To:收件人的邮箱地址(多个收件人用逗号分隔)。
      • Subject:邮件的主题。
      • Message Body:邮件的正文。
      • Message Body Type:选择邮件正文的类型(例如text/plaintext/html)。
      • Attachments:(可选)附加文件的路径。
  3. 配置触发条件

    • 如果需要在测试结束后发送邮件,可以使用“tearDown线程组”来实现。
    • 右键点击测试计划 -> 添加 -> 线程组 -> tearDown线程组 -> 输入线程组名称(例如“邮件通知-tearDown”)。
    • 将邮件观察仪添加到tearDown线程组中。

示例配置

假设我们需要在一个性能测试结束后发送邮件通知,报告测试结果。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 添加HTTP请求等取样器,配置测试用例。
  3. 添加tearDown线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> tearDown线程组 -> 输入线程组名称(例如“邮件通知-tearDown”)。
  4. 添加邮件观察仪

    • 右键点击tearDown线程组 -> 添加 -> 取样器 -> SMTP Sampler(邮件观察仪)。
    • 配置邮件观察仪:
      • 名称:发送邮件通知
      • SMTP Server:smtp.example.com
      • SMTP Port:587
      • Use SSL:否
      • Use StartTLS:是
      • SMTP Auth:是
      • User:yourusername@example.com
      • Password:yourpassword
      • From:yourusername@example.com
      • To:recipient1@example.com, recipient2@example.com
      • Subject:性能测试结果通知
      • Message Body:性能测试已结束,请查看附件中的测试结果。
      • Message Body Type:text/plain
      • Attachments:(可选)C:\reports\test_results.csv
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  6. 接收邮件

    • 测试结束后,收件人会收到包含测试结果的通知邮件。

优化建议

  1. 邮件服务器配置

    • 确保SMTP服务器的地址和端口正确,且服务器支持所需的加密方式(如SSL或StartTLS)。
  2. 身份验证

    • 如果SMTP服务器需要身份验证,确保提供的用户名和密码正确。
  3. 邮件内容

    • 自定义邮件的主题和正文,使其包含有用的信息,如测试结果的摘要或链接。
  4. 附件管理

    • 如果需要附加文件,确保文件路径正确且文件存在。
  5. 错误处理

    • 在邮件发送失败时,可以添加断言或日志记录来捕获错误信息,便于调试。
  6. 性能影响

    • 注意邮件发送可能会对测试性能产生一定影响,特别是在大规模性能测试中。可以通过调整邮件发送的时机(如使用tearDown线程组)来优化性能。

832ee15211bd4bf5b1b107209779b14c.png


 

16--BeanShell Listener 

功能特点

  • 自定义数据处理:使用 BeanShell 脚本处理测试结果,实现高度定制化的数据处理和分析。
  • 实时监控:实时处理和显示测试结果。
  • 集成外部系统:将测试结果发送到外部系统进行进一步处理和分析。
  • 日志记录:记录详细的测试结果到日志文件。

配置步骤

  1. 添加 BeanShell Listener

    • 右键点击线程组(Thread Group)。
    • 选择“添加” -> “监听器” -> “BeanShell Listener”。
  2. 配置 BeanShell Listener

    • 名称:给 BeanShell Listener 一个有意义的名称。
    • 文件:(可选)指定保存脚本输出的文件路径。
    • 脚本:在脚本编辑框中编写 BeanShell 脚本。
    • 参数:(可选)定义脚本中使用的参数。

示例配置

假设我们需要测试一个Web应用,并使用 BeanShell Listener 处理每个请求的响应时间,并将结果记录到日志文件中。

  1. 创建测试计划

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

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

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

    • 右键点击线程组 -> 添加 -> 监听器 -> BeanShell Listener。
    • 配置 BeanShell Listener:
      • 名称:BeanShell Listener
      • 文件:(可选)指定保存脚本输出的文件路径(例如C:\\logs\\beanshell_output.txt
      • 脚本:在脚本编辑框中编写以下 BeanShell 脚本:
        // 获取当前时间
        import java.text.SimpleDateFormat;
        import java.util.Date;// 获取请求名称、响应时间、状态码
        String label = prev.getSampleLabel();
        int responseTime = prev.getTime();
        String statusCode = prev.getResponseCode();// 构建日志消息
        Date now = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String currentTime = dateFormat.format(now);
        String logMessage = currentTime + " - " + label + " - Response Time: " + responseTime + " ms - Status Code: " + statusCode;// 写入日志文件
        File logFile = new File("C:\\logs\\test_results.log");
        FileWriter writer = new FileWriter(logFile, true);
        writer.write(logMessage + "\n");
        writer.close();
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
  6. 查看日志

    • 测试完成后,打开日志文件 C:\\logs\\test_results.log,查看记录的测试结果。

优化建议

  1. 脚本语言选择

    • 虽然 BeanShell 是一个强大的脚本语言,但 Groovy 通常性能更好且功能更强大。如果可能,建议使用 Groovy 脚本。
  2. 脚本文件

    • 如果脚本较长或需要版本控制,可以将脚本保存到文件中,并在 BeanShell Listener 中选择脚本文件路径。
  3. 参数

    • 如果脚本需要使用外部参数,可以在“参数”部分定义参数,并在脚本中引用这些参数。
  4. 性能影响

    • 注意复杂脚本可能会对测试性能产生影响,特别是在大规模性能测试中。可以通过优化脚本和减少不必要的操作来提高性能。
  5. 错误处理

    • 在脚本中添加适当的错误处理逻辑,确保脚本在遇到异常时能够优雅地处理。
  6. 日志记录

    • 使用日志记录功能可以帮助调试和分析测试结果,确保日志文件路径有效且有足够的写权限。

5cc18758a1634c20a865802fff8e8d63.png


 

 

 

相关文章:

Jmeter中的监听器

3&#xff09;监听器 1--查看结果树 用途 调试测试计划&#xff1a;查看每个请求的详细信息&#xff0c;帮助调试和修正测试计划。分析响应数据&#xff1a;查看服务器返回的响应数据&#xff0c;验证请求是否成功。检查错误&#xff1a;识别和分析请求失败的原因。 配置步骤…...

缺失的第一个正数(java)

题目描述&#xff1a; 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,0] 输出&#xff1a;3 解释&#xff1a;范围 […...

跨部门文件共享安全:平衡协作与风险的关键策略

在现代企业中&#xff0c;跨部门协作已成为推动业务发展的关键因素。然而&#xff0c;随着信息的自由流动和共享&#xff0c;文件安全风险也随之增加。如何在促进跨部门协作的同时&#xff0c;确保文件共享的安全性&#xff0c;成为了一个亟待解决的问题。 一、明确文件分类与…...

一键AI换脸软件,支持表情控制,唇形同步Facefusion-3.0.0发布!支持N卡和CPU,一键启动包

嗨,小伙伴们!还记得小编之前介绍的FaceFusion 2.6.1吗?今天给大家带来超级exciting的消息 —— FaceFusion 3.0.0闪亮登场啦! &#x1f31f; 3.0.0版本更新 &#x1f3d7;️ 全面重构:修复了不少小虫子,运行更稳定,再也不怕突然罢工啦! &#x1f600; Live Portrait功能:新增…...

我要成为算法高手-递归篇

目录 题目1&#xff1a;汉诺塔题目2&#xff1a;合并两个有序链表题目3&#xff1a;反转链表题目4&#xff1a;两两交换链表中的结点题目5&#xff1a;Pow(x,n) 题目1&#xff1a;汉诺塔 面试题 08.06. 汉诺塔问题 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1…...

Git 提交的相对引用

Git 提交的相对引用 在 Git 中&#xff0c;使用 ~ 和 ^ 符号可以帮助你更灵活地引用提交历史中的特定提交。以下是这些符号的具体用法和示例&#xff1a; 1. ~&#xff08;波浪号&#xff09; ~ 符号用于指向上一个或多个父提交。它总是沿着第一个父提交的链向上追溯。 HEA…...

国内首家! 阿里云人工智能平台 PAI 通过 ITU 国际标准测评

近日&#xff0c;阿里云人工智能平台 PAI 顺利通过中国信通院组织的 ITU-T AICP-GA&#xff08;Technical Specification for Artificial Intelligence Cloud Platform&#xff1a;General Architecture&#xff09;国际标准和《智算工程平台能力要求》国内标准一致性测评&…...

CDAF / PDAF 原理 | PDAF、CDAF 和 LAAF 对比 | 图像清晰度评价指标

注&#xff1a;本文为 “CDAF / PDAF 原理 | PDAF、CDAF 和 LAAF 对比 | 图像清晰度评价指标” 几篇相关文章合辑。 文章中部分超链接、图片异常受引用之前的原文所限。 相机自动对焦原理 TriumphRay 于 2020-01-16 18:59:41 发布 凸透镜成像原理 这一部分大家中学应该就学过…...

小米C++ 面试题及参考答案下(120道面试题覆盖各种类型八股文)

指针和引用的区别?怎么实现的? 指针和引用有以下一些主要区别。 从概念上来说,指针是一个变量,它存储的是另一个变量的地址。可以通过指针来间接访问所指向的变量。例如,我们定义一个整型指针int *p;,它可以指向一个整型变量的内存地址。而引用是一个别名,它必须在定义的…...

WPF异步UI交互功能的实现方法

前面的文章我们提及过&#xff0c;异步UI的基础实现。基本思路主要是开启新的UI线程&#xff0c;并通过VisualTarget将UI线程上的Visual(即RootVisual)连接到主线程上的UI上即可渲染显示。 但是&#xff0c;之前的实现访问是没有交互能力的&#xff0c;视觉树上的UI并不能实现…...

2024 java大厂面试复习总结(一)(持续更新)

10年java程序员&#xff0c;2024年正好35岁&#xff0c;2024年11月公司裁员&#xff0c;记录自己找工作时候复习的一些要点。 java基础 hashCode()与equals()的相关规定 如果两个对象相等&#xff0c;则hashcode一定也是相同的两个对象相等&#xff0c;对两个对象分别调用eq…...

TCP/IP学习笔记

TCP\IP从实际应用的五层结构开始&#xff0c;自顶而下的去分析每一层。 TCP/IP五层架构概述 学术上面是TCP/IP四层架构&#xff0c;OSI/ISO是七层架构&#xff0c;实际中使用的是TCP/IP五层架构。 数据链路层 ICMP数据包分析 Wireshark抓包分析ICMP协议_wireshark抓ping包分析…...

基于IPMI的服务器硬件监控指标解读

在现代化数据中心中&#xff0c;服务器的稳定运行对于保障业务连续性至关重要。为了实时掌握服务器的健康状况&#xff0c;运维团队需要借助高效的监控工具。监控易作为一款功能强大的监控软件&#xff0c;支持使用IPMI&#xff08;Intelligent Platform Management Interface&…...

相亲交友小程序项目介绍

一、项目背景 在当今快节奏的社会生活中&#xff0c;人们忙于工作和事业&#xff0c;社交圈子相对狭窄&#xff0c;寻找合适的恋爱对象变得愈发困难。相亲交友作为一种传统而有效的社交方式&#xff0c;在现代社会依然有着巨大的需求。我们的相亲交友项目旨在为广大单身人士提…...

Day3 洛谷Day3 1161+1179+1200+1304

零基础洛谷刷题记录 Day1 2024.11.18 Day2 2024.11.25 Day3 2024.11.26 文章目录 零基础洛谷刷题记录1161&#xff1a;题目描述1161&#xff1a;解题代码1161&#xff1a;学习成果1179&#xff1a;题目描述&#xff08;成功写出&#xff09;1179&#xff1a;解题代码1179&…...

【通俗理解】ELBO(证据下界)——机器学习中的“情感纽带”

【通俗理解】ELBO&#xff08;证据下界&#xff09;——机器学习中的“情感纽带” 关键词提炼 #ELBO #证据下界 #变分推断 #机器学习 #潜变量模型 #KL散度 #期望 #对数似然 第一节&#xff1a;ELBO的类比与核心概念【尽可能通俗】 ELBO&#xff0c;即证据下界&#xff0c;在…...

Vue: computed 计算属性

在Vue中&#xff0c;computed属性是用于计算和返回基于其他响应式数据的值的功能。 适合在模板中使用&#xff0c;因为能够根据依赖的数据自动更新。 当依赖的数据变化时&#xff0c;computed属性会重新计算&#xff0c;并且会将结果缓存&#xff0c;以提高性能。 computed的…...

【自动化Selenium】Python 网页自动化测试脚本(上)

目录 1、Selenium介绍 2、Selenium环境安装 3、创建浏览器、设置、打开 4、打开网页、关闭网页、浏览器 5、浏览器最大化、最小化 6、浏览器的打开位置、尺寸 7、浏览器截图、网页刷新 8、元素定位 9、元素交互操作 10、元素定位 &#xff08;1&#xff09;ID定位 &…...

数据库命令规范、数据库基本设计规范

所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字&#xff08;如果表名中包含关键字查询时&#xff0c;需要将其用单引号括起来&#xff09; 数据库对象的命名要能做到见名识意&#xff0c;并且最后不要超过32个字符 临时库表必…...

php常用伪协议整理

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理php常见的伪协议 php伪协议介绍 直观点&#xff0c;就是php可以识别的协议。 类似于我们访问网站的http协议&#xff0c;我们用浏览器访问我们自己本地文件的file协议等。 php可以识别这些协议&#xf…...

Redis与MySQL如何保证数据一致性

Redis与MySQL如何保证数据一致性 简单来说 该场景主要发生在读写并发进行时&#xff0c;才会发生数据不一致。 主要流程就是要么先操作缓存&#xff0c;要么先操作Redis&#xff0c;操作也分修改和删除。 一般修改要执行一系列业务代码&#xff0c;所以一般直接删除成本较低…...

NIO三大组件

现在互联网环境下&#xff0c;分布式系统大相径庭&#xff0c;而分布式系统的根基在于网络编程&#xff0c;而netty恰恰是java领域的网络编程的王者&#xff0c;如果要致力于并发高性能的服务器程序、高性能的客户端程序&#xff0c;必须掌握netty网络编程。 NIO基础 NIO是从ja…...

智能呼叫中心是什么?

智能呼叫中心是什么&#xff1f; 作者&#xff1a;开源智能呼叫中心系统 FreeIPCC&#xff0c;Github地址&#xff1a;https://github.com/lihaiya/freeipcc 智能呼叫中心是指运用人工智能、大数据分析等技术&#xff0c;对来电进行智能分析和处理的客户服务中心。以下是对智能…...

LSTM原理解读与实战

在RNN详解及其实战中&#xff0c;简单讨论了为什么需要RNN这类模型、RNN的具体思路、RNN的简单实现等问题。同时&#xff0c;在文章结尾部分我们提到了RNN存在的梯度消失问题&#xff0c;及之后的一个解决方案&#xff1a;LSTM。因此&#xff0c;本篇文章主要结构如下&#xff…...

24.11.26 神经网络 参数初始化

神经网络 感知神经网络 神经网络&#xff08;Neural Networks&#xff09;是一种模拟人脑神经元网络结构的计算模型&#xff0c;用于处理复杂的模式识别、分类和预测等任务 生物学&#xff1a; 人脑可以看做是一个生物神经网络&#xff0c;由众多的神经元连接而成 树突&#…...

51单片机从入门到精通:理论与实践指南(一)

单片机在智能控制领域的应用已非常普遍&#xff0c;发展也很迅猛&#xff0c;学习和使用单片机的人员越来越多。虽然新型微控制器在不断推出&#xff0c;但51单片机价格低廉、易学易用、性能成熟&#xff0c;在家电和工业控制中有一定的应用&#xff0c;而且学好了51单片机&…...

wordpress获取文章总数、分类总数、tag总数等

在制作wordpress模板的时候会要调用网站的文章总数分类总数tag总数等这个数值&#xff0c;如果直接用count查询数据库那就太过分了。好在wordpress内置了一些标签可以直接获取到这些数值&#xff0c;本文整理了一些常用的wordpress网站总数标签。 文章总数 <?php $count_…...

Tcon技术和Tconless技术介绍

文章目录 TCON技术&#xff08;传统时序控制器&#xff09;定义&#xff1a;主要功能&#xff1a;优点&#xff1a;缺点&#xff1a; TCONless技术&#xff08;无独立时序控制器&#xff09;定义&#xff1a;工作原理&#xff1a;优点&#xff1a;缺点&#xff1a; TCON与TCONl…...

WinFrom调用webapi接口另一个方法及其应用实例

1.调用接口方法 代码如下&#xff1a; public class WebAPI{#region WebAPI调用 public async Task<string> Call_Webapi(string Url, string Json) //url传入的是接口名称&#xff0c;json传入的是接口参数{string responseBody string.Empty; //responseBod…...

上海乐鑫科技一级代理商飞睿科技,ESP32-C61高性价比WiFi6芯片高性能、大容量

在当今快速发展的物联网市场中&#xff0c;无线连接技术的不断进步对智能设备的性能和能效提出了更高要求。为了满足这一需求&#xff0c;乐鑫科技推出了ESP32-C61——一款高性价比的Wi-Fi 6芯片&#xff0c;旨在为用户设备提供更出色的物联网性能&#xff0c;并满足智能设备连…...

【机器学习】数据集合集!

本文将为您介绍经典、热门的数据集&#xff0c;希望对您在选择适合的数据集时有所帮助。 1 privacy 更新时间&#xff1a;2024-11-26 访问地址: GitHub 描述&#xff1a; 此存储库包含 TensorFlow Privacy&#xff08;一种 Python&#xff09;的源代码 库&#xff0c;其中包…...

GitLab使用操作v1.0

1.前置条件 Gitlab 项目地址&#xff1a;http://******/req Gitlab账户信息&#xff1a;例如 001/******自己的分支名称&#xff1a;例如 001-master&#xff08;注&#xff1a;master只有项目创建者有权限更新&#xff0c;我们只能更新自己分支&#xff0c;然后创建合并请求&…...

企业后端多租户管理平台

1 简介 此系统在企业后端管理系统上进行的更改&#xff0c;用于快速开发租户管理平台。项目中详细的功能请查看文章&#xff1a;企业后端系统通用模版_后端模板-CSDN博客 支持多租户&#xff0c;支持多租户切换&#xff0c;支持多租户数据隔离&#xff0c;支持多租户数据同步等…...

【模型学习之路】PyG的使用+基于点的任务

这一篇是关于PyG的基本使用 目录 前言 PyG的数据结构 演示 图的可视化 基于点的任务 任务分析 MLP GCN 前言 对图结构感兴趣的朋友可以学一下常用的有关图结构的库&#xff1a;networkx详细介绍 networkx 库&#xff0c;探讨它的基本功能、如何创建图、操作图以及其常…...

【ubuntu】数学人的环境搭建

Python 语言环境 python 的 pip 第三方库管理 sudo apt install python3-pippython 的 idle 界面 sudo apt install idle3R 语言环境 sudo apt install r-cran-zoo### RStudio 界面 ubuntu sudo snap install rstudio --classicJulia 语言环境 sudo snap install julia --…...

Android 常用命令和工具解析之Trace相关

目录 1、Perfetto基本用法 1.1 perfetto抓取命令 1.2 Perfetto主界面 1.3 Perfetto常用技巧 1.3.1 CPU的运行状态 1.3.2 CPU的频率 1.3.3 CPU的所有任务 1.3.4 判断是否低内存 1.3.5 CPU的负载计算 1.3.6 查看某进程是否运行在大核 1.3.7 CPU的大核占用率计算 2、应…...

使用IDEA构建springboot项目+整合Mybatis

目录 目录 1.Springboot简介 2.SpringBoot的工作流程 3.SpringBoot框架的搭建和配置 4.用Springboot实现一个基本的select操作 5.SpringBoot项目部署非常简单&#xff0c;springBoot内嵌了 Tomcat、Jetty、Undertow 三种容器&#xff0c;其默认嵌入的容器是 Tomcat&#xff0c;…...

Python学习34天

import random class Game: peo0 rob0 # # def __init__(self,peo,rob): # self.peopeo # self.robrob def Play(self): """ 石头剪刀布游戏&#xff0c;0代表石头&#xff0c;1代见到&#xff0c;2代表石头 …...

leetcode hot100【LeetCode 215.数组中的第K个最大元素】java实现

LeetCode 215.数组中的第K个最大元素 题目描述 给定一个整数数组 nums 和一个整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;要求排名是从大到小的&#xff0c;因此第 k 个最大元素是排序后的第 k 个元素。你需要设计一个高效的算法来解决这个问题。…...

科技赋能:企业如何通过新技术提升竞争力的策略与实践

引言 在当今瞬息万变的商业环境中&#xff0c;科技的迅猛发展正在重新定义行业的游戏规则。无论是小型企业还是跨国巨头&#xff0c;都感受到数字化转型的迫切需求。过去&#xff0c;企业竞争力更多依赖于成本控制、资源调配或市场覆盖&#xff0c;而如今&#xff0c;新技术的引…...

SAP开发语言ABAP开发入门

1. 了解ABAP开发环境和基础知识 - ABAP简介 - ABAP&#xff08;Advanced Business Application Programming&#xff09;是SAP系统中的编程语言&#xff0c;主要用于开发企业级的业务应用程序&#xff0c;如财务、物流、人力资源等模块的定制开发。 - 开发环境搭建 - 首先需…...

快速理解微服务中Ribbon的概念

一.基本概念 1.在微服务架构中&#xff0c;Ribbon 是一个客户端负载均衡器&#xff0c;用于控制服务间的通信方式。 2.Ribbon 是一个开源的库&#xff0c;最早由 Netflix 开发&#xff0c;用于实现客户端负载均衡。 3.Ribbon 主要解决的是在微服务架构中&#xff0c;多个服务…...

MTK主板_安卓主板方案_MTK联发科主板定制开发

联发科(MTK)主板以其强大的性能和多样化的功能而受到广泛关注。该平台包括多个型号&#xff0c;例如MT6761、MT8766、MT6762、MT6765、MT8768和MT8788等&#xff0c;均配置了四核或八核64位处理器&#xff0c;主频可高达2.0GHz。采用先进的12nm工艺&#xff0c;搭载Android 11.…...

Linux:文件管理(一)——文件描述符fd

目录 一、文件基础认识 二、C语言操作文件的接口 1.> 和 >> 2.理解“当前路径” 三、相关系统调用 1.open 2.文件描述符 3.一切皆文件 4.再次理解重定向 一、文件基础认识 文件 内容 属性。换句话说&#xff0c;如果在电脑上新建了一个空白文档&#xff0…...

Excel的图表使用和导出准备

目的 导出Excel图表是很多软件要求的功能之一&#xff0c;那如何导出Excel图表呢&#xff1f;或者说如何使用Excel图表。 一种方法是软件生成图片&#xff0c;然后把图片写到Excel上&#xff0c;这种方式&#xff0c;因为格式种种原因&#xff0c;导出的图片不漂亮&#xff0c…...

Python + 深度学习从 0 到 1(00 / 99)

希望对你有帮助呀&#xff01;&#xff01;&#x1f49c;&#x1f49c; 如有更好理解的思路&#xff0c;欢迎大家留言补充 ~ 一起加油叭 &#x1f4a6; 欢迎关注、订阅专栏 【深度学习从 0 到 1】谢谢你的支持&#xff01; ⭐ 什么是深度学习&#xff1f; 人工智能、机器学习与…...

高级AI记录笔记(五)

学习位置 B站位置&#xff1a;红豆丨泥 UE AI 教程原作者Youtube位置&#xff1a;https://youtu.be/-t3PbGRazKg?siRVoaBr4476k88gct素材自备 改良近战AI格挡行为 把近战AI的格挡行为从行为树中单独一个任务分块中给删除掉&#xff0c;因为我们希望敌人在受到伤害后立即进行…...

uniapp vue2项目迁移vue3项目

uniapp vue2项目迁移vue3项目&#xff0c;必须适配的部分 一、main.js 创建应用实例 // 之前 - Vue 2 import Vue from vue import App from ./App Vue.config.productionTip false // vue3 不再需要 App.mpType app // vue3 不再需要 const app new Vue({ ...App }) …...

平安科技Java面试题及参考答案

多个线程 a++,单个线程不管别的线程怎么改变 a 的值,只管自己的 a 的值,但是只有一个对象 在 Java 中,当多个线程对同一个对象的共享变量 a 进行 a++ 操作时,如果不进行适当的同步处理,就会出现数据不一致的问题。因为 a++ 操作并非原子操作,它实际上包含了读取 a 的值、…...

Element UI 打包探索【1】

目录 第一个命令 第二个命令 node build/bin/iconInit.js node build/bin/build-entry.js node build/bin/i18n.js node build/bin/version.js 总结 最近在接触组件库的项目&#xff0c;所以特意拿来Element UI借鉴学习一下&#xff0c;它算是做前端的同学们离不开的一…...