性能测试常见术语
性能测试常见的术语主要有并发、并发用户数量、请求响应时间、吞吐量、吞吐率、TPS、点击率、资源利用率等
并发
狭义的并发一般分两种情况。一种是严格意义上的并发,即所有用户在同一时刻做同一件事情或操作,这种操作一般针对同一类型的业务。
另一种并发是广义的并发。这种并发与狭义的并发的区别是尽管多个用户对系统发出了请求或进行了操作,但是这些请求或操作可以是相同的,也可以是不同的。对整体系统而言,任然有很多用户同时对系统进行操作,因此,仍然属于并发的范畴。
可以看出,广义的并发是包含狭义的并发的,而且广义的并发更接近用户的实际使用情况,因为对大多数系统而言,只有数量很少的用户进行“严格意义上的并发”。对于性能测试而言,这两种并发一般都需要进行测试,通常的做法是先进行严格意义上的并发测试。严格意义上的并发一般发生在使用比较频繁的模块中,尽管发生的概率不是特别高,但是一旦发生性能问题,后果很可能是致命的。严格意义上的并发测试往往和功能测试关联起来,因为只要并发功能遇到异常通常都是程序的问题,这种测试也是健壮性和稳定性测试的一部分。
并发用户数量
关于并发用户数量,有两种常见的错误观点。一种错误观点是把并发用户数量理解为使用系统的全部用户的数量,理由是这些用户可能同时使用系统;还有一种比较接近正确的观点是把用户在线数量理解为并发用户数量。实际上,在线用户不一定会和其他用户发生并发,例如正在浏览网页信息的用户,对服务器是没有任何影响的。但是,用户在线数量是统计并发用户数量的主要依据之一。
并发主要针对服务器而言,是否并发的关键是看用户的操作是否对服务器产生了影响。因此,并发用户数量的正确理解是,在同一时刻与服务器进行交互的在线用户数量。这些用户的最大特征是和服务器发生了交互,这种交互既可以是单向传送数据的,也可以是双向传送数据的。
并发用户数量的统计方法目前还没有准确的公式,因为不同的系统会有不同的并发特点。例如OA系统统计并发用户的经验公式为:使用系统的用户数量*(5%~20%)。对于这个公式,没有必要拘泥于计算出的结果,因为为了保证系统的扩展空间,测试时的并发用户数量就会稍稍大一些,除非要测试系统能承受的最大并发用户数量。举例说明:如果一个OA系统的期望用户为1000个,只要测试出系统能支持200个并发用户就可以了。
请求响应时间
请求响应时间是指从客户端发出请求到得到响应的整个过程的时间。这个过程从客户端发出一个请求开始计时,到客户端接收到从服务器端返回的响应结果计时结束。在某些工具中,请求响应时间通常会被称为"TTLB",即"Time to last byte",意思是从发送一个请求开始,到客户端接收到最后一个字节的响应为止所耗费的时间。请求响应时间的单位一般为“秒”或“毫秒”。
事务响应时间
事务可能由一系列请求组成,事务的响应时间主要针对用户而言,属于宏观上的概念,是为了向用户说明业务响应时间而提出来的。例如:跨行取款食物的响应时间就是由一系列的请求组成的。事物响应时间和业务吞吐率都是直接衡量系统性能的参数。
吞吐量
指在一次性能测试过程中网络上传输的数据量的总和。吞吐量/传输时间,就是吞吐率。
吞吐率(Throughput)
通常用来指单位时间内网络上传输的数据量,也可以指单位时间内处理的客户端请求数量。是衡量网络性能的重要指标。
但是从用户或业务角度来看,吞吐率也可以用“请求数/秒”或“页面数/秒”、“业务数/小时或天”、“访问人数/天”、“页面访问量/天”来衡量。例如在银行卡审批系统中,可以用“千件/每小时”来衡量系统的业务处理能力。
TPS(Transaction Per Second)
每秒钟系统能够处理的交易或事物的数量。它是衡量系统处理能力的重要指标。TPS是LoadRunner中重要的性能参数指标。
点击率(Hit Per Second)
每秒钟用户向Web服务器提交的HTTP请求书。这个指标是Web应用特有的一个指标:Web应用是“请求-响应”模式,用户发出一次申请,服务器就要处理一次,所以“点击”是Web应用能够处理交易的最小单位。如果把每次点击定义为一次交易,点击率和TPS就是一个概念。不难看出,点击率越大,对服务器的压力也越大。点击率只是一个性能参考指标,重要的是分析点击时产生的影响。
需要注意的是,这里的点击不是指鼠标的一次“单击”操作,而是在一次“单击”操作中,客户端可能向服务器发出多个HTTP请求。
资源利用率
资源利用率指的是对不同系统资源的使用程度,例如服务器的CPU利用率、磁盘利用率等。资源利用率是分析系统性能指标而改善性能的主要依据,因此,它是Web性能测试工作的重点。
资源利用率主要针对Web服务器、操作系统、数据库服务器、网络等,是测试和分析瓶颈的主要参数。在性能测试中,要根据需求采集具体的资源利用率参数来进行分析。
并发
多用户在同一时刻对系统执行操作,一般指执行同一事物或操作
-->测试死锁、内存泄漏(?)
在线
多用户在一段时间内对系统执行操作
响应时间(行内一般标准3-5-8)
Client端响应时间+网络响应时间+Server端响应时间(几十台服 务器、中间件等组合)
事物响应时间
完成相应事物所用的时间,是性能测试中重点关注的指标。
点击率(每秒点击数)
Vuser每秒向Web服务器提交的HTTP请求数。
吞吐量
Vuser在任意给定一秒从服务器总共获得的数据量,单位是字节。
依据服务器的吞吐量来评估Vuser产生的负载量,以及评估服务器 在流量方面的处理能力以及是否存在瓶颈。
吞吐率
服务器每秒吞吐量(吞吐量/测试时间),反应服务器的处理速度 和性能。
吞吐率:指服务器每秒处理的数据量。
点击率:指客服端每秒向服务器提交的HTTP请求数。
好的服务器,随着客服端的点击率的升高,吞吐率也随着升高, 最后达到平衡点。
TPS(Transactions per second)
每秒系统能处理的交易或事物的数量。是衡量系统处理能力的 重要指标。
资源利用率
对不同系统资源的使用程度,如CPU,内存,磁盘,网络等。
---》监控服务器的这些资源时,会消耗服务器的资源,所以最好 只检测默认的(如果不默认,会有几百项)
查看资源
控制面板--性能和维护--管理工具--性能--添加计数器