2011-07-26 32 views
2

這裏是我的想法:是否可以準確確定用戶的即時下載速度?

有一個很小的,獨立的JavaScript文件,可以在頁面完全加載後啓動。腳本將啓動一個計時器,下載一個已知大小的文件(比如說10KB的亂碼文本),然後停止定時器。

如果計時器確定下載文件需要大約1秒的時間,那麼這是否意味着用戶每秒只能有80千比特每秒的下游流量?或者,這意味着它會持續1秒鐘從我的服務器下載80千比特,無論它是圖像,文本文件還是音樂文件等。

+0

您可以使用speedof.me中的新速度測試API。 http://speedof.me/api – advncd

回答

1

這裏有很多事情要做。首先,在下載文件時,您必須同時滿足延遲(第一個下載位在線上傳輸的時間)和帶寬(適合線纜的數據量)。您還必須應對爭用和/或路由基本上可變的事實,因此此類測量會隨時發生變化(可能顯着)。

如果你想要一個體面的措施,你將需要嘗試幾次不同大小的文件(10kb,100kb,1000kb ,, 10000kb等)。有了這些數據(尤其是如果它是在不同時間測量的),您應該能夠通過嘗試估計延遲(與下載大小無關),考慮因素並查看剩餘時間(用於估計下載速度)來估計「下載速度」最好的,最差的或平均的情況)。

如果你保持請求數據包小,我會忽略上傳的延遲。只要確保你嘗試下載真正的大文件,你應該沒問題。

0

客戶端下載速度可能大大波動,所以一秒鐘樣本不會告訴你很多。它會告訴你他們在這一秒內的平均下載速度(從你的服務器),但他們下一秒的下載速度可能是10倍的速度或5倍的速度。他們可能會同時下載其他內容,這會影響您的結果。

如果您想要這樣做,請記住,在服務器收到文件請求之前,您無法開始計時。否則,你還包括上傳時間以請求該文件。另外請記住,文件的標題佔據了空間,因此您應該在製作文件時弄清楚標題有多大。

相關問題