什么是压力测试?如何进行Jmeter压力测试

news2024/11/16 21:02:28

一、什么是压力测试
软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。

常用的压力测试软件有:LoadRunner、Apache JMeter、NeoLoad、WebLOAD、Loadster、Load impact、CloudTest、Loadstorm、阿里云PTS等等,本文介绍的是使用Apache JMeter来进行压力测试。

二、压力测试关注点
1.压力测试分为两种测试场景:一种是单一接口进行压测;第二种是多个接口同时压测。压测时间,一般控制在10-15分钟。如果是疲劳测试,可以压一天或一周,具体按照实际情况确定。

2.压测设置参数:

1)线程数:用于设置并发数量,也就是多少个用户同时访问

2)Rame-Up Period(in seconds):控制每隔多少秒内发动并发

3)循环次数:用于设置线程组的循环次数

4)调度器:设置压测的持续时间、延时时间

3.压测结果查看

脚本运行完成后,可通过查看结果树和聚合报告结果来显示接口是否运行成功及压测结果参数,主要关注的参数有:

1)Samples:表示一共发出的请求书

2)Average:平均响应时间,单位ms

3)Error%:测试出现的错误请求数量百分比

4)Throughput:吞吐量,简称tps,表示服务器每秒处理的请求数,tps越高说明服务器处理能力越好

4.最大tps及最大并发数的确定

1)最大tps:随着并发数不断增加,tps数值曲线会达到一定峰值后开始出现下降,那么这个峰值就是最大的tps。

2)最大的并发数:随着并发数不断增加,某个值之后,服务器开始出现请求超时,则这个值就是最大的并发数。

5.影响性能的主要参考因素主要包括:数据库、应用程序、中间件、网络和操作系统等方面。

三、压力测试步骤
1.创建线程组
点击选中测试计划,右键点击创建线程组

 点击线程组,这里可以设置名称,添加注释,设置线程数(每次有多少线程同时开启)、线程响应时间(多少秒完成线程)、循环次数(每个线程数需要开启几次)等

2.创建取样器(以HTTP为例)

点击选中线程组,右键添加取样器输入协议

点击刚设置的取样器,这里可以设置名称,设置http/https(不输入默认为http),服务器IP,端口号(不输入默认80端口),选择HTTP请求类型,相关路径(若无则不填),以下以百度为例

3.最后需要添加监听器获取监控结果

同样选择线程组,右键添加监听器

常用的有汇总报告,察看结果树,聚合报告

3.1汇总报告

这里可以看到每个请求以及总体的各项指标,我们要关注的是异常百分比和吞吐量,异常百分比越大,性能就越差,吞吐量越大效率越高

3.2察看结果树

这里可以看到响应数据和请求内容,以及取样器结果等

取样器结果如下图,请求栏有请求头和请求数据,响应数据栏有响应头和响应数据。

 

响应数据一般为HTML源码,请求头主要记录的是时间,返回状态等等数据,点击Text右边的三角形可以切换观察的数据格式,如JSON等

3.3聚合报告

这里能看的数据包含了汇总报告的内容,并且还能看到百分比响应时间等数据,相对于汇总报告,百分比响应是我们更需要关注的地方,如果不需要了解太深,就用汇总报告,需要了解更多的就需要用到聚合报告

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

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

相关文章

深度学习-调参技巧总结

针对CNN优化的总结 使用没有 batchnorm 的 ELU 非线性或者有 batchnorm 的 ReLU。用类似1*1的网络结构预训练RGB数据, 能得到更好的效果。使用线性学习率衰退策略。使用平均和最大池化层的和。使用大约 128(0.005) 到 256 (0.01&a…

5.1 - Web漏洞 - XSS漏洞详解

「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 XSS漏洞 一、什么是XSS?二、XSS概述三、靶场练习四、XSS使用步骤五、XSS攻击类…

el-table动态表头数据渲染

desc:el-table的数据是后端动态返回的,包括表头的情况下如何进行渲染 // 第一页的数据 {"code": 1,"message": "查询成功","data": {"current": 1,"size": 10,"total": 41,"…

企业如何通过CRM系统做好客户管理?

企业如何通过CRM系统做好客户管理? CRM客户管理作为一种综合性的管理思想,可以帮助我们更好地了解客户需求和行为,制定更加精准的销售和服务策略,提高客户满意度和忠诚度,从而实现可持续发展。 接下来将给大家详细介…

SQL——事务

🎈 什么是事务 💧 概念 事务是用于保证数据的一致性,它由一组相关的DML(增、删、改)语句,该组的DML语句要么全部成功,要么全部失败。使用事务可以确保数据库的一致性和完整性,避免数据出现异常…

“微商城”项目(5登录和注册)

1.我的信息 在pages\User.vue文件中编写HTML结构代码&#xff0c;示例代码如下。 <template><div class"member"><div class"header-con"><router-link :to"{ name: login }" class"mui-navigate-right">&l…

段 寄 存 器-汇编复习(5)

图解演示8086CPU CS执行过程和逻辑 段 寄 存 器 8086CPU 在访问内存时要由相关部件提供内存单元的段地址和偏移地址,送入地址加法器合成物理地址。这里,需要看一下,是什么部件提供段地址。段地址在 8086CPU 的段寄存器中存放。8086CPU 有 4 个段存器: CS、DS、SS、ES。当80…

力扣刷题笔记——动态规划

动态规划基础 简称DP&#xff0c;如果某⼀问题有很多重叠⼦问题&#xff0c;使⽤动态规划是最有效的。 动态规划中每⼀个状态⼀定是由上⼀个状态推导出来的 1. 确定dp 数组&#xff08; dp table &#xff09;以及下标的含义 2. 确定递推公式 3. dp 数组如何初始化 4. 确定遍…

深度学习的分割方法

FCN&#xff1a;基于深度学习的语义分割模型 语义分割的定义&#xff1a;对像素进行精细化的分类。 用深度学习来解决语义分割&#xff0c;所面临的主要问题是&#xff1a; 早期的深度模型用于分类&#xff0c;输出一维向量&#xff0c;无法分割 深度模型不够精细 动机 如…

谈谈互联网广告拍卖机制的发展:从GSP到DeepAuction

广告作为各互联网公司收入的大头&#xff0c;其拍卖机制设计因此也是关乎营收最为核心的方面。所谓的广告拍卖机制设计是指如何将有限的广告位分配给合适的广告&#xff0c;从而达到客户、平台以及用户三方的价值最优。 当前的广告拍卖被建模为暗拍的形式&#xff0c;即N个广告…

ROS:launch启动文件的使用方法

目录 一、launch文件结构二、launch文件语法2.1根元素2.2参数设置2.3重映射、嵌套 三、示例3.1示例一3.2示例二3.3示例三3.4示例四 一、launch文件结构 由XML语言写的&#xff0c;可实现多个节点的配置和启动。 不再需要打开多个终端用多个rosrun命令来启动不同的节点了 可自动…

Swift 周报 第三十期

文章目录 前言新闻和社区App、App 内购买项目和订阅即将实行税率调整码出新宇宙Apple 公证服务更新Apple 设计大奖入围名单公布 提案通过的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swift 编辑组自主整理周报的第二十一期&#xff0c;每个模块已初步成型。各位读者…

C++进阶 —— C++11新增容器

目录 一&#xff0c;array 二&#xff0c;forward_list 三&#xff0c;unordered unordered_set unordered_multiset unordered_map unordered_multimap 静态数组array、forward_list、unordered系列&#xff1b; 一&#xff0c;array array是固定大小尺寸的序列容器&am…

2023年6月东莞/惠州/深圳CPDA数据分析师认证招生

CPDA数据分析师认证是大数据方面的认证&#xff0c;助力数据分析人员打下扎实的数据分析基础知识功底&#xff0c;为入门数据分析保驾护航。 帮助数据分析人员掌握系统化的数据分析思维和方法论&#xff0c;提升工作效率和决策能力&#xff0c;遇到问题能够举一反三&#xff0c…

100天精通Golang(基础入门篇)——第1天:学习Go语言基本概念

&#x1f337; 博主 libin9iOak带您 Go to Golang Language.✨ &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &#x1f30a; 《I…

实战:Spring Cloud Stream消息驱动框架整合rabbitMq

文章目录 前言Spring Cloud Stream简析Spring Cloud Stream与rabbitmq整合1、添加pom依赖2、application.yml增加mq配置3、定义输入输出信道4、使用输入输出信道收发消息5、模拟正常消息消费6、模拟异常消息 前言 相信很多同学都开发过WEB服务&#xff0c;在WEB服务的开发中一…

Web端3D模型轻量化工具如何实现建筑行业“数字化”建设?

随着数字化技术的飞速发展&#xff0c;建筑行业也在不断寻找新的技术手段来提供高产能和建筑质量。其中&#xff0c;Web端3D模型轻量化工具HOOPS Communicator SDK在建筑行业中的应用不断地得到了市场的广泛注意和应用。本文将深入探讨HOOPS Communicator在建筑行业中的应用及其…

转动的车轮-第14届蓝桥杯国赛Scratch真题初中级组第2题

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第144讲。 转动的车轮&#xff0c;本题是2023年5月28日上午举行的第14届蓝桥杯国赛Scratch图形化编程初中级组真题第2题…

Python数据攻略-DataFrame的数据操作

大家好&#xff0c;我是Mr数据杨&#xff0c;今天我们就来谈谈Python中的数据访问和修改。 首先&#xff0c;你们一定都听过《三国演义》吧&#xff0c;里面的人物和事情其实就像我们Python中的数据。比如曹操就像我们的数据元素&#xff0c;他的性格特点、军事才能等就像我们…

5年开发经验,看完这份37W字Java高性能架构,终于拿到架构师薪资

其实现在很多的开发人员并不能解决从架构的角度全方位地了解在Java编程过程中各阶段会出现的典型问题&#xff0c;更没办法深入到底层原理了解问题出现的原因&#xff01; 且随着当下面试越来越深入到底层&#xff0c;如果大家对于底层的原理不了解的话&#xff0c;是很难做出…