• 性能测试常见用语解析


    1.并发用户数量

    常见的错误理解:

    • 使用系统的全部用户数量
    • 使用系统的全部在线用户数量

    正确理解:

    • 与服务器进行交互的在线用户数量

    比如说浏览一个web网站的某个页面,是不会对server造成压力的。

    2.请求响应时间

    • 从client端发生请求到得到响应的整个时间
    • 一般包括网络响应时间+server的响应时间

    3.事务请求响应时间

    • 完成这个事务所用的时间

    这是性能测试中重点关注的指标

    4.吞吐率

    • 单位时间在网络上传输的数据量

    这个是衡量网络性能的主要指标

    吞吐率指的是从server端返回client端的数据量,不是从client发送到server的数据量

    5.吞吐量

    • 网络上传输的数据总量

    6.TPS

    • 每秒钟系统能够处理事务的数量

    7.点击率

    • 每秒发送的HTTP请求的数量
    • 点击率越大对server的压力也就越大

    注:按一个button并不总是发送一个请求,有时会发送两个以上HTTP请求

    8.资源利用率

    • 对不同资源的使用程度,比如服务器的CPU,内存等

      系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间

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

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

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

        理解了上面三个要素的意义之后,就能推算出它们之间的关系:

        QPS(TPS)= 并发数/平均响应时间

    例子:一个高速路有10个入口,每个入口每秒钟只能进1辆车

    1、请问1秒钟最多能进几辆车?
       TPS=10
    2、每辆车需要多长时间进行响应?
       reponse time = 1
    3、改成20辆车,每秒能进几辆?每辆车的响应时间是多长?
       TPS = 10,reponse time = 1  (10个为一等份,分成两等份,平均tps (10/1+10/2)/2=7.5 平均响应时间(2+1)/2=1.5
    4、入口扩展到20个,每秒能进几辆?每辆车的响应时间是多长?
       TPS = 20,reponse time = 1
    5、看看,现在TPS变了,响应时间没变,TPS和响应时间有关系吗?
      木有关系
    6、如何理解?
      TPS和响应时间在理想状态下都是额定值(联想运行一个压力测试场景来考虑),把入口看成线程池,如果有20个入口,并发数只有10的时候,TPS就是10,而响应时间始终是1,说明并发数不够,需要增加并发数达到TPS的峰值。
    7、同样是20个入口,如果并发数变成100的话,TPS和响应时间会怎么样呢?
      并发数到100的时候,就会出现堵车,堵车了平均每个车过去的时间就长了,把100个车按照20一份分成5份,第5份的等待时间就是最长的,从等待开始到这个车进去,实际花费了5秒,那100辆车都过去的响应时间就是(5+4+3+2+1)/5=3,平均的TPS就是(20/1+20/2+20/3+20/4+20/5)/5=9.13
    8、由此可知,TPS和响应时间宏观上是倒数关系,但是两者实际上木有直接的关系的,在上例中,系统只存在20个线程,100的并发就会造成线程的等待,引起平均响应时间从1秒增加到3秒,TPS从20下降到9,TPS和响应时间都是单独计算出来的,并不是互相算出来的!
     
    9、同样可知,在并发量保持不变的情况下,提高TPS的手段有几种?
      A、增加线程池的数量(入口)B、降低每辆车入关的时间(也就是提高单个线程的处理效率)
     
    10、从TPS和response time的定义查看这2者的区别?
      TPS = 在场景或者灰化步骤运行的每一秒钟中,每个事务通过、失败以及停止的次数
      也就是说,TPS = 总的通过、失败的事务总数/整个场景的运行时间;
      reponse time = 每个事务完成实际需要的时间/事务处理数目
      因此,这2个东西压根就是没有关系的!
     -------------------------------------------------------------------------
    Jmeter聚合报告中的,吞吐量=完成的transaction数/完成这些transaction数所需要的时间;平均响应时间=所有响应时间的总和/完成的transaction数;失败率=失败的个数/transaction数。
  • 相关阅读:
    ZH奶酪:中文依存句法分析概述及应用
    CheeseZH: Stanford University: Machine Learning Ex5:Regularized Linear Regression and Bias v.s. Variance
    ZH奶酪:Git简明教程
    ZH奶酪:Python按行读取文件
    ZH奶酪:Python中zip函数的使用方法
    ZH奶酪:Python中range和xrange的区别
    ZH奶酪:CSS中限制span显示字数
    ZH奶酪:利用CSS将checkbox选项放大
    ZH奶酪:Ubuntu启动/重启/停止apache服务
    CheeseZH: Stanford University: Machine Learning Ex4:Training Neural Network(Backpropagation Algorithm)
  • 原文地址:https://www.cnblogs.com/chengchengla1990/p/5798379.html
Copyright © 2020-2023  润新知