性能测试
文章平均质量分 83
性能测试
sysu_lluozh
这个作者很懒,什么都没留下…
展开
-
【性能测试】常见的性能测试指标
从性能测试分析度量的角度,性能指标的维度如下:系统性能指标资源性能指标中间件指标数据库指标稳定性指标可扩展性指标可靠性指标接下来从各自维度常见指标及指标含义看看各个性能测试指标一、系统性能指标系统性能指标,常见的有如下几类:响应时间系统处理能力吞吐量并发用户数错误率1.1 响应时间响应时间,简称RT指系统对请求作出响应的时间,可以理解为用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程耗费的时间直观上看,这个指标与人对软件性能的主观感原创 2022-03-02 20:28:53 · 16052 阅读 · 1 评论 -
【性能测试】构造性能测试的数据
关于如何准备性能测试数据,可能出现不少的问题,比如:数据量不足导致性能表现非常好,忽略了一些潜在性能问题数据分布不合理导致测试结果与线上差异较大,又要推到重来总结下经验,把测试数据准备分为两类数据:铺底数据和参数化数据什么是铺底数据?一般情况下,产品上线后数据量是不断增加和累计的过程。刚上线时,数据量较少,数据库查询及更新速度快,服务响应及时性较好。 随着数据量的累积,数据量不断增加和膨胀,系统的操作响应时间会随着数据量的不断增加而变得越来越长。 所以,在性能测试模拟时,要考虑一定规模原创 2022-03-02 00:52:57 · 2505 阅读 · 0 评论 -
【性能测试】性能测试的基本流程
性能测试从实际执行层面来看,测试的过程一般分为这么几个阶段,如下图:下面看看每个阶段具体需要做什么:一、性能需求分析性能需求分析是整个性能测试工作开展的基础,如果连性能的需求都没弄清楚,后面的性能测试执行其实是没有任何意义的,而且性能需求分析做的好不好直接影响到性能测试的结果在需求分析阶段,测试人员需要与项目相关的人员进行沟通,收集各种项目资料,对系统进行分析,建立性能测试数据模型,并将其转化为可衡量的具体性能指标,确认测试的目标性能测试需求分析过程是繁杂的,需要测试人员有深厚的性能理论知识,除原创 2022-01-14 09:22:12 · 499 阅读 · 0 评论 -
【性能概念】性能测试的应用领域
一、能力验证要求在已确定的环境下运行,需要根据典型场景设计测试方案和用例乙方向甲方交付项目时,声明项目的性能数据例如:向甲方声明能支撑500人1s内同时登录,响应时间在2s以内。出具性能测试报告去声明具备此能力二、能力规划能力规划关注的是,如何才能使系统达到要求的性能和容量。通常情况下,会采用探索性测试的方式来了解系统的能力能力规划解决的问题,主要包括以下几个方面:能否支持未来一段时间内的用户增长应该如何调整系统配置,使系统能够满足不断增长的用户数需求应用集群的可扩展性验证,以及寻找集群原创 2022-01-09 00:26:37 · 233 阅读 · 0 评论 -
【性能概念】理发店模型
理发店模型,可以很好的用来理解很多性能测试的概念和理论,以及一些测试中遇到的问题将抽象的概念具体化,结合实际,通过理发店模型理解系统的性能和并发处理一、模型假设在这个理发店中,事先做如下的假设:理发店共有3名理发师每位理发师剪一个头发的时间都是1小时顾客们对于每次光顾理发店时所能容忍的等待时间+剪发时间是3小时,而且等待时间越长,顾客的满意度越低。如果3个小时还不能剪完头发,我们的顾客会立马生气的走人二、场景构建2.1 场景1理发店内只有1位顾客有1名理发师为他提供服务,另外2位原创 2021-02-23 08:35:28 · 1693 阅读 · 0 评论 -
【流量发起】吞吐量上不去的问题
在做一个项目的性能测试,发现增大并发用户数的时候,响应时间没有增加,但tps并没有提升,这并不符合“逻辑”线程数:300+100线程数:750+250一、被测服务带宽等原因引起将被测服务扩容且分布不同但宿主机,得到的数据和改变后无差别,且此时的被测服务的cpu、网络等指标均正常,故可以排除该可能性二、是否是客户端肉鸡出现了时间误差导致线程数:100同步所有肉鸡的时间后故排除...原创 2019-10-08 21:32:41 · 11610 阅读 · 2 评论 -
【流量发起】模拟websocket百万终端长连接
消息服务需要在其中一个分区进行线上全链路压测,模拟100w终端用户连接,并根据线上各websocket和http请求按照比例qps x2并发请求。通宵达旦赶项目1周,但是很多问题仍未找到答案单肉鸡模拟终端连接数在一台8核 16g的肉鸡中,可以模拟多大的终端数?模拟2w连接时,连接数无法上升到2w, end of stream![!](https://img-blog.csdnimg.cn...原创 2020-03-14 04:43:06 · 4016 阅读 · 0 评论 -
【场景构造】并发抢答场景
在做一个项目的性能测试时,涉及抢答场景,大致的场景故事为:教师出一道题,班级中所有学生进行抢答,抢答后教师关闭抢答那如何使用jmeter构建多个角色处理不同但相关的事情呢?方案一:不同角色使用不同线程组发起请求难点:如何教师角色的线程组执行后,学生角色的线程组再执行即使解决问题1但是如何循环多次同步执行由于问题2解决成本大而且造成执行事务复杂化,故该方案不可行方案二:在同一个线程组中,通过变量控制不同线程的执行角色通过计数器控制器使用时所有用户即所有线程都共享的方式按照顺原创 2020-11-12 09:20:38 · 2138 阅读 · 0 评论 -
【流量发起】肉鸡性能评估方法
在压测中当系统qps上不去时,会出现一个比较尴尬的问题,是当前系统服务端处理能力的问题,还是测试端发起的压力不足导致那怎么避免这样的尴尬的情况呢?肉鸡瓶颈方法一:查看肉鸡CPU、内存、IO和网络等资源占用若CPU大于75/内存swap非常频繁/IO持续70%以上/网络使用率100%,增加肉鸡方法二:多增加一台肉鸡,观察服务端的tps是否提升,如果提升,则肉鸡是瓶颈肉鸡的qps那是...原创 2020-03-27 22:42:31 · 2233 阅读 · 0 评论 -
【性能脚本】list数据参数化
在dubbo接口请求时有一些参数是列表格式,如学生id列表:["001","002"]有一些是列表中为字典信息,如:[{ "uid": "001", "realName": "swqa1" },{ "uid": "002", "realName": "swqa2" }]在参数请求中需要构造这些数据,怎么样实现请求的列表格式,并且不同的线程间的数据是不...原创 2020-03-23 13:26:01 · 532 阅读 · 0 评论 -
【数据构造】手机号码并发生成
在性能测试时,涉及到注册等需要手机号码的接口,且此手机号码不能重复以及在数据库中已存在,通过什么方式可以解决这个问题?方案一通过另外一个接口将创建信息注销或删除如:注册接口可通过注销的方式将该手机号码优点:号码可重复使用缺点:需要额外增加另外一个接口 数据库中业务可能注销接口仅仅将is_delete的状态置为1,导致实际的请求和业务场景不一致方案二通过数据库操作将已...原创 2020-03-06 13:28:12 · 976 阅读 · 0 评论 -
【性能方案】压测接口选取标准
基础的用户服务需要进行线上压测,但是这个项目的接口数400+,目前没有流量录制的功能,完成400+个接口的脚本编写和数据准备工作量是巨大的需要从400+接口中挑选部分接口150+进行性能压测,那如何选择哪些接口进行压测呢?如果根据线上请求量top150个接口,但是有些接口比如参数是list格式,虽然是少量的请求,但是依然可能会对服务器造成很大的压力甚至是雪崩根据性能测试的经验,梳理了一些规则...原创 2020-03-04 13:34:38 · 3940 阅读 · 0 评论 -
【性能方案】系统性能容量
接到业务方性能测试的需求,需要评估当前系统可以支撑的用户量,在这个性能测试过程中踩了很多坑阶段一:请求比压测由于无法在线上进行测试,按照之前的做法,评估线上请求量top20的接口,按照tps的比例在压测环境进行压测受制于环境和资源,压测环境比如mysql、redis、nginx等的资源无法和线上一致,压测一轮后发现tps远低于理论支撑值,得出的性能数据完全没有参考意义阶段二:单接口单实例压...原创 2020-02-26 12:28:18 · 865 阅读 · 0 评论 -
【测试方案】性能测试策略
测试策略其实是解决压什么,怎么压的问题如上图所示,压测无非就是模拟客户端对客户端并发请求,查看服务端的响应情况如何,很明显,对于java后台接口,压的就是接口接口初步可分为两种类型,一种是单个接口,一种是接口组合那什么时候压测单个接口,什么时候压测接口组合呢?单个接口调试单个接口的性能瓶颈上下游的接口,可知道上游最大请求下游该接口的并发数针对系统请求量较大的接口的并发数接口组合接口组合有两种方式,一种是依据故事场景的方式,一种是按照线上或者估算的接口请求数占比组合方式可以测试整个原创 2019-06-13 20:46:00 · 1938 阅读 · 0 评论 -
【性能概念】99线响应时间
随着吞吐量的增大,响应时间会逐渐变长,当达到最大吞吐量之后,响应时间会开始急剧飙升,尤其是后面堆积队列中等待的请求如果仅仅是关注平均值,由于大部分请求的响应时间还是相对较短,有一部分接口可能是10ms级别,慢请求往往只占一个很小的比例,所以从平均值中分析数据时,慢响应的接口响应时间被平均了。但实际上,可能有超过1%,或者5%请求的响应时间已经远远超出目标响应数据的范围性能测试中,更科学合理的指...原创 2019-09-03 20:46:23 · 11589 阅读 · 0 评论 -
【测试方案】笔迹书写延时
在测试笔迹书写延时和流畅度时,只是按照个人的主观感觉来评定是否流畅现在有一个相对较为准备的方法来计算相对的笔迹书写延时在大板上均匀书写一段笔迹使用的是一个均匀速度滑动达到在白板上进行书写的工具使用iphone手机拍照MOV格式视频将视频拷到苹果电脑需要使用到播放器的放大倍数将视频放大约8倍录制的适配为5秒,放大至42秒滑动笔迹书写到达的点和白板渲染到达的点,利用播放器数两个点之间间隔的帧数为17原创 2017-02-09 10:14:06 · 3141 阅读 · 10 评论 -
【测试方案】性能方案设计
什么是性能测试?压力测试:强调极端暴力 稳定性测试:在一定压力下,长时间运行的情况 基准测试:在特定条件下的性能测试 负载测试:不同负载下的表现 容量测试:最优容量性能测试方案设计流程需求分析 开发或者产品经理的要求一般都比较抽象,比如:帮我测试一下性能你们测试专业,性能你们看着整拍一下脑门,目标性能是并发数3w我们需要挖掘,进行量化,达成共识:测试目的测试场景测试目标系统原创 2015-10-10 14:31:14 · 5758 阅读 · 0 评论 -
性能测试的分类
一、负载测试(Load Testing) 负载测试是指在一定的软件、硬件及网络环境下,运行一种或者多种业务,在不同虚拟用户数量的情况下,测试服务器的性能指标是否在用户的要求范围内,以此确定系统所能承载的最大用户数、最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率 负载测试强调的是在一定的环境下系统能够达到的峰值指标,大多数的性能测试都是负载测试转载 2015-10-10 10:32:21 · 727 阅读 · 0 评论 -
性能测试指标
一、响应时间 响应时间反应完成某个业务所需要的时间 如:从单击登录按钮完成返回登录成功页面需要消耗1秒钟 在性能测试中是通过事务函数来完成对响应时间的统计,事务是指做某件事的操作,事务函数会记录开始做这件事和该事情完成之间的时间差,使用Transaction Response Time这个词来说明,也称为事务响应时间二、吞吐量(TPS) 吞吐转载 2015-10-10 13:00:38 · 548 阅读 · 0 评论 -
什么是系统瓶颈
瓶颈主要是指整个软硬件构成的软件系统某一方面或者几个方面能力不能满足用户的特定业务要求严格的从技术角度讲,所有的系统都会有瓶颈,因为大多数系统的资源配置不是协调的,例如CPU使用率刚好达到100%时,内存也正好耗尽的系统不是很多见因此我们讨论系统瓶颈要从应用的角度讨论:关键是看系统能否满足用户需求。在用户极限使用系统的情况下,系统的响应仍然正常,我们可以认为改系统没有瓶转载 2015-10-12 20:13:11 · 4134 阅读 · 0 评论 -
性能测试进行的时间
编码阶段(压力/并发) 在编码阶段,当每个函数、方法、存储过程被开发出来并通过单元测试后,都应该进行压力和并发测试,确认接口和被测对象能否健壮地处理极端情况,并且能够正确处理并发请求 在大多数情况下,这个阶段的性能测试都是开发人员自行负责。而做为一个架构设计师,在软件设计时即应该考虑整个系统的性能,并进行建模测试,确保设计的正确。随后程序员对架构进行实现时就需要对自己编写的代码进行并发测试和压力转载 2015-10-10 14:43:43 · 1346 阅读 · 0 评论 -
单机与网络性能测试
对于单机软件进行性能测试,关注的目标一般为:业务处理的时间是否存在内存泄露?有没有申请一些没有必要的资源?资源的释放是否完全?最低或者建议的配置如何,给出推荐值提示:单机软件的性能测试不能使用诸如LoadRunner、JMeter等工具进行测试,如果需要可以考虑QTP等工具对于网络架构的软件,关注的目标一般为:系统的最大处理能力系统在各个负载情况下的处理能力系统能否进一步调优由于网络转载 2015-10-10 14:20:11 · 2045 阅读 · 0 评论