如何计算延迟

时间:2013-04-15 23:10:36

标签: java networking

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

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

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

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

EDIT 长度乘以2以得到正确的字节值

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

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

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

我已阅读各种指南,并且不理解它们,这只是项目的简单要求

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

任何想法?

1 个答案:

答案 0 :(得分:0)

我总是测量延迟。平均延迟通常不是很有趣,你真正需要知道的是延迟有多糟糕,例如百分之一,千分之一或更差的情况。为此,您需要测量每个延迟并对其进行采样(或保持最大值)。这将远远高于您的计算结果,例如:它很容易就是10倍

简而言之,您无法计算您应该关注的延迟,您必须对其进行衡量。