2

我想添加一個功能到顯示用戶上傳速度的網頁(幫助他們預測文件上傳時間)。有沒有可靠的方法來測試上傳速度?

我很高興找到a cool example of how to do this with javascript但是當我去檢查結果對其他(有信譽的?)測試來源時,結果都是在這個地方!

我特別感興趣的是上傳速度。

對我的工作以太網:

http://testmy.net - 15Mbps的

http://bandwidth.com/tools/speedTest/ - 25Mbps的

http://www.brandonchecketts.com/speedtest - 3.2Mbps

http://codecanyon.net/item/javascript-bandwidth-tester/full_screen_preview/531891 - 6Mbps的

http://thinkingstiff.com/scripts/upload-speed - 1-2Mbps
(由上面引用的腳本的作者現場演示)

最初我認爲這是從我的網絡波動,由於來自其他用戶的流量等,但我一直在重新測試下午,每個測試是非常一致的它的自我。比其他人多一些,但一般在5%以內。

所以我在想:

  1. 這不是直接的測試呢?
  2. 有沒有可靠的工具來測試呢?或者我應該手動自己做?
+0

你也可以使用http://speedof.me/api – advncd

回答

0

W3C在某種程度上一直在努力,但this jsFiddle使用XMLHttpRequest來測試上傳速度。據我所知,W3C並沒有制定金標準。

+0

有沒有一種方法來驗證瀏覽器沒有壓縮上傳? – sheamus

+0

這不太好 - 它取決於你提供的字符大小。上傳0.1MB == 2MB。上傳5MB == 50KB。 – hipkiss

1

這一切都取決於你真正想測試的。您是否想要測試該用戶向您的服務器上傳速度,或者您想給用戶一個工具,一個速度測試工具,讓他看到它的一般上傳速度?

從這個問題來看,我認爲這是後者,我會說沒有可靠的方法讓你這樣做。你所能做的就是測試你的服務器和客戶端之間的速度。你發現的工具可能會做得很好。但是這個速度取決於很多因素,並且它並不是真正具有代表性的情景,您可以從中總結出用戶訪問互聯網的速度。我不知道我是否解釋了我想說的內容,但我會舉例說明:

假設用戶位於歐洲,網絡連接爲50/10 mbps。您的服務器位於美國。當您測試上傳速度時,流量必須經過很多路由器才能從歐盟到美國以及可能出現擁塞或遇到其他問題的網絡,從而降低速度。因此,他在客戶端和服務器之間獲得的速度例如是3mbps。另一方面,如果他要測試他和他身邊的某個服務器之間的速度,就像在他的ISP網絡中一樣,他可能會得到承諾給他的全部10mbs的速度。這就是爲什麼您爲同一個測試服務器獲得一致速度的原因,但是相比之下卻有所不同。

在測試帶寬時,儘可能接近客戶端至關重要。這就是爲什麼許多ISP已經建立了自己的速度測試服務器,以便用戶可以檢查他們對互聯網的訪問速度。除此之外的一切都沒有真正的相關性,因爲從服務器到服務器的速度會有所不同(有時候會很劇烈),並且不能被認爲是有效的結果。

+0

謝謝。您對每個速度測試站點都是不同的傳輸做出了很好的評價。這肯定會解釋報告數字的一些變化......但是你認爲它可以真正解釋如此巨大的範圍嗎? 1-15?可以定位帳戶那麼多?另外,我其實對你的第一個場景更感興趣。我想測試用戶的上傳速度到我的服務器。你是否想過要可靠地做到這一點? – emersonthis

相關問題