测试人员眼中的性能css
什么是性能测试
主要包含三个方面
在给定环境和场景中进行的测试活动
根据测试结果批判是否存在性能问题
若是存在性能问题,需定位性能瓶颈,提出改进建议
在ISO软件质量模型中也有关于性能测试部分的介绍,提供了一组衡量软件质量的基础指标数据库
1.响应时间
咱们向服务器发起了某个请求,在没有缓存的状况下,服务器返回请求所花费的时间总和就等于响应时间。好比登陆QQ邮箱,发送请求,1秒后进入邮箱首页,这1秒就是响应时间。
客户感觉到的响应时间=客户端响应时间+网络响应时间+服务器响应时间数组
(1)客户端响应时间
CT=Client Time 例如Ajax、HTML五、Bootstrap,因为客户端内嵌了大量的逻辑处理,消耗的时间可能很长,须要关注。缓存
(2)网络响应时间
指网络传输交易请求和交易结果所消耗的时间,能够分为如下两个部分。
N1+N2+N3=客户端请求的网络延迟
N4+N5+N6=服务器响应的网络延迟
(3)服务器响应时间
服务器完成交易请求执行的时间,服务器端的响应时间能够度量服务器的处理能力。
WT=Web Server Time
AT=App Server Time
DT=Database Time 服务器
2.并发数
咱们能够经过有多少用户在使用系统了解系统的承载能力,客户老是但愿越多越好,但系统老是有极限的。这里有三个概念须要加以区分。网络
(1)系统用户数
能够理解为系统注册用户总数。例如,截至2016年9月,网易邮箱用户总数达8.9亿,有些用户很是活跃,常常登陆并留下“足迹”,而有的用户不多访问,甚至本身都忘记曾经注册过的帐号了。
(2)在线用户数
当前统计时正在访问的用户总数。例如,网易邮箱天天有超过12万的在线用户数,但他们不必定会给网站形成巨大的压力,大多数用户只是浏览网页信息,并无向服务器发起过多请求。
(3)并发用户数
同一时刻让服务器产生压力的用户数。例如,网易邮箱的12万在线用户中有20%正在使用发送邮件,那么服务器将承受这部分用户的压力。并发
3.吞吐量(Throughput)
严格意义上来说咱们能够把吞吐量分为“吞吐量”和“吞吐率”两个概念讲解。
(1)吞吐量
指在一次性能测试过程当中网络上传输的数据量的总和,“吞”进去的是请求,“吐”出来的是结果,吞吐量反应的就是服务器的“饭量”,也就是服务器承受的压力。例如,在网易邮箱发送邮件比浏览页面须要更高的网络吞吐量。
(2)吞吐率
一般指单位时间内网络上传输的数据量,也能够指单位时间内处理的客户端请求数量/服务器返回的数据量。在数据库层面,吞吐率指的是在单位时间内,不一样SQL语句的执行数量;从用户层面来说,吞吐率也能够用“页面数/秒”、“业务数/小时”、“访问人数/天”等指标来衡量。
【特别说明】:吞吐率=吞吐量/传输时间,例如,访问网易邮箱首页,首页大小按2MB计算,若是每秒有1000个首页访问量,那么吞吐率就约等于2GB/s(1GB=1024MB)。性能
4.每秒经过事务数(TPS:Transaction Per Second)
每秒钟系统可以处理的交易或事务的数量,它是衡量系统处理能力的重要指标。一个交易或者事务可能包含多个请求,例如,用户注册能够包含多个字段验证请求,而用户注册的TPS等于每秒钟可以注册的用户数量,若是每秒钟可以注册10个用户,那么TPS=10。
【特别说明】:TPS和吞吐率在性能测试中的曲线呈正相关,每秒访问网易邮箱首页的次数1000次,那么TPS=1000次。 学习
5.每秒单击数(Hits per Second)
每秒钟用户向Web服务器提交的HTTP请求数,这是Web应用特有的一个指标。若是把每次单击定义为一次交易,那么单击率和TPS就是一个概念,但事实上一个交易每每由若干请求数组成,请求当中包括页面HTML、css、图片等,甚至可能包括多个页面,也就是说单击数和TPS通常不会一致。
例如,你想在网易邮箱提交一个登陆请求,通俗来说就是你用鼠标的一次“单击”登陆按钮的操做,这个单击操做可能向服务器发出了90多个HTTP请求,但咱们只能看做是1个事务。 测试
6.资源利用率 指的是对不一样系统资源的使用程度,主要针对Web服务器、应用服务器、数据库服务器、网络状况等。 常见的资源有CUP占用率、内存使用率、磁盘I/O、网络。 内存就像区域,将信息收集和存放起来,可以存放的信息量越多,计算机的反应也就越快,但关机后该区域的信息将被清空。(从内存读取数据要比从硬盘上快得多。) 传统磁盘的I/O读写速度成为了计算机系统性能提升的瓶颈,制约了计算机总体性 网络主要指网络流量,看是不是网络带宽的瓶颈。例如,邮箱首页2GB的吞吐量将消耗掉16Gbps的带宽。