我在ISP公司工作。我們正在爲我們的客戶開發速度測試儀,但遇到了有關TCP速度測試的一些問題。TCP速度測試器算法問題
一個客戶端總共持續了102秒,傳輸100 MB的數據包大小爲8192. 100.000.000/8192 = 12.202個數據包。如果客戶端每隔一個數據包就發送一個ACK,這似乎很多時候只是發送ACK。假設客戶端發送6000個ACK並且RTT爲15ms--這對於ACK來說是6000 * 7.5 = 45.000ms = 45秒?
如果我用這個計算Mbit/s的:
(((sizeof_download_in_bytes/durationinseconds) /1000) /1000) * 8 = Mbp/s
我會得到的結果MBP/S,但隨後的TTL是發送者和客戶端的MBP/s以上的高速度會變成。
爲了模擬用戶更接近服務器,在Mbp/s上刪除最終結果中的ACK響應時間是否「合法」?這就像模擬最終用戶靠近服務器?
所以我會顯示此計算最終用戶:
(((sizeof_download_in_bytes/(durationinseconds - 45sec)) /1000)/1000) * 8 = Mbp/s
是不是有效?
你的窗口大小是多少? – 2011-02-07 15:40:13