zoukankan      html  css  js  c++  java
  • 理一理Latency、Bandwidth、Throughput、Response Time概念的区别

    经常,一些性能测试人员对延时(Latency)、吞吐(Throughput)、带宽(Bandwidth)和响应时间(Response Time)感到迷惑,今天,就用一些简单的例子来说明它们之间的区别。

    从上图(水管示意图),基本可以看出三个重要组件:延时(Latency)、吞吐(Throughput)、带宽(Bandwidth)之间的关系,如果还不清楚,那么可以看下面的解释:

    延时(Latency):水从一端传播到另一端所花费的时间称为Latency。它是以毫秒、秒、分钟或小时等时间单位来衡量的。在性能测试中,请求的延时是客户端到服务端以及服务端到客户端的传输时间。一些测试人员称之为“延迟(Delay)”。比如说:

    • 一个请求从t=0时刻开始
    • 花了1秒时间到达服务端(t=1)
    • 服务端花了2秒时间进行处理(t=3)
    • 最后花了1秒时间到达客户端(t=4)

        所以,我们这里所说的延时(Latency)就是2秒。

    带宽(Bandwidth):它显示了管道(通信通道)的容量。带宽表示通过管道的水的最大值。在性能测试术语中,通过通信信道传输的最大数据量称为信道带宽。假设ISDN的带宽是64K,则我们可以增加一个64K的通道,所以总带宽是128K。

    吞吐(Throughput):从管道中实际流出的水可以表示为吞吐量。在性能测试术语中,“在给定的时间段内从一个位置成功移动到另一个位置的数据量,通常以每秒比特数(bps)来度量,或每秒兆比特数(Mbps)、每秒千比特数(Gbps)”。例如:在第4秒传输了20 bit数据,因此在t=4时的吞吐量为20bps。

    响应时间(Response Time):响应时间是指从用户发送请求到应用程序加上请求已经完成并返回给用户的时间。在上面的延时示例中,响应时间为4秒。

         另外,还有一些重要的点需要提一下:

    • 解决带宽(Bandwidth)比解决延时(Latency)更容易
    • 如果吞吐量(Throughput)几乎等于带宽(Bandwidth),这意味着网络使用率很高
    • 通过在平坦吞吐量图中增加响应时间(Response Time)可显示网络带宽(Bandwidth)问题。 可以通过添加额外信道(即通过增加网络带宽)来解决该瓶颈
    • 理想情况下,吞吐量(Throughput)和网络带宽(Bandwidth)的预期容量是一致的
    • 有些工具不以单位时间表示吞吐量(Throughput),而是以时钟周期表示。这是不正确的,但通常使用更方便
    • 响应时间(Response Time)与吞吐量(Throughput)成正比。如果吞吐量(Throughput)随响应时间(Response Time)的增加而减少,则表示应用程序/系统不稳定
    • 线程的数量与吞吐(Throughput)量成正比
    • 如果延时(Latency)较低,但是带宽(Bandwidth)较小,那么从A点到B点的数据传输时间要比延时(Latency)低且带宽(Bandwidth)高的时间长
    • 延时(Latency)受连接类型、距离和网络拥塞的影响

    https://my.oschina.net/fileoptions/blog/2254644

     
    性能指标TP99

    首先给出Google到的答案:

    The tp90 is a minimum time under which 90% of requests have been served.

    tp90 = top percentile 90

    Imagine you have response times:

    10s
    1000s
    100s
    2s

    Calculating TP is very simple:

    1. Sort all times in ascending order: [2s, 10s, 100s, 1000s]

    2. find latest item in portion you need to calculate.
    2.1 For TP50 it will be ceil(4*0.5) = 2 requests. You need 2nd request.
    2.2 For TP90 it will be ceil(4*0.9) = 4. You need 4th request.

    3. We get time for the item found above. TP50=10s. TP90=1000s

    依此,翻译过来,TP99就是满足百分之九十九的网络请求所需要的最低耗时。同理TP999就是满足千分之九百九十九的网络请求所需要的最低耗时。

    举个例子:有四次请求耗时分别为:

    10ms,1000ms,100ms,2ms

    那么我们可以这样计算TP99:4次请求中,99%的请求数为4*0.99,进位取整也就是4次,满足这全部4次请求的的最低耗时为1000ms,也就是TP99的答案是1000ms。

  • 相关阅读:
    判断是否微信浏览器,是的话,加入自己想加的功能
    Spring MVC源码(三) ----- @RequestBody和@ResponseBody原理解析
    Spring MVC源码(二) ----- DispatcherServlet 请求处理流程 面试必问
    Spring MVC源码(一) ----- 启动过程与组件初始化
    spring5 源码深度解析----- IOC 之 bean 的初始化
    spring5 源码深度解析-----IOC 之 循环依赖处理
    spring5 源码深度解析-----IOC 之 属性填充
    spring5 源码深度解析----- IOC 之 bean 创建
    spring5 源码深度解析----- IOC 之 开启 bean 的加载
    spring5 源码深度解析----- IOC 之 自定义标签解析
  • 原文地址:https://www.cnblogs.com/softidea/p/12895259.html
Copyright © 2011-2022 走看看