性能测试指标是衡量系统性能的评价标准,常用的系统性能测试指标包括:响应时间、并发用户 / 并发、点击率、[吞吐量]、TPS/QPS、PV/UV;Linux 服务器常用的性能指标包括:CPU 使用率、内存占用率、磁盘 IO、系统平均负载等。
一 系统性能测试指标
1.1 响应时间
响应时间是指某个请求或操作从发出到接收到反馈所消耗的时间,包括应用服务器(客户端)处理时间、网络传输时间以及数据库服务器处理时间。比如一个页面从点击 / 输入到完全加载的时间;完成一次增加、删除、修改或者查询动作的事务响应时间等。
一个请求在网络上的传输往往要经历多个网络节点才能到达目标服务器,我们假设请求经历了三个网络节点的传输时间 B1、B2、B3,客户端的处理时间为 A,服务器的响应时间为 C。则一次请求的完整路径可以描述为下图:
客户端从发出请求到接收到服务器反馈的完整链路时间为 A—>B1—>B2—>B3—>C(节点处理时间都包括接收和发送两个过程)。则请求的响应时间为:
响应时间 = A+B1+B2+B3+C
1.2 并发
并发是指多个用户在同一时期内进行相同的事务处理或操作。由于用户在进行一系列操作流程时有一定的时间间隔(即用户思考时间)或者服务器处理请求有先后顺序,于是,就产生了绝对并发和相对并发概念的区分。
绝对并发是指同一时刻(即同一时间点)并发用户对服务器同时发送请求。
相对并发是指一段时间内(即同一时间区间)并发用户对服务器发送请求。
举个例子,一个并发量为 10000 人(可同时容纳 10000 人)的动物园,这里的并发量是指绝对并发还是相对并发呢?我们很容易理解,这个并发指的是相对并发,因为整个动物园是一个交织的网状结构,出入口、老虎、狮子、大象等各个动物站点都有分流的作用,基本不可能出现出入口或者站点能够同时承载 10000 人的情况,出入口的并发可能只有 200 人。因此这个动物园的例子里,并发量 10000 是指各个节点的总和,参观者参观动物园有路径的先后顺序,是相对并发的概念。而出入口的并发量是 200 人,则是指同一时间在出入口能够同时容纳 200 人,这就是绝对并发的概念。
一般来说,在系统的性能测试中,系统或者模块的并发更多是指相对并发,而接口的并发更倾向于绝对并发。并发性能的概念是指系统、模块或接口稳定运行,不抛出异常情况下所能够承载的并发量。
在并发性能测试中常用到并发用户数和并发请求数两个指标。顾名思义,并发用户数是指同一时间(点或区间),系统、模块或接口能够承载的用户数量;并发请求数是指同一时间(点或区间),系统、模块或接口能够承载的请求数量。
1.3 点击量 / 点击率
点击量是衡量网站流量的一个指标,也就是点击数 clicks,是对网站点击数据的统计。
点击率(Clicks Ratio)也可以叫做点进率(“Click-through Rate),它是网站上某一内容被点击的次数与整个网站内容被显示次数之比,即 clicks/views。反映了网站上某一页面或内容的受关注程度,经常用来衡量广告的吸引程度。比如公众号的一篇文章被浏览了 10w 次,文章中的广告链接被点击了 2000 次,那么这条广告的点击率是 2%(2000/100000*100%)。
在性能测试领域,点击率(hit rate)常指单位时间内(每秒钟)页面的点击数,即每秒钟发送的 http 请求数量,点击率越大对服务器造成的压力也越大,对服务器的