我创建了一些Java代码来测量延迟,数据包大小和带宽.
计算延迟所需的等式是多少?
这是我目前正在使用但不确定它是正确的:
//latency = packetsize / delay + bandwidth
System.out.println("latency is " + (len*2) / (duration + transferRateMb));
Run Code Online (Sandbox Code Playgroud)
编辑长度乘以2以得到正确的字节值
duration是ping完成所需的时间
转移率由以下公民发现:
double transferRateMb = ((len*524288.0) / (duration/ 1000000000.0) ) ; //amount of data in megabytes transferred in 1 second.
Run Code Online (Sandbox Code Playgroud)
我已经阅读了各种指南,并且不理解它们,这只是项目的一个简单要求
这也将运行20次并取平均值
有任何想法吗 ?
我总是测量延迟。平均延迟通常不是很有趣,您真正需要知道的是延迟有多严重,例如百分之一、千分之一或更糟糕的情况。为此,您需要测量每个单独的延迟并对其进行采样(或保留最大值),这将远远高于您的计算结果,例如它很可能是 10 倍
简而言之,您无法计算您应该关心的延迟,您必须测量它。
| 归档时间: |
|
| 查看次数: |
3445 次 |
| 最近记录: |