首页 > 其他分享 >Jmeter中的后置处理器(一)

Jmeter中的后置处理器(一)

时间:2024-11-16 23:14:13浏览次数:3  
标签:HTTP 匹配 请求 后置 添加 线程 处理器 提取 Jmeter

后置处理器

90a2456503a7493c9fc04e1fc149b280.png

1--CSS/JQuery提取器

功能特点

  • 数据提取:使用CSS选择器或JQuery语法从HTML响应中提取特定的数据。
  • 动态参数传递:将提取的数据存储为变量,供后续请求使用。
  • 支持多种选择器:支持CSS选择器和JQuery语法,提供丰富的选择器功能。

配置步骤

  1. 添加 CSS/JQuery 提取器

    • 右键点击需要添加后处理器的请求或线程组。
    • 选择“添加” -> “后处理器” -> “CSS/JQuery 提取器”(CSS/JQuery Extractor)。
  2. 配置 CSS/JQuery 提取器

    • 名称:给 CSS/JQuery 提取器一个有意义的名称。
    • 应用到:选择要应用提取器的响应类型(例如,主样本、子样本等)。
    • CSS/JQuery表达式:输入用于匹配数据的选择器。
    • 匹配数字:设置要匹配的次数(例如,-1表示匹配所有,0表示随机匹配一个,1表示匹配第一个)。
    • 默认值:设置如果未找到匹配项时的默认值。
    • 输出变量名:设置提取的数据存储的变量名。

参数说明

  • 名称:给 CSS/JQuery 提取器一个有意义的名称。
  • 应用到:选择要应用提取器的响应类型,例如:
    • 主样本:仅应用到主样本。
    • 子样本:仅应用到子样本。
    • 主样本和子样本:应用到主样本和子样本。
  • CSS/JQuery表达式:输入用于匹配数据的选择器,支持CSS选择器和JQuery语法。
  • 匹配数字:设置要匹配的次数,例如:
    • -1:匹配所有。
    • 0:随机匹配一个。
    • 1:匹配第一个。
  • 默认值:设置如果未找到匹配项时的默认值。
  • 输出变量名:设置提取的数据存储的变量名,可以在后续请求中引用这个变量。

示例配置

假设我们需要测试一个Web应用,并从首页请求的响应中提取某个元素的文本内容,然后在后续请求中使用该文本内容。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加首页请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:首页请求
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:GET
      • 路径:请求的路径(例如/)。
  4. 添加 CSS/JQuery 提取器

    • 右键点击首页请求 -> 添加 -> 后处理器 -> CSS/JQuery 提取器。
    • 配置 CSS/JQuery 提取器:
      • 名称:提取标题文本
      • 应用到:主样本
      • CSS/JQuery表达式:h1.title
      • 匹配数字:1(匹配第一个)
      • 默认值:NoTitleFound
      • 输出变量名:title_text
  5. 添加后续请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:详情页请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:GET
      • 路径:/${title_text}
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。

优化建议

  1. 选择器准确性

    • 确保CSS选择器或JQuery表达式正确无误,能够准确匹配所需的数据。可以使用浏览器开发者工具中的“选择元素”功能进行验证。
  2. 匹配次数

    • 根据实际需求设置匹配次数。如果只需要第一个匹配项,设置为1;如果需要所有匹配项,设置为-1。
  3. 默认值

    • 设置合理的默认值,避免因未找到匹配项而导致测试失败。
  4. 输出变量名

    • 确保输出变量名有意义且易于理解,便于在后续请求中引用。
  5. 错误处理

    • 在测试计划中添加断言和监听器,确保提取的数据正确性和请求的成功率。

示例配置详细说明

假设我们有一个简单的测试计划,包含一个线程组和两个HTTP请求,并希望从首页请求的响应中提取某个元素的文本内容,然后在后续请求中使用该文本内容。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加首页请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:首页请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:GET
      • 路径:/
  4. 添加 CSS/JQuery 提取器

    • 右键点击首页请求 -> 添加 -> 后处理器 -> CSS/JQuery 提取器。
    • 配置 CSS/JQuery 提取器:
      • 名称:提取标题文本
      • 应用到:主样本
      • CSS/JQuery表达式:h1.title
      • 匹配数字:1(匹配第一个)
      • 默认值:NoTitleFound
      • 输出变量名:title_text
  5. 添加后续请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:详情页请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:GET
      • 路径:/${title_text}
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。

 

 

aafc4d46ddde4960bbd87e2e58220646.png


 

2--JSON JMESPath Extractor

功能特点

  • 数据提取:使用 JMESPath 表达式从JSON响应中提取特定的数据。
  • 动态参数传递:将提取的数据存储为变量,供后续请求使用。
  • 支持丰富的表达式:支持复杂的 JMESPath 表达式,提供丰富的数据提取功能。

配置步骤

  1. 添加 JSON JMESPath 提取器

    • 右键点击需要添加后处理器的请求或线程组。
    • 选择“添加” -> “后处理器” -> “JSON JMESPath 提取器”(JSON JMESPath Extractor)。
  2. 配置 JSON JMESPath 提取器

    • 名称:给 JSON JMESPath 提取器一个有意义的名称。
    • 变量名称前缀:设置提取的数据存储的变量名前缀。
    • JSON路径表达式:输入用于匹配数据的 JMESPath 表达式。
    • 匹配数字:设置要匹配的次数(例如,-1表示匹配所有,0表示随机匹配一个,1表示匹配第一个)。
    • 默认值:设置如果未找到匹配项时的默认值。

参数说明

  • 名称:给 JSON JMESPath 提取器一个有意义的名称。
  • 变量名称前缀:设置提取的数据存储的变量名前缀,实际变量名为前缀加上索引(例如,varName_1)。
  • JSON路径表达式:输入用于匹配数据的 JMESPath 表达式。
  • 匹配数字:设置要匹配的次数,例如:
    • -1:匹配所有。
    • 0:随机匹配一个。
    • 1:匹配第一个。
  • 默认值:设置如果未找到匹配项时的默认值。

示例配置

假设我们需要测试一个Web应用,并从登录请求的响应中提取用户的ID,然后在后续请求中使用该用户ID。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径:请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加 JSON JMESPath 提取器

    • 右键点击登录请求 -> 添加 -> 后处理器 -> JSON JMESPath 提取器。
    • 配置 JSON JMESPath 提取器:
      • 名称:提取用户ID
      • 变量名称前缀:user_id
      • JSON路径表达式:userId
      • 匹配数字:1(匹配第一个)
      • 默认值:NoUserIDFound
  5. 添加后续请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:用户详情请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:GET
      • 路径:/user/${user_id_1}
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。

优化建议

  1. JMESPath 表达式

    • 确保 JMESPath 表达式正确无误,能够准确匹配所需的数据。可以使用在线 JMESPath 测试工具进行验证。
  2. 匹配次数

    • 根据实际需求设置匹配次数。如果只需要第一个匹配项,设置为1;如果需要所有匹配项,设置为-1。
  3. 默认值

    • 设置合理的默认值,避免因未找到匹配项而导致测试失败。
  4. 变量名称前缀

    • 确保变量名称前缀有意义且易于理解,便于在后续请求中引用。
  5. 错误处理

    • 在测试计划中添加断言和监听器,确保提取的数据正确性和请求的成功率。

示例配置详细说明

假设我们有一个简单的测试计划,包含一个线程组和两个HTTP请求,并希望从登录请求的响应中提取用户的ID,然后在后续请求中使用该用户ID。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加 JSON JMESPath 提取器

    • 右键点击登录请求 -> 添加 -> 后处理器 -> JSON JMESPath 提取器。
    • 配置 JSON JMESPath 提取器:
      • 名称:提取用户ID
      • 变量名称前缀:user_id
      • JSON路径表达式:userId
      • 匹配数字:1(匹配第一个)
      • 默认值:NoUserIDFound
  5. 添加后续请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:用户详情请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:GET
      • 路径:/user/${user_id_1}
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。

1e0afbc094584f86b9f5dc8dbb9ca897.png


3--JSON 提取器

功能特点

  • 数据提取:使用 JSONPath 表达式从JSON响应中提取特定的数据。
  • 动态参数传递:将提取的数据存储为变量,供后续请求使用。
  • 支持丰富的表达式:支持复杂的 JSONPath 表达式,提供丰富的数据提取功能。

配置步骤

  1. 添加 JSON 提取器

    • 右键点击需要添加后处理器的请求或线程组。
    • 选择“添加” -> “后处理器” -> “JSON 提取器”(JSON Extractor)。
  2. 配置 JSON 提取器

    • 名称:给 JSON 提取器一个有意义的名称。
    • JSON路径表达式:输入用于匹配数据的 JSONPath 表达式。
    • 匹配数字:设置要匹配的次数(例如,-1表示匹配所有,0表示随机匹配一个,1表示匹配第一个)。
    • 默认值:设置如果未找到匹配项时的默认值。
    • 变量名称:设置提取的数据存储的变量名。

参数说明

  • 名称:给 JSON 提取器一个有意义的名称。
  • JSON路径表达式:输入用于匹配数据的 JSONPath 表达式。
  • 匹配数字:设置要匹配的次数,例如:
    • -1:匹配所有。
    • 0:随机匹配一个。
    • 1:匹配第一个。
  • 默认值:设置如果未找到匹配项时的默认值。
  • 变量名称:设置提取的数据存储的变量名,可以在后续请求中引用这个变量。

示例配置

假设我们需要测试一个Web应用,并从登录请求的响应中提取用户的ID,然后在后续请求中使用该用户ID。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径:请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加 JSON 提取器

    • 右键点击登录请求 -> 添加 -> 后处理器 -> JSON 提取器。
    • 配置 JSON 提取器:
      • 名称:提取用户ID
      • JSON路径表达式:$.userId
      • 匹配数字:1(匹配第一个)
      • 默认值:NoUserIDFound
      • 变量名称:user_id
  5. 添加后续请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:用户详情请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:GET
      • 路径:/user/${user_id}
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。

优化建议

  1. JSONPath 表达式

    • 确保 JSONPath 表达式正确无误,能够准确匹配所需的数据。可以使用在线 JSONPath 测试工具进行验证。
  2. 匹配次数

    • 根据实际需求设置匹配次数。如果只需要第一个匹配项,设置为1;如果需要所有匹配项,设置为-1。
  3. 默认值

    • 设置合理的默认值,避免因未找到匹配项而导致测试失败。
  4. 变量名称

    • 确保变量名称有意义且易于理解,便于在后续请求中引用。
  5. 错误处理

    • 在测试计划中添加断言和监听器,确保提取的数据正确性和请求的成功率。

示例配置详细说明

假设我们有一个简单的测试计划,包含一个线程组和两个HTTP请求,并希望从登录请求的响应中提取用户的ID,然后在后续请求中使用该用户ID。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加 JSON 提取器

    • 右键点击登录请求 -> 添加 -> 后处理器 -> JSON 提取器。
    • 配置 JSON 提取器:
      • 名称:提取用户ID
      • JSON路径表达式:$.userId
      • 匹配数字:1(匹配第一个)
      • 默认值:NoUserIDFound
      • 变量名称:user_id
  5. 添加后续请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:用户详情请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:GET
      • 路径:/user/${user_id}
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。

925a84cbfda04731af4b4e32e0c3797f.png


4--边界提取器

功能特点

  • 数据提取:基于前后边界字符串从响应中提取特定的数据。
  • 动态参数传递:将提取的数据存储为变量,供后续请求使用。
  • 简单易用:相比正则表达式,边界提取器的配置更简单直观。

配置步骤

  1. 添加边界提取器

    • 右键点击需要添加后处理器的请求或线程组。
    • 选择“添加” -> “后处理器” -> “边界提取器”(Boundary Extractor)。
  2. 配置边界提取器

    • 名称:给边界提取器一个有意义的名称。
    • 左边界:设置提取数据的左边界字符串。
    • 右边界:设置提取数据的右边界字符串。
    • 匹配数字:设置要匹配的次数(例如,-1表示匹配所有,0表示随机匹配一个,1表示匹配第一个)。
    • 默认值:设置如果未找到匹配项时的默认值。
    • 输出变量名:设置提取的数据存储的变量名。

参数说明

  • 名称:给边界提取器一个有意义的名称。
  • 左边界:设置提取数据的左边界字符串。
  • 右边界:设置提取数据的右边界字符串。
  • 匹配数字:设置要匹配的次数,例如:
    • -1:匹配所有。
    • 0:随机匹配一个。
    • 1:匹配第一个。
  • 默认值:设置如果未找到匹配项时的默认值。
  • 输出变量名:设置提取的数据存储的变量名,可以在后续请求中引用这个变量。

示例配置

假设我们需要测试一个Web应用,并从登录请求的响应中提取用户的会话标识符(例如JSESSIONID),然后在后续请求中使用该会话标识符。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径:请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加边界提取器

    • 右键点击登录请求 -> 添加 -> 后处理器 -> 边界提取器。
    • 配置边界提取器:
      • 名称:提取会话标识符
      • 左边界:JSESSIONID=
      • 右边界:;
      • 匹配数字:1(匹配第一个)
      • 默认值:NoSessionIDFound
      • 输出变量名:session_id
  5. 添加后续请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:用户详情请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:GET
      • 路径:/user
      • 参数
        • 名称:JSESSIONID
        • :${session_id}
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。

优化建议

  1. 边界字符串

    • 确保左边界和右边界字符串正确无误,能够准确匹配所需的数据。可以通过查看响应数据来验证边界字符串的准确性。
  2. 匹配次数

    • 根据实际需求设置匹配次数。如果只需要第一个匹配项,设置为1;如果需要所有匹配项,设置为-1。
  3. 默认值

    • 设置合理的默认值,避免因未找到匹配项而导致测试失败。
  4. 输出变量名

    • 确保输出变量名有意义且易于理解,便于在后续请求中引用。
  5. 错误处理

    • 在测试计划中添加断言和监听器,确保提取的数据正确性和请求的成功率。

示例配置详细说明

假设我们有一个简单的测试计划,包含一个线程组和两个HTTP请求,并希望从登录请求的响应中提取用户的会话标识符(例如JSESSIONID),然后在后续请求中使用该会话标识符。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加边界提取器

    • 右键点击登录请求 -> 添加 -> 后处理器 -> 边界提取器。
    • 配置边界提取器:
      • 名称:提取会话标识符
      • 左边界:JSESSIONID=
      • 右边界:;
      • 匹配数字:1(匹配第一个)
      • 默认值:NoSessionIDFound
      • 输出变量名:session_id
  5. 添加后续请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:用户详情请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:GET
      • 路径:/user
      • 参数
        • 名称:JSESSIONID
        • :${session_id}
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。

 

 

bb5aa6ef30e6457a938a3f51030f381e.png


 

 

标签:HTTP,匹配,请求,后置,添加,线程,处理器,提取,Jmeter
From: https://blog.csdn.net/2301_76862031/article/details/143652228

相关文章

  • 接口测试JMeter使用教程 (三)---接口关联
    我们在测试过程中一定会有这种情况,上一个接口要抓取数据传给下一个接口,也就是上一个接口的相应数据做为下一个接口的请求数据那我们来做这样一个登录然后加入购物车,先捋一下思路。1、登录----token(鉴权)2、加入购物车(把token带过去)那我们先登录后看返回的数据后置处理器......
  • Jmeter (5.6.3) Windows 使用示例
    步骤:1.下载apache-jmeter-5.6.3.zip2.解压,在环境变量Path中,新增jMeter的bin文件夹的路径3.在bin文件夹中,双击jmeter.bat->打开JMeter4.在JMeter的窗口中:文件->新建(创建测试计划)5.测试计划右键:添加->线程(用户)->线程组6.线程组右键:添加->取样器->HTTP请求7.HTTP请......
  • Linux CPU 拓扑结构之调度域 调度组 - 以8核ARM big.Little架构处理器为例
    CPU拓扑结构简介SMTLevel超线程处理器的一个核心MCLevel多核CPU的一个核心DIELevel一个物理CPU的晶片(注意不是package,package是封装好了的,肉眼看到的CPU处理器)(覆盖系统所有的CPU(CPU0~CPUN))cpu最小级别的就是超线程处理器的一个smt核,次小的一级就是一个多核cpu......
  • 【异常管理(全局异常处理器)】|【事务管理(使用AOP)】
    本篇主要介绍项目开发中两个比较基础但是非常重要的模块,异常管理和事务管理,如何去使用进行了介绍,着重对AOP的使用进行了介绍,实现一个基于AOP的简单案例:定位耗时较长的业务方法,统计部分业务方法的执行耗时。一、全局异常处理器需求:软件开发springboot项目过程中,不可避免的......
  • Jmeter接口测试流程详解
    1.Jmeter介绍Jmeter是一个基于java的开源性能测试工具,支持多线程并发测试。安装需先安装JDK,然后下载Jmeter并配置环境变量。主要元件包括测试计划、线程组、配置元件、取样器、断言和监听器等,它们按照特定顺序执行。线程组定义用户数和请求间隔,取样器发送不同类型的请求,断言......
  • 对 Wireshark、SolarWinds、Fiddler、TCPdump、NetworkMiner、Charles、JMeter、Fireb
    对Wireshark、SolarWinds、Fiddler、TCPdump、NetworkMiner、Charles、JMeter、Firebug、HTTPWatch和AntiARPSniffer等网络分析工具的详细对比分析,内容包括功能、特点、适用场景、平台支持等方面。表格总结了它们的主要区别与特点。工具名称功能适用场景平台支持优......
  • Jmeter并发线程场景下共享变量错乱问题解决
    问题复现问题描述使用IF控制器获取前一个请求的后置脚本中设置的全局变量->并发线程下通过vars.get获取变量时,第一个线程和第二个线程获取的变量值一样->导致不同基础数据的请求入参一样方法如下:vars.put("shoppingCartIdList",shoppingCartIdList.toString());/......
  • 流处理器与其他部件协同工作的过程
    流处理器与其他部件协同工作的过程如下:与CPU的协同:任务分配与指令传输:CPU负责整体的系统控制和任务调度。在图形渲染等需要大量并行计算的场景中,CPU将相关的图形数据处理任务分配给GPU。例如在运行3D游戏时,游戏的逻辑部分(如玩家的移动、游戏规则的判断等)由CPU处理,而......
  • GPU 架构是图形处理器
    GPU架构是图形处理器(GPU)的内部设计和组织方式,它决定了GPU的性能、功能和效率。以下是GPU架构的一些主要组成部分和相关特点:流处理器(StreamingProcessor)或着色器核心(ShaderCore):这是GPU中最基本的计算单元,负责执行图形渲染和计算任务中的各种计算操作,例如顶点着色、像......
  • 流处理器内部通常包含以下几个主要部分
    算术逻辑单元(ALU):功能:这是流处理器的核心运算部件,用于执行各种算术和逻辑运算,比如加法、减法、乘法、除法、比较、逻辑与、逻辑或等操作。在图形处理中,ALU会对图形数据进行大量的数学计算,例如对顶点的坐标进行变换、对像素的颜色值进行计算等;在通用计算任务中,如深度学习的训练......