性能基础知识
性能概念:100个人同时登录接口进行登录,性能中的avgRT应该在多少,是可以被接受的?
--可接受的范围1.5s
--1.5 APDEX用户满意度指数
事务:一个请求行为,并不一定只有一个接口,所以,一个事务可能是多个接口
jmeter:默认情况下,一个接口请求一次,认为一个事务Transation
也可以是通过事务控制器,挂载多个接口请求,合并成为一个事务
是从发起,到网络传输,收到响应
性能测试:通过工具,模拟多用户发起请求,获取性能指标值
--用工具来模拟多个人的方式很多
线程:使用进程的资源,来干活。jmeter/LR
进程:资源拥有者,资源消耗比较大。LR
进程+线程:ngrinder
协程:Python+locust
性能指标:
平均响应时间avgRT 90%
TPS:服务器每秒处理的事务数
衡量服务器处理能力的最主要指标
吞吐量:网络中每秒传输的事务数
没有网络问题:tps数值=吞吐量数值
如果网络有瓶颈,tps数值!=吞吐量数值
吞吐率:每秒中能通过多少kb数据
服务器资源利用率
CPU(80%)、内存(80%)、IO的利用率-磁盘读写,网络交换
并发用户数:同一时间发起请求用户数
并发:同一时间发起请求(相同、不相同)
狭义并发:同一时间发起相同请求
集合点:集合多个人在同一时间发起相同请求
广义并发:同一时间发起不同的请求
负载测试:逐步增加并发用户数,找出最大拐点区间
--逐步增加并发用户数
--区间怎么判断
有没有报错
TPS下降
响应时间变长
50tps:服务器每秒能处理50个事务
50 t/s6060=18w
18w * 8h =144w
日均访问量,百万级
6倍 50*6=300tps
时间:以分钟为单位(5min/10min/30min)
压力测试:使用一定量的并发用户数,持续比较长时间向服务器发起请求,查看服务器的稳定性
一定量:访问 小于最大并发用户数 (20%或80% maxThreads)
时间:以小时为单位或天为单位(2h/8h/24h)
可靠性测试:在给定的一定的业务压力下,持续运行一段时间,查看系统是否稳定
--是否稳定,一定业务压力
容量测试:在一定的软、硬件条件下,在数据库不同数量级数据量的情况时,对系统中读、写比较多的业务进行测试,从而获得不同数据 量级下的性能指标值
--在性能测试时,如果数据库的数据量级是不一致的,性能指标值,也可能存在差异
--生产环境的数据库数量级-百万级
--测试环境数据库数据量级-不超过万
--所以在做性能测试时,数据库的数据量级一定要保证一致
俗话说:不积跬步无以至千里!
俗话又说:好记性不如烂笔头!