性能测试术语
一、并发(Concurrency):一般指的是并发用户:
1、分2种情况讨论:
一种是严格意义上的并发,即所有的用户在同一时间点做同一操作,这种操作一般指做同一类型的业务。比如,所有用户在同一时刻做并发登录,在同一时刻做表单提交。
另外一种并发是广义范围的并发,这种并发与前一种并发的区别是,尽管多个用户对系统发出了请求或者进行了操作,但是这些请求或都操作可以是相同的,也可以是不同的。比如,在同一时刻有用户在登录,有用户在提交表单。
我们一般说的并发都指的是第一种并发。
2、不存在真正意义上的并发:
从性能测试工具的角度来看,虽然性能测试工具可以1秒模拟成千上万个请求,那么这些请求的产生同样分前后顺序。就算这些请求被真正的【同时】生产出来,通过网络传输到过服务器时,因为受网络带宽、延迟等影响,也无法真正地对服务器构成【同时】请求。
从服务器的角度来看,当它接收到并发请求,在处理这些请求时同样需要分前后顺序。如果服务器处理每个请求的时间极短,每秒可以处理几千几万次请求,我们就说服务器并发能力是每秒几次。
二、吞吐量:指在一次性能测试过程中网络上传输的数据量的总和。
三、吞吐率:单位时间内网络上传输的数据量, 也指单位时间内处理客户请求数量。 它是衡量网络性能的重要指
标。通常情况下, 吞吐率用【字节数/秒】 来衡量。
* TPS (Transaction Per second) : 每秒钟系统能够处理事务或交易的数量,它是衡量系统处理能力的重要指标。一个事务是一个业务度量单位,有时候一个事务会包括多个子操作,为了方便统计,我们会把多个子操作统计为一个事务。比如一笔电子支付操作,可能会经历会员系统、财务系统、支付系统、会计系统、银行网关等,但对用户来说只想知道整笔支付花费的时间。
* 点击率(Hit Per Second):可以看做是TPS的一种特定情况。一次【单击】操作中,客户端可能向服务器发送多个HTTP请求。
*点击率更能体现用户端对服务器的压力,TPS更能体现服务器对客户请求的处理能力。
四、事务:用户某一步或几步操作的集合。比如登录,输入用户名,密码,点击登录按钮,这三个动作就是一个事务。
五、响应时间(RT/ART):指用户发出请求到系统做出反应(响应)的时间。
举个例子,我们访问百度,实际是浏览器发送一个请求,然后百度服务器做出响应(系统的处理时间),数据返回到客户端(数据的传输时间),客户端经过渲染(呈现的时间),才展示出百度首页。
性能测试主要就是验证系统的处理时间,因为呈现的时间和数据的传输时间是我们不可控制的,用户使用的电脑及浏览器千差万别(影响呈现的时间),用户的网络状况千差万别(影响数据的传输时间)。我们唯一能控制的就是将系统的处理请求的时间缩到最短。
一般测试工具都屏蔽响应的呈现过程,只是模拟多用户并发请求,计算用户得到响应的时间,不会将服务器的每个响应做客户端渲染呈现。那么此时响应时间 = 系统的处理时间 + 数据的传输时间。
对于数据传输的问题,由于性能测试最好要在局域网中进行,在局域网中一般不会受到数据带宽的限制。所以,可以对数据的传输时间忽略不计。我们就可以把响应时间当做系统处理的时间,所以响应时间短,就可以代表系统处理的速度快。
五、负载:模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行提交表单的。
六、标准差:标准差越小说明波动小,系统越稳定。比如响应时间标准差、TPS标准差、CPU资源利用率标准差等。