0
我有代碼,以ping幾臺機器,並記錄時間,它爲各種數據包大小(1kb到100gb)這樣做,但我想知道如何計算延遲的網絡,這怎麼能實現呢?如何計算一個網絡的延遲和帶寬
這是我用來測量平代碼:
還如何衡量系統的帶寬呢?
感謝您的幫助!
我有代碼,以ping幾臺機器,並記錄時間,它爲各種數據包大小(1kb到100gb)這樣做,但我想知道如何計算延遲的網絡,這怎麼能實現呢?如何計算一個網絡的延遲和帶寬
這是我用來測量平代碼:
還如何衡量系統的帶寬呢?
感謝您的幫助!
在延遲和帶寬是完全恆定的理想情況下,它只是一個線性問題:
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
的帶寬。
非常感謝,延遲的結果將全部運行20次,並且採用最低,最高和平均數字,我將能夠使用延遲介質和數據包大小,但是我將如何當我不知道時,能夠計算帶寬和延遲? – user2065929 2013-03-26 15:52:56