【发布时间】:2013-04-08 05:08:27
【问题描述】:
我创建了一些 Java 代码来测量延迟、数据包大小和带宽。
计算延迟所需的公式是什么?
这是我目前正在使用的,但不确定它是否正确:
//latency = packetsize / delay + bandwidth
System.out.println("latency is " + (len*2) / (duration + transferRateMb));
编辑 长度乘以 2 得到正确的字节值
duration 是 ping 完成所用的时间
传输率由 :
double transferRateMb = ((len*524288.0) / (duration/ 1000000000.0) ) ; //amount of data in megabytes transferred in 1 second.
看了各种指南,没看懂,这只是一个项目的简单需求
这也将运行 20 次并取平均值
有什么想法吗?
【问题讨论】:
-
我希望
(duration + transferRateMb)给你双倍的价值和---> Latency and bandwidth并且已经问过---> how to calculate packet time from latency & Bandwidth -
延迟受网络拥塞的影响最大,随着时间的推移会发生很大的变化,并且一个方向的延迟可能与返回延迟不匹配。没有真正的方法可以得到一个公式来告诉你延迟是什么。这就是为什么我们有 IP SLA 等工具来持续测量实际延迟的原因。
标签: java networking