1、什么是性能测试
通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
2、性能指标
1)性能测试三大指标:并发数、响应时间、TPS
2)底层性能指标:硬件资源利用率(CPU、Mem、IO、NetWork)、软件资源利用率(线程池、数据库连接池、sql执行效率、JVM)
附加说明:一般sql执行时间在10-20ms
3、概念解析
1)并发
并发(狭义):在同一个时刻对同一个应用的同一个接口发起相同的访问;
并发(广义--系统级别):在同一个时间段内向同一个应用发起的请求;
并发(广义--接口级别):在同一个时间段内向同一个应用的同一接口发起的请求;
2)并发用户数
● 概念:在某一个时间段内向服务器发起的请求的数量。
● 说并发用户数一定要指明时间段(响应时间)
● 说并发用户数的时候一定要指明是从哪个角度:用户角度/工具角度、系统角度;
例如:
A:LR200个VU,RT=10S,B:LR20个VU,RT=0.1S,谁支持的并发用户数大?
服务器1秒处理200/10=20个请求,B服务器1秒处理20/0.1=200,则B支持的并发用户数大。
3)响应时间
概念:客户端发出请求到得到响应的整个过程所经历的时间
浏览器访问响应时间与lr响应时间差别:
● 浏览器访问响应时间包含css、js图片加载时间
● lr中不包含图片、样式的加载时间
计算响应时间例子:
只有一个窗口,售票员1s能卖一张票,问10个人同时买票,平均响应时间是多少?
(1+2+3+4+5+6+7+8+9+10)/10
附加说明:(web程序查询SQL过程):
检查语法-->语义分析(有无权限执行这条SQL、有无相关表执行权限)-->打开表-->根据sql执行计划,去内存进行检索是否有该SQL语句的执行结果-->内存里有,直接返回-->内存没有,去磁盘查,在磁盘找到数据后,将数据同步到内存,返回结果-->关闭相关表
4)TPS
概念:指单位时间内系统处理的客户请求的数量.
一般来说,吞吐量用请求数/秒或页面数/秒来衡量,从业务的角度,吞吐量也可以用访问
人数/天或处理的业务数/小时等单位来衡量。从网络的角度来说,也可以用字节数/天等单位来考察网络流量
如下是几种TPS曲线,及意义
4、响应时间、TPS、并发数关系
● 两个维度决定一个结果
● TPS(响应时间1秒 ) tps=并发用户数量/响应时间
● 说响应时间的时候一定要说并发数
● 说并发用户数,要指定响应时间在多少秒内(还得指定接口)
5、普通公司单机并发情况
单机 业务 关系型数据库:TPS 在20--200间
单机 接口 非关系型数据库:TPS 1000+
负载均衡可提高TPS:如单机TPS上限为200,那么20台机器负载,TPS上限为20*200(此为理想情况)
附加说明:淘宝并发请求(15年7.9W,16年14玩,17年24.6万)
6、为什么非关系型数据库查询数据比关系型数据库快
● 关系型数据库数据存在硬盘里面,如mysql、oracle、sql server
● 非关系型数据库,数据存在内存里面,少了数据从硬盘间到内存同步的过程,非关
系型数据库,一般当缓存使用
● 内存的处理速度比硬盘快,10倍级
更多内容欢迎关注微信公众号查看