首页 > 其他分享 >浅谈前置处理器之取样器超时

浅谈前置处理器之取样器超时

时间:2024-07-03 10:58:33浏览次数:21  
标签:java 浅谈 响应 SocketInputStream 测试 取样器 超时

浅谈前置处理器之取样器超时

取样器取样器超时设置决定了JMeter等待取样器完成并接收响应的最大时间长度。如果在这个时间内未收到响应,取样器将标记该请求为超时错误。

参数说明

● 在取样器超时的配置界面找到“Sample timeout(in milliseconds)进行设置。
● 超时值以毫秒为单位,默认情况下设置为10000。

为什么设置取样器超时很重要

  1. 控制测试稳定性:防止单个慢响应或无响应的取样器阻塞整个测试计划的执行。
  2. 模拟用户行为:在网络不稳定或服务器响应缓慢的情况下,模拟真实用户的放弃行为。
  3. 资源管理:避免因长时间等待响应而消耗不必要的系统资源。

应用实例

我们可以通过SpringBoot框架编写一个测试接口,部分代码如下

@RestController
public class Welcome {

    @GetMapping(value = "/welcome")
    public String welcome(){
        try{
            Thread.sleep(1000);
        }
        catch (Exception e){
            e.printStackTrace();
        }
        return "Hello World";
    }
}

我们编写如下脚本
在这里插入图片描述
线程组:保持默认
HTTP请求:协议:http,服务器名称或IP:127.0.0.1,端口号:8091,方法:GET,路径:/welcome,内容编码:UTF-8

情况1:超时时间范围内

取样器超时设置超时时间为10000毫秒,运行脚本查看结果树
在这里插入图片描述
脚本运行通过

情况2:响应超时

取样器超时设置超时时间为50毫秒,运行脚本查看结果树
在这里插入图片描述
脚本运行失败,查看HTTP请求中的响应数据

java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:170)
at java.net.SocketInputStream.read(SocketInputStream.java:141)

有相应的信息报错

应用场景

● 性能阶梯测试:随着测试的进行,逐步减小超时时间,以模拟用户耐心减少的情况。
● 环境适应性测试:根据目标测试环境的预期响应时间自动调整超时设置。

最佳实践

  1. 明确需求:在设置超时之前,理解应用程序的性能指标和用户期望。
  2. 测试验证:进行初步测试以确定合理的超时阈值,避免过早或过晚触发超时。
  3. 日志记录:使用监听器记录超时事件,以便分析和调优。
  4. 资源监控:在执行测试时,监控系统资源,确保超时不是由于资源不足导致的。

总结

通过上述方法和实践,可以有效地利用JMeter的前置处理器来管理和优化取样器超时设置,从而提高性能测试的精确度和效率。

标签:java,浅谈,响应,SocketInputStream,测试,取样器,超时
From: https://blog.csdn.net/u012151594/article/details/140146446

相关文章

  • 浅谈前置处理器之用户参数
    浅谈前置处理器之用户参数“用户参数”前置处理器是一个非常实用的功能,它可以在每个请求执行前动态地为HTTP请求等添加或替换变量值。本文档将详细介绍“用户参数”前置处理器的使用方法、特点以及与用户定义变量的区别。用户参数前置处理器简介用户参数前置处理器允许你......
  • 浅谈逻辑控制器之模块控制器
    浅谈逻辑控制器之模块控制器模块控制器(ModuleController)是一种高级逻辑控制器,它提供了一个强大的机制来复用和组织测试计划中的组件。本文档将深入介绍模块控制器的功能、配置方法及其应用场景。功能概述模块控制器允许用户在测试计划中引用另一个测试片段(通常是一个简......
  • Nginx超时重试、保护机制
    1.超时配置http{upstreambackend{serverbackend1.example.com;serverbackend2.example.com;serverbackend3.example.com;}server{location/{proxy_passhttp://backend;proxy_connec......
  • 万字长文浅谈系统稳定性建设
    1.背景京东的期中考试:618即将到来,各个团队都在进行期中考试前的模拟考试:军演压测,故障演练,系统的梳理以检测系统的稳定性以应对高可用,高性能,高并发。我们知道系统的稳定性建设是贯穿整个研发流程:需求阶段,研发阶段,测试阶段,上线阶段,运维阶段;整个流程中的所有参与人员:产品,研发,测试,......
  • CH5XX串口中断接收超时
    1.串口1初始化:/*配置串口1:先配置IO口模式,再配置串口*/GPIOA_SetBits(GPIO_Pin_9);GPIOA_ModeCfg(GPIO_Pin_8,GPIO_ModeIN_PU);//RXD-配置上拉输入GPIOA_ModeCfg(GPIO_Pin_9,GPIO_ModeOut_PP_5mA);//TXD-配置推挽输出,注意先让IO口输出高电平U......
  • 浅谈 K8s Service 网络机制
    浅谈K8sService网络机制云原生运维圈 2024-07-0112:03 上海 1人听过 以下文章来源于腾讯云原生 ,作者王成腾讯云原生.云原生技术交流阵地,汇聚云原生最新技术资讯、文章、活动,以及云原生产品及用户最佳实践内容。王成,腾讯云研发工程师,Kubernetesmember,从......
  • 关于docker-compose up -d 出现超时情况处理
    由于要搭建一个ctf平台,用docker一键搭建是出现超时情况用了很多办法,换源,等之类的一样没办法,似乎它就是只能用官方那个一样很怪。只能用一种笨办法来处理了,一个个pull。打个比如:打开相对应docker-compose.yml文件可以看到image就是需要去下载的。那么此时你就可以通过手动指......
  • 浅谈 Selenium 控制浏览器操作
    控制浏览器操作:(1)最大化、最小化浏览器:driver.maximize_window()(2)控制、获取浏览器大小:driver.get_window_size()(3)获取当前标签页title、url:print("标签页title:{}".format(driver.title))print("标签页url:{}".format(driver.current_url))(4)前进、后退、刷新:#前进driver......
  • docker拉取镜像超时,配置代理拉取
    近日一些提供公有镜像仓库的组织宣布因监管要求被下架,导致我们很多镜像无法拉取,恢复日期暂不可知,所以只能使用一点魔法1.首先给服务器配置代理,这里使用的是V2free,官网地址如下https://w1.v2ai.top/doc/#/linux/clashhttps://w1.v2ai.top/doc/#/linux/clashweb.htm......
  • 【杂记-浅谈FTP文件传输协议】
    FTP文件传输协议一、FTP协议概述二、FTP的安全隐患三、FTP服务器配置问题四、FTP的安全加固方法一、FTP协议概述FTP,FileTransferProtocol,即文件传输协议,是一种用于在网络上进行文件传输的标准协议,它允许用户在客户端和服务器之间传输文件,支持上传、下载、删除和重......