性能测试主要指标

性能:事务,物品的某些特性的评价值
软件性能测试:是用一定的技术工具(也可以使用代码写出脚本),找出(之前未做过性能测试)或验证(之前做过)某个性能指标值的测试
性能指标来衡量性能
随着版本迭代,理论上来说性能是越来越差的,所以迭代到了后面需要性能测试

负载测试:
‘看看有几斤几两’ 逐渐加压(逐步向服务器施加压力,看服务器的性能瓶颈在什么地方)
软件中通过增加用户数来进行逐步增加压力
通过工具,虚拟出大量的人向服务器发起请求,造成服务器压力,从而找出我们服务器的性能瓶颈,相当于是性能拐点,再往上加只会性能下降

压力测试:
‘鸭梨山大’ 比较大的压力+比较长的时间*24
长时间承受较大的压力(测试服务器的稳定性)

性能测试一般是先做负载测试,负载测试知道我们的拐点范围(阶梯)的时候,再来做性能测试,性能测试就完毕了
想知道服务器稳不稳定,不稳定的原因是什么这个时候就需要做压力测试,因为在时间较长并且承受较大的压力时,这个时候服务器的稳定性就暴露出来了

一般所说的压测指的不是压力测试,一般情况下,首先需要知道性能的瓶颈在哪里,所以压测指的是先负载测试找到性能拐点的范围,通过性能测试找到性能的精确值
如果说的是生产服务器不稳定,这种情况下不稳定,那就需要做性能测试和负载测试和压力测试
性能测试广义上只要涉及到了性能测试的相关所有的测试方式都称为性能测试,狭义上来说就是指性能测试;负载测试是前期阶段要做的事情

负载均衡是服务器架构方面的,多台服务器构成的集群,有一台负载均衡的机器,然后这个机器指向很多台机器,这些机器提供相同的服务,用户访问的时候,负载均衡机器进行分配任务,目的是让服务器进行均衡分布

性能测试的前提:
我们在企业里面做性能测试,并不想传统的功能测试拿着需求文档来进行需求的分析来写测试用例;性能测试不是简简单单的这样做,因为产品不懂性能测试,所以产品的性能文档没有可靠性,一般不可信
性能测试的必要性研究---关键性评估(是否需要有必要做)
需要做的:(同时需要了解业务以及架构)
1.主管部门、监管部门审查
2.涉及生命财产安全(银行系统)
3.大型新系统
4.核心系统
5.架构调整
6.业务剧增
7.重大缺陷后修复
性能测试的可测性研究---可以量化为性能指标
性能测试要交给专门的测试人员
独立的服务器搭建可以交给开发人员
接口稳定了就可以做性能测试
如果开发完成后不可以给用户去用或者只是试用版本那么不需要做性能测试(用户量很小)
性能测试的基本原则:
首先,单接口,再多接口
然后,多接口构成业务\模块
然后,多业务混合
然后,再系统
最后,全链路
一般全链路压测是巨头,很少公司有全链路(微服务到全链路,一般都是按照业务)

性能测试的必备条件:
1.独立服务器:企业里面做性能测试,一定要求是独立服务器,1.因为要用到高并发用户,会对服务器造成不稳定因素,有风险,可能这个风险导致自动化和功能测试无法开展工作,2.因为功能测试和自动化测试的资源配置肯定和生产的不是一个等级,要得到生产的指标的值。最后得出来的结果也没有参考价值,得出来的性能测试的结果也是毫无意义的。
2.独立网络----有线网络
绝对不能用:堡垒机、跳板机、vpn
绝对不能用:WiFi(分布式一定不能用WiFi)

性能测试主要指标:
并发\并发数\并发用户数
并发:(同一时间)
狭义:同一时间做相同事情
广义:同一时间做不同事情,混合场景
并发数:单位时间内向服务器发出请求的用户数 virtual user
并发用户数:用于模拟真实用户向服务器发起请求的性能测试虚拟用户数量
系统用户数:只要访问过系统的用户,可能含一次性访问的用户
在线用户数:当前正访问系统的用户,不一定有压力
jmeter里面更多使用的是广义的并发,就是同一时间,大家做不同的事情
性能测试,简单的狭义并发,再到广义的并发,先做单接口性能测试,再单业务性能测试,最后做混合多业务场景的性能测试
就是先一个接口一个接口的测试,再做多个接口的串行测试相当于业务请求,然后再把业务根据不同的场景可以做混合业务场景测试
这个时候都在向服务器发起请求,对服务器来说,只要对服务器发起请求,就是并发用户,不管是在做哪个业务哪个请求,只要发起请求那就是并发用户数
响应时间 t1+t2+t3+t4 重要
从发起请求到收到请求响应的时间
网络传输时间 t1 t4
服务器处理时间 t2 t3
(有线网络能够尽可能的降低丢包和网络延迟的情况,尽可能的减少t1,t4时间,尽可能的接近服务器知识的处理时间)
要尽可能的减少网络传输时间,尽可能使让响应时间和服务器处理时间越来越接近
所以做性能测试应该使用局域网,一定要独立网络,不要使用很复杂的网络,局域网一般不需要通过其他的中间环节,即使有其他环节,网络传输时间也会非常小
做性能测试时,不要用wifi网络构成局域网,因为要传输的数据量很大,wifi网络不稳定,wifi网络传输的通道的速度不高,很有可能因为WiFi网络不稳定导致性能不稳定
所以在做性能测试时,应该使用带宽越好的网络

TPS(transaction per second)---最主要的性能指标 ; 衡量服务器的最重要的指标
服务器每秒的处理事务数(整体评价能力)
服务器处理事务数
cpu,内存,磁盘,数据库
机箱里面的处理能力
整体来衡量我们服务器最最主要的指标,因为要计算必须需要cpu,然后需要内存才能够存储,所以是服务器的综合指标
jmeter里面默认情况下一个接口就是一个事务

吞吐量\吞吐率(事务/s kb/s)===衡量 网络的重要指标
吞吐量:事务数
网络能耗传输多少的数据,带宽是多宽,用吞吐量来衡量,就是每秒能传输多少kb,数据量的重要指标
吞吐率:数据量
同一时间点,高速公路上能传输多少辆车子,每一辆车子都是一个事务
当网络没有瓶颈的时候,所有的事务都通过,数值上吞吐量=TPS

资源利用率
资源:
CPU
内存
磁盘
I/O
一般都是80%,相当于cpu消耗80%,内存也是占用80%,资源利用率
工具:
jmeter loadrunner python+locust wrk ngrinder

posted @ 2022-05-23 20:46  dengdengdeng1998  阅读(185)  评论(0编辑  收藏  举报