JMeter-01-性能测试基础知识介绍

本文介绍了性能测试的基础知识,包括负载测试、压力测试和容量测试的定义。此外,详细阐述了Web服务的主要指标,如响应时间、每秒点击次数、每秒处理事务数等,并提及了前端页面和数据库的主要性能指标。文章以JMeter为工具,旨在记录作者的学习过程和实践经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开篇词

参加工作这些年来,性能测试做过不少,主要用的LoadRunner 11和JMeter。LoadRunner可以说功能非常强大,但是售价嘛,你们懂的,据说要几十万刀(老板,压测计划先等下,我先去卖个房~),然后你会遇到各种问题,比如“怎么破解?”、“破解后新密钥提示not allowed。。。what?竟然要改注册表?”,“用管理员运行为啥子会被禁止?”、“终于运行上了。。。Controller can not create Vuer?”、“Vuser终于建好了。。。什么?最多就100个?”,然后,一天过去了,我摸着更加稀薄的头顶,陷入了沉思。。。。
直到我遇到了JMeter,免费?开源?好了就你了,先上车再说~~于是有了这个JMeter系列的博文,用以记录我的学习过程。不过我也不会完全生硬的去照搬官网,我尽量把实际使用过程中的骚操作,小技巧等记录下来(铁子你是最骚的 ~)
PS:当然不是说LoadRunner不好,实际上LR的强大程度是完全对得起它的售价的(无敌的Analysis报表分析器默秒全),如果之后有精力,我也会分享LR的学习过程。

在开始之前,我觉得有必要把性能测试的一些基础概念介绍下:

性能测试常见分类

1.负载测试(Load Testing):负载测试简单来说,就是测试系统在不同环境、不同条件下的负载能力。通常需要评估系统的吞吐量、响应事务、事务处理速率等等性能指标。

2.压力测试(Stress Testing):类似于数学中的去极限,这种测试就是用于验证系统对于压力能做出正常响应的临界值,即瓶颈。

3.容量测试(Volume Testing):用于确定系统最大承受量,譬如系统最大用户数,最大存储量,最多处理的数据流量等。

Web服务的主要指标

对于Web服务,我们主要需要关注以下指标

1.RT(Response Time):响应时间。
响应时间是指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程所耗费的时间,单位一般为秒或毫秒。

2.HPS(Hits Per Second):每秒点击次数
即用户每秒向Web服务器提交的HTTP请求数,单位是次/秒。HPS是评估虚拟用户产生的负载量的最直观的指标。

3.TPS(Transaction per Second):每秒处理事务数
系统每秒处理事务数,单位是次/秒。这个指标记录的是系统在每秒钟内,各个事务通过、失败以及停止的数量,TPS是考察系统性能的一项重要指标。

4.QPS(Query per Second):每秒处理查询次数
单位是次/秒。对于互联网业务中,如果某些业务有且仅有一个请求连接,那么TPS=QPS=HPS,一般情况下用TPS来衡量整个业务流程,用QPS来衡量接口查询次数,用HPS来表示对服务器点击请求。

5.FR(Failure Ratio):错误率
错误率指系统在负载情况下,失败交易的概率。错误率=(失败交易数/交易总数)*100%。稳定性较好的系统,其错误率应该由超时引起,即为超时率。
不同系统对错误率的要求不同,但一般不超出千分之六,即成功率不低于99.4%。

6.Connections:连接数
每秒连接数是显示每秒建立的TCP/IP连接数。理想情况下,很多HTTP请求都应该使用同一连接,而不是每个请求都新打开一个连接。通过每秒连接数图可以看出服务器的处理情况。

7.Throughput:吞吐量
吞吐量是指服务器每秒的吞吐量。其度量单位是字节,表示用户在任何给定的每一秒从服务器获得的数据量。可以依据服务器的吞吐量来评估虚拟用户产生的负载量,以及看出服务器在流量方面的处理能力以及是否存在瓶颈。

8.SR(Successful Rounds):成功的请求
所有请求中,成功的请求,及其数量。

9.FR(Failed Rounds):失败的请求
所有请求中,失败的请求,及其数量。

10.SH(Successful Hits):成功的点击次数
所有的点击中,成功的点击次数。

11.FH(Failed Hits):失败的点击次数
所有的点击中,失败的点击次数。

前端页面的主要指标

对于页面前端,我们主要需要关注以下指标

1.首次显示时间
在浏览器地址栏输入URL按回车到用户看到网页的第一个视觉标志为止。单位是毫秒。

2.OnLoad事件时间
浏览器触发onLoad事件的时间,当原始文档和所有引用的内容完全下载后才会触发这个事件。单位是毫秒。

3.完全载入的时间
所有onLoad JavaScript 处理程序执行完毕,所有动态的或延迟加载的内容都通过这些处理程序触发的时间。单位是毫秒。

4.页面大小
整个页面的大小。单位是KB。

5.请求数量
从网站下载资源时所有网络请求的总数。单位是次。

6.DNS时间
DNS查找时间。单位是毫秒。

7.连接时间
连接时间就是浏览器与Web服务器建立TCP/IP连接的时间。单位是毫秒。

8.服务器时间
服务器处理时间。单位是毫秒。

9.传输时间
内容传输所用时间。单位是毫秒。

10.等待时间
等待某个资源释放的时间。单位是毫秒。

数据库的主要指标

对于数据库,我们主要需要关注以下指标

1.SQL耗时
执行SQL的耗时。单位是毫秒。

2.QPS
执行SQL时,每秒的查询次数。单位是个。

3.TPS
执行SQL时,每秒的事务次数。单位是个。

4.Key Buffer命中率
索引缓冲区命中率。单位是百分之。

5.InnoDB Buffer命中率
InnoDB缓冲区命中率。单位是百分之。

6.Query Cache命中率
查询缓存命中率。单位是百分之。

7.Table Cache命中率
表缓存命中率。单位是百分之。

8.Thread Cache命中率
线程缓存命中率。单位是百分之。

9.锁等待次数
锁的等待次数。单位是次。

10.锁等待时间
锁的等待时间。单位是微秒。

参考资料:
《零成本实现Web性能测试——基于Apache JMeter》温素剑编著,电子工业出版社
https://help.aliyun.com/document_detail/29338.html?spm=a2c4g.11186623.6.613.5cc314767Pf3M6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值