gpt4 book ai didi

java - 如何计算网络的延迟和带宽

转载 作者:行者123 更新时间:2023-12-02 07:10:02 26 4
gpt4 key购买 nike

我有代码可以 ping 多台机器并记录时间,它针对不同的数据包大小(1kb 到 100gb)执行此操作,但我想知道如何计算网络的延迟,这如何实现?

这是我用来测量 ping 的代码:

另外我如何测量系统的带宽?

谢谢大家的帮助!

最佳答案

在延迟和带宽完全恒定的理想情况下,这只是一个线性问题:

delay = packetsize / bandwidth + latency

有两个变量,带宽和延迟,所以你至少需要两个不同的记录来解决它。但是,我建议对许多数据对进行计算,例如取所有结果的中位数。

我认为求解上面的方程应该很容易。如果没有,请随时询问。

更新:如何求解上述方程

Let
y1, y2 values for delay
x1, x2 values for packetsize
a := 1/bandwith
b := latency

y1 = a * x1 + b
y2 = a * x2 + b
=> b = y1 - a * x1 [1]
=> y2 = a * x2 + y1 - a * x1
=> a = (y2 - y1) / (x2 + x1)
Now put it in equation [1]:
=> b = y1 - (y2 - y1) / (x2 + x1)

现在您有 b 表示延迟,1/a 表示带宽。

关于java - 如何计算网络的延迟和带宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15638244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com