聊城手机网站公司电话/网络广告电话

聊城手机网站公司电话,网络广告电话,自己电脑怎么做web网站吗,wordpress微信文章软件测试 —— jmeter(2) HTTP默认请求头(元件)元件作用域和取样器作用域HTTP Cookie管理器同步定时器jmeter插件梯度压测线程组(Stepping Thread Group)参数解析总结 Response Times over TimeActive Thre…

软件测试 —— jmeter(2)

  • HTTP默认请求头(元件)
  • 元件作用域和取样器作用域
  • HTTP Cookie管理器
  • 同步定时器
  • jmeter插件
  • 梯度压测线程组(Stepping Thread Group)
      • 参数解析
      • 总结
  • Response Times over Time
  • Active Threads Over time
  • 聚合报告
  • 测试报告
      • 性能分析
        • 响应时间
        • 错误率(可靠性)
        • 吞吐量

上一次我们简单介绍了一下jmeter和简单使用了一下jmeter,今天我们继续介绍一下jmeter中的其他插件:

HTTP默认请求头(元件)

我们之前创建了一个HTTP请求,我们的手动输入信息:
在这里插入图片描述如果我们有很多的HTTP请求,每一个我们都要手动输入的话,那就太麻烦了,所以我们可以默认配置HTTP的默认请求:

在测试计划上右击:
在这里插入图片描述在这里插入图片描述
里面填上相应的信息:
在这里插入图片描述这个时候我们可以把原来HTTP请求中信息抹掉:
在这里插入图片描述这个时候点击运行:
在这里插入图片描述并且我再添加HTTP请求,都是会按照我们默认请求值里面的信息配置:
在这里插入图片描述

元件作用域和取样器作用域

如果我们此时再创建一个线程组,添加HTTP请求:
在这里插入图片描述这个时候,HTTP请求3会报错:
在这里插入图片描述我们发现HTTP请求3没有按照之前的配置填入信息,但此时我把HTTP请求默认值给它拉到外面:
在这里插入图片描述在这里插入图片描述
此时请求通过了,这就说明我们改变了HTTP请求默认值元件的作用范围。
在这里插入图片描述在这里插入图片描述这就要谈到元件取样器的作用范围了
元件作用域只对它的子节点有作用

在这里插入图片描述
取样器(sampler)元件内组件不依赖其他元件就可执行,因此取样器不存在作用问题
在这里插入图片描述

HTTP Cookie管理器

我们还有另外一个元件,HTTP Cookie管理器
在这里插入图片描述HTTP Cookie管理器像Web浏览器⼀样存储和发送Cookie。如果HTTP请求并且响应包含cookie,则Cookie管理器会⾃动存储该cookie,并将其用来于将来对该特定网站的所有请求。每个JMeter线程都有自己的"cookie存储区"。因此,正在测试使用cookie存储会话信息的⽹站,则每个JMeter线程都将拥有自己的会话。此类Cookie不会显⽰在Cookie管理器显⽰屏上,可以使⽤"查看结果树监听器"查看。

缓存配置可选择standard(标准)或compatibility(兼容的),当然也可以手工添加⼀些cookie.添加了HTTP Cookie管理器后,会自动存储并发送Cookie。

同步定时器

我们看到右上角的黄色三角形符号:
在这里插入图片描述点击之后会进入到界面,这个时候,我们再次运行:
在这里插入图片描述
我们就可以看到各个线程的执行情况,我们看到所有的线程并不是同一时间准备好的,这样我们无法模拟并发的场景,这个时候我们要添加同步计时器
在这里插入图片描述在这里插入图片描述

模拟用户组的数量和线程组的数量是一致的。这里注意一下,配置好之后放到全局范围我们再来看:
在这里插入图片描述我们发现两个线程组是同时启动的,这样就可以模拟并发场景了。

jmeter插件

如果我们还想要安装其他的插件,我们就要安装一下小蝴蝶
点击这个跳到对应官网:

https://jmeter-plugins.org/install/Install/

在这里插入图片描述
在这里插入图片描述
下载好了之后,把插件移动到lib下的ext下:
在这里插入图片描述
关闭jmeter之后,再次打开,右上角就会多了一个小蝴蝶的标志:
在这里插入图片描述
点击进去就可以搜索下载对应的插件:
在这里插入图片描述
我们先安装一个线程组的插件:
在这里插入图片描述
点击下方的Apply,就会安装好了重启,之后我们右击查看关于线程组的元件多了两个:

在这里插入图片描述
然后我们安装一下extra,帮助我们看到结果:
在这里插入图片描述

梯度压测线程组(Stepping Thread Group)

右击,添加梯度压测线程组(Stepping Thread Group)
在这里插入图片描述在这里插入图片描述
我们来解释一下这几个参数是啥意思:
在这里插入图片描述
这张图显示了JMeter中线程组(Thread Group)的调度参数配置。以下是各个参数的详细解析:

参数解析

  1. This group will start [number] threads:
  • 设置为 100:表示这个线程组将启动100个虚拟用户(threads)。
  1. First, wait for [number] seconds:
  • 设置为 0:表示在启动任何线程之前,等待0秒。这意味着线程会立即开始执行。
  1. Then start [number] threads:
  • 设置为 0:表示在等待时间结束后,立即启动0个线程。这里设置为0,意味着不会立即启动任何线程。
  1. Next, add [number] threads every [number] seconds, using ramp-up [number] seconds:
  • 设置为 20 threads every 3 seconds, using ramp-up 3 seconds:
    • 表示每3秒增加20个线程,并且每个线程的启动间隔为3秒。
    • 例如,在第3秒时启动第一个线程,在第6秒时启动第二个线程,以此类推,直到所有20个线程都启动完毕。
  1. Then hold load for [number] seconds:
  • 设置为 6:表示在所有线程启动后,保持负载(即所有线程都在运行)6秒。
  1. Finally, stop [number] threads every [number] seconds:
  • 设置为 20 threads every 10 seconds:
  • 表示在保持负载6秒后,每10秒停止20个线程。
  • 例如,在第7秒时停止前20个线程,在第17秒时停止接下来的20个线程,以此类推,直到所有线程都停止。

总结

  • 初始阶段
  • 立即启动0个线程。
  • 每3秒增加20个线程,每个线程的启动间隔为3秒。
  • 负载保持阶段
  • 在所有线程启动后,保持负载6秒。
  • 停止阶段
  • 每10秒停止20个线程,直到所有线程都停止。

为了能够看到启动了梯度压测线程组的变化,我们也得添加一些监听器:

Response Times over Time

右击添加,Response Times over Time:
在这里插入图片描述
在这里插入图片描述这样我们在启动的时候,就会在这上面看到实际的情况,记得往线程组中添加请求:
在这里插入图片描述在这里插入图片描述

Active Threads Over time

我们还可以添加Active Threads Over time来查看线程的活动情况:
在这里插入图片描述在这里插入图片描述

聚合报告

从聚合报告可以看到性能测试过程中整体的数据变化:
在这里插入图片描述
在这里插入图片描述

指标说明
Samples发起的 HTTP 请求调用数
Average平均响应时间,单位为毫秒
Median请求调用响应时间的中间值,也就是 50% 请求调用的响应时间,单位为毫秒
90%Line90% 请求调用的响应时间,单位为毫秒
95%Line95% 请求调用的响应时间,单位为毫秒
99%Line99% 请求调用的响应时间,单位为毫秒
Min请求调用的最小响应时间,单位为毫秒
Max请求调用的最大响应时间,单位为毫秒
Error%调用失败的请求占比。调用失败一般指响应断言失败或者请求调用出错
ThroughputTPS/QPS,每秒处理的事务数
KB/sec每秒网络传输的流量大小,单位为 KB。这个指标是以网络传输的大小来衡量网络的吞吐量

测试报告

JMeter测试报告是⼀个全面而详细的文档,它提供了关于测试执行结果的详细信息,帮助用户全面评估系统的性能并进行性能优化。

生成性能测试报告的命令:

Jmeter -n -t 脚本文件 -l 日志文件 -e -o ⽬录
-n : 无图形化运⾏
-t : 被运行的脚本
-l : 将运行信息写入志文件,后缀为jtl的日志文件
-e : 生成测试报告
-o : 指定报告输出目录

在这里插入图片描述执行成功之后会有对应的报告文件:
在这里插入图片描述在这里插入图片描述

性能分析

通过三大指标来分析性能问题:

响应时间

定义:响应时间是指从客户端发出请求到接收到服务器响应的整个过程所需的时间。

瓶颈指示:如果响应时间超过了要求,这可能意味着系统已经到达了其处理能力的极限或存在其他性能瓶颈。

注意事项

  • 分析在多少线程的情况下发生了响应时间超标的情况。
  • 注意响应时间的变化趋势,以确定是否存在系统不稳定的问题。

响应时间变化的原因

  • 系统不稳定:系统有时快有时慢,可能是由于资源竞争、负载不均等因素导致。
  • 并发压力增大:随着并发用户的增加,响应时间可能会逐渐变长,表明系统在高负载下的性能下降。
错误率(可靠性)

定义:错误率衡量的是系统在高并发场景下能否正常处理业务请求的能力。通常要求达到极高的可靠性标准,如99.99%或更高。

错误率高的原因

  • 接口请求错误:API调用失败,可能是由于参数错误、网络问题等。
  • 服务器无法继续处理:当服务器达到其处理极限时,可能导致错误率上升。这可能是由于代码质量问题、内存泄漏或其他硬件资源限制。
  • 后端系统限流、熔断、降级:为了保护系统的稳定性,可能会对某些服务实施限流措施,或者在检测到异常时采取熔断和降级策略。

什么是熔断、降级?

  • 熔断:防止系统因某个服务的故障而整体崩溃。例如,在电商平台上用户支付时,若发现某支付渠道(如微信支付)失败率突增或超时严重,可以临时将该支付方式熔断,即停止使用这一渠道以保护系统的其余部分。
  • 降级:主动关闭一些非核心功能,确保核心功能的正常运行。例如,腾讯视频在出现问题时,用户名默认显示为“腾讯用户”,这是一种降级方式,使用兜底名称进行展示以保证基本服务的可用性。
吞吐量

定义:吞吐量指的是单位时间内系统能够处理的请求数量。一般而言,吞吐量越大,性能越好。

吞吐量变化规律

  • 波动很大:这代表系统性能不稳定,可能存在资源分配不合理等问题。
  • 慢慢变高,再趋于稳定:这种模式通常与并发量强相关。随着并发量从小到大逐渐增加,吞吐量也会相应增长,直到达到一个稳定的水平。
  • 慢慢变低,并发量也减少了:这可能是性能测试接近尾声,人为减少并发量的结果;但也可能是系统变得卡顿,响应时间变慢,从而导致单个线程发起的并发量减少。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/68631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信息安全专业优秀毕业设计选题汇总:热点选题

目录 前言 毕设选题 开题指导建议 更多精选选题 选题帮助 最后 前言 大家好,这里是海浪学长毕设专题! 大四是整个大学期间最忙碌的时光,一边要忙着准备考研、考公、考教资或者实习为毕业后面临的升学就业做准备,一边要为毕业设计耗费大量精力。学长给大家整理…

在线课堂小程序设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

vim如何解决‘’文件非法关闭后,遗留交换文件‘’的问题

过程描述: 由于我修改文件时(一定得修改了文件,不做任何修改不会产生这个问题)的非法关闭,比如直接关闭虚拟机,或者直接断开远程工具的远程连接,产生了以下遗留交换文件的问题: 点击…

SpringBoot 数据访问(MyBatis)

SpringBoot 数据访问(MyBatis) 向 SQL 语句传参 #{} 形式 #{}:如果传过来的值是字符串类型。那两边会自动加上 单引号。当传递给 #{} 的参数值是非字符串类型(如整数、浮点数、布尔值等),MyBatis 不会为这些值添加引…

SpringBoot整合Swagger UI 用于提供接口可视化界面

目录 一、引入相关依赖 二、添加配置文件 三、测试 四、Swagger 相关注解 一、引入相关依赖 图像化依赖 Swagger UI 用于提供可视化界面&#xff1a; <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactI…

【ArcGIS遇上Python】批量提取多波段影像至单个波段

本案例基于ArcGIS python,将landsat影像的7个波段影像数据,批量提取至单个波段。 相关阅读:【ArcGIS微课1000例】0141:提取多波段影像中的单个波段 文章目录 一、数据准备二、效果比对二、python批处理1. 编写python代码2. 运行代码一、数据准备 实验数据及完整的python位…

[EAI-027] RDT-1B: a Diffusion Foundation Model for Bimanual Manipulation

Paper Card 论文标题&#xff1a;RDT-1B: a Diffusion Foundation Model for Bimanual Manipulation 论文作者&#xff1a;Songming Liu, Lingxuan Wu, Bangguo Li, Hengkai Tan, Huayu Chen, Zhengyi Wang, Ke Xu, Hang Su, Jun Zhu 论文链接&#xff1a;https://arxiv.org/ab…

可扩展架构:如何打造一个善变的柔性系统?

系统的构成:模块 + 关系 我们天天和系统打交道,但你有没想过系统到底是什么?在我看来,系统内部是有明确结构 的,它可以简化表达为: 系统 = 模块 + 关系 在这里,模块是系统的基本组成部分,它泛指子系统、应用、服务或功能模块。关系指模块 之间的依赖关系,简单…

【LLM】DeepSeek-R1-Distill-Qwen-7B部署和open webui

note DeepSeek-R1-Distill-Qwen-7B 的测试效果很惊艳&#xff0c;CoT 过程可圈可点&#xff0c;25 年应该值得探索更多端侧的硬件机会。 文章目录 note一、下载 Ollama二、下载 Docker三、下载模型四、部署 open webui 一、下载 Ollama 访问 Ollama 的官方网站 https://ollam…

讯飞智作 AI 配音技术浅析(二):深度学习与神经网络

讯飞智作 AI 配音技术依赖于深度学习与神经网络&#xff0c;特别是 Tacotron、WaveNet 和 Transformer-TTS 模型。这些模型通过复杂的神经网络架构和数学公式&#xff0c;实现了从文本到自然语音的高效转换。 一、Tacotron 模型 Tacotron 是一种端到端的语音合成模型&#xff…

JavaScript 进阶(下)

原型 what 首先&#xff0c;构造函数通过原型分配的函数是所有对象所 共享的。 然后&#xff0c;JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象 这个对象可以挂载函数&#xff0c;对象实…

Effective Objective-C 2.0 读书笔记—— 消息转发

Effective Objective-C 2.0 读书笔记—— 消息转发 文章目录 Effective Objective-C 2.0 读书笔记—— 消息转发前言消息转发机制概述动态方法解析处理dynamic的属性用于懒加载 消息转发快速消息转发完整消息转发 总结 前言 在前面我学习了关联对象和objc_msgSend的相关内容&a…

Hive:struct数据类型,内置函数(日期,字符串,类型转换,数学)

struct STRUCT&#xff08;结构体&#xff09;是一种复合数据类型&#xff0c;它允许你将多个字段组合成一个单一的值, 常用于处理嵌套数据&#xff0c;例如当你需要在一个表中存储有关另一个实体的信息时。你可以使用 STRUCT 函数来创建一个结构体。STRUCT 函数接受多个参数&…

嵌入式知识点总结 Linux驱动 (二)-uboot bootloader

针对于嵌入式软件杂乱的知识点总结起来&#xff0c;提供给读者学习复习对下述内容的强化。 目录 1.什么是bootloader&#xff1f; 2.Bootloader的两个阶段 3.uboot启动过程中做了哪些事&#xff1f; 4.uboot和内核kernel如何完成参数传递&#xff1f; 5.为什么要给内核传递…

Unbutu虚拟机+eclipse+CDT编译调试环境搭建

问题1: 安装CDT&#xff0c;直接Help->eclipse Market space-> 搜cdt , install&#xff0c;等待重启即可. 问题2&#xff1a;C变量不识别vector ’could not be resolved 这是库的头文件没加好&#xff0c;右键Properties->C Build->Enviroment&#xff0c;增加…

碳化硅MOSFET相对IGBT和超结MOSFET出现价格倒挂预示着什么

碳化硅&#xff08;SiC&#xff09;MOSFET相对于IGBT和超结MOSFET出现价格倒挂&#xff08;即SiC MOSFET单价低于传统硅基器件&#xff09;&#xff0c;这一现象反映了化合物半导体产业的深刻变革&#xff0c;并预示着技术、市场和产业链格局的多重演变。倾佳电子杨茜从技术突破…

openRv1126 AI算法部署实战之——TensorFlow TFLite Pytorch ONNX等模型转换实战

Conda简介 查看当前系统的环境列表 conda env list base为基础环境 py3.6-rknn-1.7.3为模型转换环境&#xff0c;rknn-toolkit版本V1.7.3&#xff0c;python版本3.6 py3.6-tensorflow-2.5.0为tensorflow模型训练环境&#xff0c;tensorflow版本2.5.0&#xff0c;python版本…

LabVIEW无线齿轮监测系统

本案例介绍了基于LabVIEW的无线齿轮监测系统设计。该系统利用LabVIEW编程语言和改进的天牛须算法优化支持向量机&#xff0c;实现了无线齿轮故障监测。通过LabVIEW软件和相关硬件&#xff0c;可以实现对齿轮箱振动信号的采集、传输和故障识别&#xff0c;集远程采集、数据库存储…

SpringBoot+Vue的理解(含axios/ajax)-前后端交互前端篇

文章目录 引言SpringBootThymeleafVueSpringBootSpringBootVue&#xff08;前端&#xff09;axios/ajaxVue作用响应式动态绑定单页面应用SPA前端路由 前端路由URL和后端API URL的区别前端路由的数据从哪里来的 Vue和只用三件套axios区别 关于地址栏url和axios请求不一致VueJSPS…

jQuery小游戏(一)

jQuery小游戏&#xff08;一&#xff09; 嘻嘻&#xff0c;今天我们来写个jquery小游戏吧 首先&#xff0c;我们准备一下写小游戏需要准备的佩饰&#xff0c;如果&#xff1a;图片、音乐、搞怪的小表情 这里我准备了一些游戏中需要涉及到的图片 游戏中使用到的方法 eval() 函…