性能测试常见分类
①负载测试:模拟用户持续不断的访问某个接口或某个页面,以此来查看服务器的性能指标。
②压力测试:通过确定系统的瓶颈或不能接收请求的性能点,来获得系统提供的最大服务级别的测试。
说明:压力测试的特点是一瞬间给的,是大并发,不是循序渐进 ☆
总结:
1吞吐量一旦下降,就是出现拐点了,那么就意为着最佳处理的点已经过去了,千万不要等到崩溃点
2 压力测试就是一瞬间的高并发。在高并发下,查看服务器指标情况,找出最大极限点。
③稳定性测试:找出服务器的最大负载值,在最大负载值的压力下持续长时间的运转,以此查看服务器的稳定性。
总结:
极限的负荷下,最大的负载强度下,长时间运转,看服务器是否能够稳定,不崩溃,就是测稳定性
④配置测试:找到系统各项资源的最优分配原则,到达最优的状态 ☆(数据库的配置,应用服务器的配置)
⑤强度测试:迫使系统在异常的资源配置下运行(异常:短时间内大数据、磁盘空间不够)
⑥大数据量测试:是与并发相结合的极限状态下的综合数据测试(百万级以上才是大数据量,双十一1秒钟600w+)
注意:
1性能测试有很多分类,每个分类之间也有相似之处,不必纠结于概念性的分类说法。(可靠性、并发)
2 重点记忆1,2,3的。
常用性能指标
①吞吐量(TPS):服务器每秒钟处理事务数
关于事务的说明:
比如:登录的功能,共有四个请求,那么这四个请求,就叫一个登录事务
支付TPS:每秒支付成功多少人
登录TPS:每秒登录成功多少人
②响应时间:从发完请求到响应回客户端的时间
1秒内算优秀
3秒内算良好
5秒内算较好(老标准)
5秒以上不合格
说明:一般情况下,性能需求里会写清楚数据量大的时候,响应时间是多少,如果没写,默认是就是3s内 ☆
总结:对于响应时间的预估,业界经典理论就是“1-3-5” (即1s算快,3s正常,5s无法忍受)
③CPU占用率:不能大于70%-80%(不绝对)
④内存占用率:不能超过75%(不绝对)
⑤最大并发用户数:根据项目实际情况而定(不绝对)
区分三个概念:
1)在线用户数:所有正在访问系统的用户(不一定操作,挂着)
2)并发用户数:同一时间对服务器产生请求的用户总数
3)系统用户数:系统里真实的用户数量(可能是1w人,但就10人在线,2人产生并发)
说明:输入用户名和密码,是在线数,因为没发请求;如果点击登录,才叫并发数。
举例:9点打卡,9:01算迟到,60s内有100人打卡,并发数是多少?100/60=2(向上取整)
面试题
XXX邮箱去年全年处理邮件约100w条,考虑到3年后可能递增到每年200w条。假设每年处理量集中在8个月,每个月20个工作日,每个工作日8小时。试采用80/20原理,估算系统服务器高峰期的处理能力应到达什么水平?
分析:
1应该按每年200w计算
2:80/20原理,20%的时间做了80%的事,而80%的时间做了20%的事(访问量:18-24点是高峰)
3:高峰处理能力就是计算他的TPS,而1条记录,就是一个事务(每个事务一定伴有多条请求)
计算过程:总事务数/总秒数
每年200w条,工作天数是8个月x20工作日 = 160天,每天就是2000000/160 = 12500条
80%业务:12500x0.8 = 10000个/天
20%时间:8小时x3600秒x0.2 = 5760秒
求TPS每秒事务数:就是10000/5760=1.736个事务/秒(向上取整是2个事务/秒,注意不是四舍五入)
简单估算并发数的公式:【在线数x10%=并发数】