性能测试关注点
时间
资源消耗:cpu、内存、磁盘、网络
性能瓶颈
硬件(最直接但成本最高):cpu、内存、磁盘、网络
操作系统(配置参数):允许连接数、高级配置中性能选项
应用软件:数据库、应用服务器、web服务器
代码(语言相关):内存泄漏
【什么是内存泄漏:申请了一块内存空间,使用完毕后没有释放。它的一般表现方式是程序运行时间长,占用内存越多,最终用尽全部内存,整个系统崩溃表现:cpu资源耗尽】
常规性能需求
响应时间:2s(很好)、5s(可以接受)、8s(太差),常规的要求
资源消耗:cpu占用80%
性能测试的常见术语
并发
侠义的并发:是严格意义上的并发,即所有用户在同一时刻做同一件事情或操作,这种操作一般针对相同的业务(一定数目的用户在同一时刻对某业务进行提交,操作的不是统一记录)还有一种是,即所有用户进行完全一样的操作
广义的并发:这种并发与侠义的并发的区别在于尽管多个用户对系统发出了请求或进行了操作,但是这些请求或操作可以是相同的,也可以是不同的。对整个系统而言,仍然有很多用户同时对系统进行操作,因此,仍然属于并发的范畴
并发用户数量
关于并发用户数量,有两种常见的错误观点
1、一是把并发用户数量理解为使用系统的全部用户数量。理由:这些用户可能同时使用系统
2、二是比较接近正确的观点,是把用户在线数量理解为并发用户数量。实际上,在线用户不一定会和其他用户发生并发。如:正在浏览网页信息的用户,对服务器是没有任何影响的。
但是,用户在线数量是统计并发用户数的主要依据之一
并发主要针对服务器而言,是否并发的关键是看用户的操作是否对服务器产生了影响
因此,并发用户数量正确的理解是:在同一时刻与服务器进行交互的在线用户数量。这些用户的最大特征是和服务器发生了交互,这种交互既可以是单向传送数据的,也可以是双向传送数据的
请求响应时间
是指从客户端发出请求得到响应的整个过程时间。
这个过程从客户端发送一个请求开始计时,到客户端连接到服务器端返回响应结果计时结束
呈现时间:用户感知的时间 系统响应时间
网络传输时间:N1+N2+N3+N4
应用服务器处理时间:A1+A3
数据库服务器处理时间:A2
响应时间=N1+A1+N2+A2+N3+A3+N4
事务响应时间
由一系列请求组成,事务的响应时间:主要针对用户而言
属于宏观概念:是为了向用户说明业务响应时间而提出的
如:跨行取款事务的响应时间就是由一系列的请求组成的
吞吐量
指在一次性能测试过程中网络上传输的数据量的总和。吞吐量/传输时间=吞吐率
服务器向客户端的响应数,单位:字节数/秒(byte/s),页面数/秒(page/s)
吞吐率(Throughput)
通常用来指单位时间内网络上传输数据量,也可以单位时间内处理的客户端请求数量,它是衡量网络性能的重要指标
从用户或业务角度来看,吞吐量也可以用“请求数/秒”或“页面数/秒”、“业务数/小时或天”、“访问人数/天”、“页面访问量/天”、来衡量
如:在银行卡审批系统中,可以用“千件/每小时”来衡量系统的业务处理能力
TPS
每秒系统能够处理的交易或事务的数量
它是衡量系统处理能力的重要指标
Hit Per Second
页面点击数(Hit Per Second):每秒钟用户向Web服务器提交的HTTP请求数
注:这里的点击不是鼠标的一次“单击”操作,因为在一次“单击”操作中,客户端可能向服务器发出多个HTTP请求
http服务器状态码定义:[200,300) 成功,[300,400) 缓存相关,[400,500) 客户端错误,[500,无穷) 服务器端错误
资源利用率
指对不同系统资源的使用程度,如:服务器的cpu利用率,内存利用率、磁盘利用率、网络宽带利用率等
资源利用率是分析系统性能指标进而改善性能的主要依据。因此,它是WEB性能测试工作的重点
资源利用率主要针对:WEB端,操作系统,数据库服务器,网络等。是 测试 和 分析瓶颈 的主要参考