应用程序对网络流量影响的度量标准

时间:2009-05-18 17:29:22

标签: networking client-server metrics bandwidth measurement

我正在编写一个应用程序,我能够将其吞吐量(通过线路发送的每秒位数)设置为我希望的任何速率。但是,我想将其设置得尽可能高,只要网络上的其他流量不会受到严重影响。

问题是,我没有一个好的指标来衡量这种影响。我想到了以下几个,但两个都不是真的“完整”:

  1. 增加数据包的平均延迟时间
  2. 丢包增加
  3. 抖动增加
  4. 增加tcp事务完成所需的平均时间(使用http下载文件)
  5. 有没有标准指标?您对如何衡量应用程序对网络的影响有任何其他想法吗?

    btw - 我对网络有完全的控制权,可以采取我想要的任何测量值来计算该指标。

    谢谢,

    肉粒

3 个答案:

答案 0 :(得分:0)

Traffic Engineering是一个相当复杂的领域。 Quality of Service可能是解决这个问题的一个很好的起点。

答案 1 :(得分:0)

这是其中一个可能很难以编程方式回答的问题。在我见过的应用中允许这种限制,它始终是一个配置选项。通常很难了解您的用户网络,您做出的任何假设都可能是错误的。

答案 2 :(得分:0)

当您超出带宽时,不同的网络会以不同的方式运行。他们中的大多数都有一连串的不良情况:

  1. 抖动将开始通过屋顶射击,因为一些数据包必须排队或重新传输(例如,半双工以太网或无线上的冲突)。平均延迟会略有增加。
  2. 随着过饱和持续(或过饱和水平较高),平均延迟将在所有数据包排队或重新传输时通过。如果队列大小很小,这可能会受到限制。
  3. 当队列溢出时,数据包丢失会增加。驱动带宽越高,丢失的数据包就越多。根据硬件的不同,抖动和延迟可能会也可能不会下降。
  4. 如果正在使用某种形式的QoS,则不同的数据包流可以独立地看到这些效果。例如,您可能在应用连接上抽取3倍带宽,并且看到ping时间变化相对较小。因此,您必须使用应用程序的数据包进行测量。

    (1)和(2)可能不会出现在给定的网络上。 (3)无论如何都会永远发生。不幸的是,即使你没有接近带宽限制,这三种情况也会发生。