6

我创建了一些 Java 代码来测量延迟、数据包大小和带宽。

计算延迟所需的方程式是什么?

这是我目前正在使用的,但不确定它是否正确:

//latency = packetsize / delay + bandwidth 
System.out.println("latency is " + (len*2) / (duration + transferRateMb));

编辑长度乘以 2 以给出正确的字节值

持续时间是 ping 完成所用的时间

传输率通过以下方式找到:

double transferRateMb = ((len*524288.0) / (duration/ 1000000000.0) ) ; //amount of data in megabytes transferred in 1 second. 

看了各种指南,没看懂,这只是一个项目的简单需求

这也将运行 20 次并取平均值

有任何想法吗 ?

4

1 回答 1

0

我总是测量延迟。平均延迟通常不是很有趣,您真正需要知道的是延迟有多糟糕,例如 100 分之一、1000 分之一或更糟的情况。为此,您需要测量每个单独的延迟并对其进行采样(或保持最大值)这将远远高于您的计算,例如它可能很容易达到 10 倍

简而言之,你无法计算你应该关心的延迟,你必须测量它。

于 2013-04-16T07:36:42.250 回答