什么是压测,为什么要进行压力测试?JMETER工具的使用

什么是压力测试?如何进行Jmeter压力测试 软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。常用的压力测试软件有:LoadRunner、Apache JMeter、NeoLoad、WebLOAD、Loadster、Load impact、CloudTest、Loadstorm、阿里云PTS等等,本文介绍的是使用Apache JMeter来进行压力测试。同样选择线程组,右键添加监听器。 阅读详情

这里是修真院后端小课堂,每篇分享文从

八个方面深度解析后端知识/技能,本篇分享的是:

【什么是压测,为什么要进行压力测试?JMETER工具的使用】

【修真院JAVA小课堂】什么是压测,为什么要进行压力测试?JMETER工具的使用

大家好,我是IT修真院郑州分院第11期的JAVA学员,一枚正直纯洁善良的java程序员。

今天给大家分享一下,什么是压测,为什么要进行压力测试?JMETER工具的使用。

1.背景介绍

压测,即压力测试,是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患。

一般针对网络游戏压力测试。对网络游戏的服务器不断施加“压力”的测试。通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。

JMeter是Apache组织开发的基于Java的压力测试工具。它可以用于测试静态和动态资源,可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。

另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

2.知识剖析

压测的类型

1.峰值测试:主要是考验一个服务器承载上限

2.同屏压测:即同一屏幕同时承载测试

3.行为压测:即根据用户行为消耗资源测试

4.数据压测:即数据上限测试

5.设备压测:不同的设备支持不同的运行环境

Jmeter七种主要组件

1.逻辑控制器(LogicController):控制JMeter发送请求,LogicController主要是用来控制JMeter发送请求(也就是采样器)的处理顺序。

2.采样器(Sampler):发送一个具体的请求到指定服务器,Sampler也就是发送一个具体的请求到指定服务器,等待服务器的请求。也会根据LogicController来改变运行的次数和顺序。

3.配置元件(ConfigElement):只是配置一些默认的属性和信息,它不会向服务器发送任何的请求。

4.监听器(Listener):测试结果用数据进行处理并展示出来,Listener是把测试结果用数据进行处理并展示出来。查看结果树,用表格查看结果,图形结果,聚合报告等

5.断言(Assertions):用于检查测试中得到的数据和我们预期的结果是否相同

6.前置处理器(PerProcessors):在发出请求之前对请求进行特殊的处理

7.后置处理器(PostProcessors):对采样器发出请求后得到的服务器响应进行处理

JMeter-线程组

1.setup thread group 一种特殊类型的线程组,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。

2.teardown thread group 一种特殊类型的线程组,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。

3.thread group(线程组) 我们通常添加运行的线程。通俗的说所有的任务都是基于线程组,开通多少个线程就代表有多少个并发用户。

3.常见问题

1)jmeter压力测试具体操作

4.编码实战

5.扩展思考

1.组件执行顺序

(1)配置元件(config elements )

(2)前置处理程序(Per-processors)

(3)定时器(timers )

(4)取样器(Sampler)

(5)后置处理程序(Post-processors) (除非Sampler 得到的返回结果为空)

(6)断言(Assertions)(除非Sampler 得到的返回结果为空)

(7)监听器(Listeners)(除非Sampler 得到的返回结果为空)

2.90%line响应时间为什么要稳定在500ms

用户发起一个请求时最多的响应延时为0.5s,当超过0.5s时用户可以清晰的感受到页面的卡顿,理论上讲0.2s是最完美的响应延时,此时用户发起的请求就是秒开。

3.性能测试的目的

性能测试的目的是验证软件系统能否达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈, 以优化软件,最后起到优化系统的目的。

包括以下结构方面:

评估系统的能力、识别系统中的弱点、系统调优、测试软件中的问题、验证稳定性(Resilience)和可靠性(Reliability)。

6.参考文献

http://www.kokojia.com/article/20582.html

https://www.cnblogs.com/guoyuanping/p/8284346.html

7.更多讨论

1)JMeter的工作原理是什么?

向服务器提交请求;从服务器取回请求返回的结果。

2)为何测试对象是http和https混杂出现?

Https是加密协议,为了安全,一般不推荐使用http,但是有些地方,使用https过于复杂或者较难实现,会采用http协议。

3)为什么脚本刚开始运行就有错误,其后来的脚本还可运行?

在Thread Group中有相关设置,如果选择了continue,即使前面的脚本出现错误,整个thread仍会运行直到结束。选择Stop Thread会结束当前thread;选择Stop Test则会结束全部的thread。推荐选项是Stop Thread。

4)系统性能好的表现

①随着用户数的增长,事务响应时间增长缓慢。

②随着用户数的增加,服务器每秒请求数也在增加。

③服务器接受到的数据流量随着用户数的增加而上升。

如何进行JMeter分布式压测?一个案例教你详细解读! 当前快速发展的互联网应用领域,高效的性能测试已经成为了确保在线应用质量和用户满意度的重要手段之一。 而JMeter分布式压测则是实现这一目标的最佳选择。然而,很多人并不知道如何使用JMeter进行分布式压测,更不知道如何获取准确的测试结果。 这篇引流文章将会向你介绍JMeter分布式压测的基本概念、工具和操作步骤,帮助你更加轻松地进行高效的性能测试。还等什么?赶紧跟着我们的案例来学习吧! 阅读详情

相关推荐

什么是压测,为什么要进行压力测试?JMeter工具的使用

这里是修真院后端小课堂,每篇分享文从 【 什么是压测,为什么要进行压力测试?JMeter工具的使用】 大家好,我是IT修真院深圳分院第13期的学员,一枚正直纯洁善良的java程序员 今天给大家分享一下,修真院官网Java任务6,深度思考中的知识点————什么是压测,为什么要进行压力测试?JMeter工具的使用 1.背景介绍 压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最...

learning__java的博客 3535

压力测试基本概念

目录 一、压测是个啥?为啥要压测? 二、压测方案设计 1、压力场景 2、压测方案设计关注点 3、涉及到的知识点: 三、压测执行 四、压测报告关注点 一、压测是个啥?为啥要压测? 压测属于性能测试的一种: 性能测试的选择和需求有关,选择的场景不同,使用的性能测试方案均是不同的,性能是随着业务的发展,不断新的要求,不同的阶段,性能测试的频率不一样。 看到过网上有个馒头的例子: 一口气吃十个馒头,并发,压力(并发)测试,一口吃15个,20个,吃不下,一口吃18,能吃; 馒头一个.

weixin_40720301的博客 1万+

Jmeter—页面压力测试模拟用户登录行为:登录→持续压测页面→登出

文章目录前言一、页面GUI压力测试 模拟用户登录行为二、Jmeter脚本实现方式1.方式一:once only controller+runtime controller+once only controller2.方式二:setUp线程组(登录)+线程组(压测页面)+tearDown线程组(登出)总结 前言 本文章讲解在使用Jmeter进行页面压力测试时,模拟用户登录行为准备Jmeter脚本的方法 一、页面GUI压力测试 模拟用户登录行为 示例:用户登录一个网站进行操作的一般行为是:登录1次–>

zhangkezkzk的博客 7501

如何压测?【压测工具:提升系统性能的利器】,查看TPS,计算TPS,计算压测指标、压测名词解释

本文介绍压测是什么,解释压测的专属名词,教大家如何压测。介绍市面上的常见压测工具(ab、locust、LoadRunner、Jmeter、go实现的压测工具、云压测),对比这些压测工具,教大家如何选择一款适合自己的压测工具。本文通过介绍什么是压测,在什么情况下需要压测,通过单台机器100W长连接的压测实战了解Linux内核的参数的调优。如果觉得现有的压测工具不适用,可以自己实现或者是改造成属于自己的自己的工具。

weixin_71957062的博客 6348

JMeter对数据库压测(压力测试)

步骤1.1 测试一条新建压力测试工具1.2 设置,测试先设置好测试工具然后测试1.2 测试多条1.2.1设置1.2.2 测试 1.1 测试一条 新建压力测试工具 先打开JMeter工具 右键测试计划新建线程组 右键测试计划新建聚合报告,查看结果树 线程组新建JDBC Request和JDBC Connection Configuration 如图: 1.2 设置,测试 先设置好测试工具 设置JDBC Connection Configuration 把JDBC Request和JDBC Conne

weixin_46049033的博客 1067

携程景点评论数据爬取实战:破解AJAX动态加载与分页参数逆向分析

本文详细介绍了携程景点评论数据爬取的实战经验,重点破解了AJAX动态加载与分页参数逆向分析的技术难题。通过分析`getCommentCollapseList`接口,解析动态参数如`poiId`和`pageIndex`,并实现分页逻辑,帮助开发者高效获取评论数据。文章还提供了完整的Python爬虫代码和反爬策略,适用于数据分析与内容挖掘。

weixin_29098367的博客 673

手把手教你压测

身为后端程序员怎么也要会一点压力测试相关的技术吧, 不然无脑上线项目万一项目火了进来大量请求时出现程序执行缓慢, 宕机等情况你肯定稳稳背锅, 而且这个时候短时间内还没办法解决, 只能使用物理扩容CPU, 内存, 更换网络等几种方式来解决问题, 妥妥的为公司增加支出好吧, 下一个被开的就是你

software_test010的博客 3411

手把手教你搞定国民技术N32G031的Keil开发环境(附Pack包和JLink配置)

本文详细指导如何搭建国民技术N32G031的Keil开发环境,包括Keil MDK安装与激活、Pack包导入、JLink调试器配置等关键步骤。特别针对新手常见问题提供解决方案,帮助开发者快速上手N32G031系列MCU的开发工作。

cuangu9341的博客 419

【JMeter压力测试】通过jmeter压测surging

surging是异构微服务引擎,提供了模块化RPC请求通道,引擎在RPC服务治理基础之上还提供了各种协议,并且还提供了stage组件,以便针对于网关的访问, 相对于功能,可能大家更想知道能承受多大的并发,大家也会各自进行压测,当碰上一些问题,导致压测结果不理想就会扣帽子给框架引擎,这个性能不行,针对于压测结果,很多人不明所以,都是以一笔带过的方式告诉大家结果,那么这次从头至尾,把环境和测试过程进行梳理,通过此篇文章进行发布,也请各大同行监督。

weixin_67553250的博客 656

基于图神经网络的社交网络虚假账号检测系统 (Graph-based Fake Account Detection System, GFADS)

FOLLOWSRETWEETSSHAREDCOMMENTSLIKESMENTIONSUseruser_idusernamejoin_datebioavatar_urllocationverifiedis_fakeLOAD CSV这是决定模型性能的关键环节,需结合和。XXedge_indexy新账号缺乏历史数据和丰富关系。全网图可能包含数亿节点和数十亿边,难以直接训练。社交网络是动态变化的,虚假账号策略也在不断进化。获取大规模、高质量的真实/虚假账号标注数据非常困难。

Deng945201314的博客 1480

视觉SLAM十四讲习题答案

阅读《视觉SLAM十四讲》中遇到的问题及习题资源整理,或为原创,或来自网络,如有问题请与我联系,会在第一时间加以修正。 后来自己写完看到另一位写的博客,相形见绌,大家可以互相结合的看。 第一讲 1.线性方程的解:转载自宋洋鹏(youngpan1101),了解线性代数可关注B站3Blue1Brown,以及线性代数,知乎上有其精细笔记。 2.高斯分布参考这位博主Johnny-Cuii的文章,具体...

INFINITE POSSIBILITIES 1万+

Jmeter接口测试+压力测试_jmeter压测一个线上查询接口

():括起来的部分就是要提取的。.:匹配除换行外的任何字符串。+:代表+号前面的字符必须至少出现一次(一次或多次)。?:代表?前面的字符最多可以出现一次,在找到第一个匹配项后停止(0次或1次)。:代表号前面的字符可以不出现,也可以出现一次或者多次(0次、1次或者多次)(.*):贪婪模式,匹配尽可能多的字符(.*?)或(.+?):匹配尽可能少的字符,一旦匹配到第一个就不往下走了。b. 关于模板1?2。无论要提取多少个值,引用名称就是一个的,比如名称为id,idgo。

2401_87109419的博客 1388

完整功能-《网络安全创新实践》:设计并实现一种基于Npcap的网络嗅探器(直接能运行cpp的MFC代码+实验报告)

《网络安全创新实践》:设计并实现一种基于Npcap的网络嗅探器。(直接能跑的MFC)监听所有数据包,以及监听指定IP地址的数据包;(2)能够显示完整的IP数据包首部信息,例如:版本、首部长度、数据包长度、数据包类型(协议字段)、TTL、源IP地址、目的IP地址等;(3)能够显示完整的TCP报文段信息,例如:源端口、目的端口、序号、确认号、数据部分等;(4)能够自动检测SQL注入攻击等Web攻击行为;(5)能够将监听到的数据包信息保存到文件中,以及从文件中读取并显示数据包信息;(6)具有图形化操作界面。

weixin_46531010的博客 660

【修真院JAVA小课堂】什么是压测,为什么要进行压力测试?JMETER工具的使用

大家好,我是IT修真院郑州分院第11期的JAVA学员,一枚正直纯洁善良的java程序员。 今天给大家分享一下,什么是压测,为什么要进行压力测试?JMETER工具的使用。 1.背景介绍 压测,即压力测试,是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患。 一般针对网络游戏压力测试。对网络游戏的服务器不断施加“压力”的测试。通过确定一个系统的瓶颈或者不能接收...

ZHH704269008的博客 1015

matlab 点云可视化(1)——pcshow()函数可视化单个点云

matlab可视化单个点云常用方法汇总。

点云侠的博客 5357

YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块

本文记录的是基于StarNet的YOLOv11轻量化改进方法研究。StarNet设计简洁,没有复杂的设计和精细调整的超参数,仅是一个 4 阶段的分层架构。并且其中能够在低维空间计算的同时考虑极高维的特征这一特性,进而提高模型精度。本文在替换骨干网络中配置了原论文中的starnet_s1starnet_s2starnet_s3和starnet_s4七种模型,以满足不同的需求。

Limiiiing的博客 5984

Jmeter接口测试+压力测试_jmeter接口压测

(2)函数生成器   需要用到函数助手功能,可以调用函数生成一些有规则的数据。常用的几个函数有_uuid、_random、_time。_uuid会生成一个随机唯一的id,比如在避免java请求重发造成未处理数据太多的情况,接口请求可加一个唯一的请求id唯一的响应id进行一一对应;随机数_random,可以在你指定的一个范围里取随机值;

2401_87109462的博客 1487

HyperLynx仿真(一)LineSim简单介绍

可以选择设置信号线与信号线之间默认的距离和信号线与同平面的平面之间的距离,这些设置根据工程师项目上经常使用的情况而设置,也可以选择不设置,在每次仿真时根据需要再对每一个仿真单独设置。仿真属性的设置对话框包含一般设置、 显示颜色设置、LineSim 设置、BoardSim 设置、 层叠默认设置、焊盘类型设置、仿真示波器默认设置、电路仿真器默认设置、电源完整性设置及高级设置。第一次使用HyperLynx软件时需要设置仿真相关环境,包括仿真软件的基本设置、模型库路径设置、仿真控制器控制、单位等。...

小幽余生不加糖 8946

不会压测?没关系,手把手教你用jmeter做压力测试及结果分析

1、准备 测试之前需要先准备相关的工具,JMeter是运行在jdk下的一款压测工具,所以,要运行JMeter首选要安装jdk并配置环境变量,具体请自行百度jdk环境变量安装; 2、JMeter 是什么 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP服务器, 等等。JMet...

叶新东老师的博客 4830

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

软件测试技能,JMeter压力测试教程,压测带token的接口(六)

目录:导读前言一、场景案例二、测试token准备三、jmeter CSV数据文件设置四、运行结果 前言 工作中我们需要压测的接口大部分都是需要先登陆后,带着token的接口(或者带着cookies),我们可以先登陆获取token再关联到下个接口 比如我现在要压测一个修改用户的个人信息接口,每个用户只能修改自己的个人信息 一、场景案例 我现在有一个登陆接口A,登陆成功后返回一个token值。A接口登录接口文档基本信息 访问地址:http://127.0.0.1:9000/api/v1/login/ 请求类型:

1669

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

压力测试工具Apache JMeter:10:分布式压测的JMeter镜像

Apache JMeter是一个纯Java开发的用于负载测试或者性能测试的开源软件。上篇文章介绍了如何使用Alpine作为基础的JMeter镜像的构建与使用方式,这篇文章在此基础之上构建一个更容易使用的JMeter的镜像。

知行合一 止于至善 1271

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: spring-data-jpa简单介绍
下一篇: 什么是实体表,什么是关系表,一对多和多对多应该怎么设计表?
learning__java
博客等级 码龄8年 87粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值