互聯網開發-web文件上傳性能問題

1. 問題描述

文件大小 部署環境 平均上傳速度
5M 外網 28s-36s
5M 公司局域內網 秒傳,很快

2. 問題分析
在網上搜索“測速網”測試了一下公司外網的帶寬情況:
上傳帶寬 = 1.04 Mbps = 133.2 kb/s
下載帶寬 = 1.25 Mbps = 160 kb/s

單位換算:
1 Mbps(帶寬速率)= 128 kb/s
1M = 1024 kb

爲什麼公司內網環境的上傳那麼快呢?由於對網絡不是很瞭解,我特意問了一下公司的網絡管理員輝哥,我們公司辦理的企業級100M光纖帶寬。所以在公司的局域內網環境下,上傳速率和下載速率都是100Mbps。因爲是光纖,所以上傳速率和下載速率是對等的,都是100Mbps。所以在內網環境的上傳,是很快的。我們來算一下內網的上傳:
5M的上傳文件,大小 = 5 * 1024 = 5120 KB;
100Mbps = 100 * 128 KB/S
上傳用時 = 5120/12800 = 0.4S

爲什麼在外網上傳就特別慢呢?因爲公司對員工訪問外網做了帶寬限制,大概1-2Mbps的帶寬;
按照3Mbps的帶寬我們來算一下公司的外網上傳:
5M上傳文件, 大小 = 5*1024 = 5120 KB
公司外網上傳帶寬 = 2 Mbps = 2* 128 KB/S = 256 KB/s
上傳用時 = 5120/256 = 20s
由於上傳帶寬是300多號員工共享的,實際上傳帶寬會低於2 Mbps,所以導致外網環境的上傳大概30s左右。

3. 帶寬知識普及
通常我們在運營商辦理的帶寬種類有如下集幾種:

常見寬帶 理論最高速率(Mbps) 理論最高速率(KB/S) 常見下載速率(供參考)
1M 1 Mbps 128 KB/S 77~128 KB/S
2M 2 Mbps 256 KB/S 154~256 KB/S
3M 3 Mbps 384 KB/S 231~384 KB/S
4M 4 Mbps 512 KB/S 307~512 KB/S
6M 6 Mbps 620 KB/S 462~620 KB/S
8M 8 Mbps 1024 KB/S 614~1024 KB/S
10M 10 Mbps 1280 KB/S 768~1280 KB/S
30M 30 Mbps 3840 KB/S 2560~3840 KB/S
50M 50 Mbps 6400 KB/S 3840~6400 KB/S
100M 100 Mbps 12800 KB/S 7680~12800 KB/S

從列表可見,我們【使用時的真實速率】通常達不到運營商支持的【最高速率】。
運營商所謂的【最高速率】通常指我們使用的【下載速率】。爲什麼沒有【上傳速率】呢?

(1)上傳帶寬不一定等於下載帶寬。

  • 寬帶是ADSL接入(電話線接入)的話,由於ADSL使用的技術是一種不對稱數字用戶線,所以ADSL是不對等帶寬,通常上傳速度只有下載速度的1/8左右,可以說是國際標準了。
  • 光纖接入帶寬的話,技術上是利用兩條光纖分別負責上行和下行。所以原則上,上傳下載速度是對等的。實際上呢,光纖用戶依然被寬帶運營商限制了上行帶寬,即使是光纖入戶的百兆帶寬,上傳帶寬也不足4M。

(2)爲什麼寬帶運營商要限制家庭用戶的上行寬帶
主要原因可能就是爲了省錢,畢竟公司都是以利益爲主嘛。網民長期以來的網絡使用習慣,使他們已經習慣了上行帶寬慢,而且也沒有用戶死氣白咧的要求提高上行帶寬。如果寬帶運營商給予上下行相同的速度,會造成資源浪費。但如果把上行帶寬資源銷售給機房的企業專線租用客戶,則會獲得更多的利益。託管在機房的服務器需要大量上行帶寬,並不需要太多下行帶寬。而且帶寬價格非常昂貴,往往機房10M上行專線租用的費用就是家庭100M費用的5、6倍。由此看來,運營商很可能把虧欠我們的上行帶寬拿去高價賣給企業機房了,你大爺!

4. 總結
綜上所述,國內的上行帶寬(光纖接入)最大值4Mbps,然而通常也就 2Mbps 左右的上行帶寬。
所以互聯網上傳文件,很慢的。不要再盲目的改你的代碼了,沒用的。

參考鏈接:
http://blog.csdn.net/longxingzhiwen/article/details/54015223
http://digi.tech.qq.com/a/20160311/029373.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章