性能测试易混淆点吃透07

性能测试常用指标

吞吐量

说明:吞吐量(Throughput):指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。
      通常情况下,吞吐量用“请求数/秒”或者“页面数/秒”来衡量。
提示:
    1. 从业务角度来看,吞吐量也可以用“业务数/小时”、“业务数/天”、“访问人数/天”、“页面访问量/天”来衡量。
    2. 从网络角度来看,还可以用“字节数/小时”、“字节数/天”等来衡量网络的流量。

每秒吞吐量统计(从网络角度):
    当服务器接受了请求后,就会响应给各个浏览器页面,这些页面携带都有大小的,以KB为单位计数,
    平均每秒吞吐量,代表了服务器每秒响应的信息量的大小,故每秒请求数越多,每秒吞吐量也就越多。
    请求数和吞吐量是成正比的。
    (因为有请求就有响应,请求是根据服务器响应页面中的状态码为标志来统计的,简单说就是请求数越多,
    服务器根据请求响应的状态码就越多,,因此信息量就上来了,故吞吐量(kb/s)就增加,因此请求数和吞吐量成正比)

并发数

说明:并发(Concurrency):它最简单的描述就是指多个同时发生的业务操作。
      (例如,100个用户同时单击登录页面的“登录”按钮操作。)
提示:并发性测试描述的是多个客户端同时向服务器发出请求,考察服务器端承受能力的一种性能测试方式。
(多个“同时”发送的“业务”操作,操作业务是一致的,在控制并发时通过集合点来实现)
这里提一下:
  Jmeter是对接口并发测试的。
  LoadRunner是对业务集合形成的事务做并发测试的。
这就是为什么说LoadRunner用来做web性能测试,而不是做接口测试原因,因为LoadRunner可变编写脚本指定事务开始和结束。

响应时间

说明:响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回结果整个过程所耗费的时间

QPS/TPS/并发量/系统吞吐量

我们在日常工作中经常会听到QPS/TPS这些名词,也会经常被别人问起说你的系统吞吐量有多大。
这个问题从业务上来讲,可以理解为应用系统每秒钟最大能接受的用户访问量。或者每秒钟最大能处理的请求数;

QPS“每秒查询率”: 
    每秒钟处理完请求的次数;注意这里是处理完。具体是指发出请求到服务器处理完成功返回结果。
    可以理解在server中有个counter,每处理一个请求加1,1秒后counter=QPS。

TPS每秒处理事务数:
	每秒钟处理完的事务次数,一般TPS是对整个系统来讲的。
    一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能会对应多个请求,对于衡量单个接口服务的处理能力,用QPS比较多。

并发量:系统能同时处理的请求数

RT:响应时间,处理一次请求所需要的平均处理时间

计算关系:
	QPS = 并发量 / 平均响应时间 (每秒钟能处理完的请求次数)
	并发量 = QPS * 平均响应时间
QPS与TPS区别
一、QPS/TPS
    QPS:
        Queries Per Second意思:是“每秒查询率”,是一台服务器每秒能够响应的查询次数,
        		        是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
            
    TPS:
        是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。
        一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,
        以此来计算使用的时间和完成的事务个数。

    Tps即每秒处理事务数,包括了   
        1)用户请求服务器
        2)服务器自己的内部处理
        3)服务器返回给用户
        这三个过程,每秒能够完成N个这三个过程,Tps也就是N(这里不是3,看我的csdn收藏原版);

    QPS与TPS区别:
        Qps基本类似于Tps,但是不同的是,对于一个页面的一次访问,形成一个Tps;
        但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“Qps”之中。
        例如:访问一个页面会请求服务器3次,一次产生一个“T”,产生3个“Q”  (因为页面中可能会有图片等资源去请求服务器)

二、系统吞吐量
    一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。
    单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。

    系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间(还挺难理解的,不过看了3遍后终于理解它们之间的关系了,嘿嘿)

            QPS(TPS):每秒钟request/事务 数量

            并发数: 系统同时处理的request/事务数

            响应时间:  一般取平均响应时间

理解了上面三个要素的意义之后,就能推算出它们之间的关系:
    QPS(TPS)= 并发数/平均响应时间    或者   并发数 = QPS*平均响应时间

点击数

说明:点击数是衡量Web服务器处理能力的一个重要指标。它的统计是客户端向Web服务器发了多少次HTTP请求计算的。

提示:
    1. 点击数不是通常一般人认为的访问一个页面就是1次点击数,点击数是该页面包含的元素
    	(访问一个页面并响应,那就是一个事务数了)
        (如:图片、链接、框架等)向Web服务器发出的请求数数量。
    2. 通常我们也用每秒点击次数(Hits per Second)指标来衡量Web服务器的处理能力。
    点击数,查看响应状态码,访问一个页面可能有多个点击数,用F12查看服务器端的响应状态码,就可知道这个页面有多少个点击数。
    点击数的统计是在服务器端完成的。
    
结论:和qps概念类似

LoadRunner中合并图的关系

常用合并图表组合说明
1. 平均事务响应时间与虚拟运行用户
2. 平均事务响应时间与吞吐量
3. 每秒点击数与吞吐量
4. 每秒点击数与平均事务响应时间
1. 平均事务响应时间与虚拟运行用户
一般表现为随着虚拟用户数的增加,事务响应变慢,响应时间拉长
2. 平均事务响应时间与吞吐量
事务响应时间变长,吞吐量(byte/sec)减少。
1. 说明:平均事务响应时间与吞吐量结合,可以看出单个事务对吞吐量的影响

2. 分析:
    1. 从上图中看出,登录事务响应时间忽然拉长,系统吞吐量直线下降,说明,系统并不是因为总吞吐量的问题
       导致登录响应延长,基本确定是登录资源或登录业务代码响应时间增长导致的问题;

    2. 具体是登录资源还是登录业务,需要结合页面组件细分图和每秒点击数来确定是那个问题;
3. 每秒点击数与吞吐量
1. 说明:正常情况下每秒点击率与吞吐量图形基本是一致的
2. 分析
    1. 吞吐量不正常那么说明,应用程序响应时间慢
    2. 点击量不正常那么说明,网络存在问题,需要检查网络相关报表
3. 提示:一般测试不同配置服务器性能时,这两张图合并最好用;
4. 每秒点击数与平均事务响应时间
每秒点击数增多,平均事务响应时间变慢,事务响应时间拉长。
posted @ 2020-10-10 22:48  幸福来之不易  阅读(228)  评论(0编辑  收藏  举报