Apache-2.2
美國和英國客戶端的 HTTP 響應時間差異很大
我正在調查一些託管在美國的圖片的問題,即一些使用者的載入時間非常慢。例如這張圖片; http://opencirrus-g0805.hpl.hp.com/books40/UMICH/2160/10/47/23/59/216010472359/SCALE/sp3031.jpg
從美國數據中心使用 apache bench ab;
Server Hostname: opencirrus-g0805.hpl.hp.com Document Path: /books36/IA/2160/40/00/01/15/216040000115/SCALE/sp0831.jpg Document Length: 62604 bytes Failed requests: 0 Requests per second: 1666.38 [#/sec] (mean) Time per request: 6.001 [ms] (mean) Transfer rate: 102405.91 [Kbytes/sec] received from another box in the dc; Requests per second: 1847.39 [#/sec] (mean) Time per request: 5.413 [ms] (mean) Transfer rate: 113526.09 [Kbytes/sec] received From missouri Requests per second: 27.88 [#/sec] (mean) Time per request: 358.700 [ms] (mean) Transfer rate: 1774.29 [Kbytes/sec] received ping from missouri PING opencirrus-g0805.hpl.hp.com (198.55.33.68) 56(84) bytes of data. 64 bytes from opencirrus-g0805.hpl.hp.com (198.55.33.68): icmp_seq=1 ttl=51 time=55.9 ms From London they are getting very slow Requests per second: 5.29 [#/sec] (mean) Time per request: 1891.408 [ms] (mean) Transfer rate: 358.92 [Kbytes/sec] received even though ping is much less than the time per request; PING opencirrus-g0805.hpl.hp.com (198.55.33.68) 56(84) bytes of data. 64 bytes from opencirrus-g0805.hpl.hp.com (198.55.33.68): icmp_seq=1 ttl=54 time=177 ms
因此,對於倫敦的使用者來說,下載一個 62K 的文件需要一秒鐘的時間,而對於美國的使用者來說,它需要大約 650 毫秒
這是意料之中的嗎?我能做些什麼來加快速度?(因為看起來本地網路伺服器能夠非常快速地將文件提供給區域網路上的盒子 - 我不確定在網路伺服器端可以做什麼)
從您引用的數字來看,我會說您獲得了相當不錯的頻寬-當然,您永遠不會在各大洲獲得與在同一個國家/地區獲得相同的頻寬。
請記住,HTTP 請求至少需要 2 次半往返(TCP 握手、http 請求/響應、關閉連接)。因此,美國連接的成本為 0.05592.5 = 0.14 秒,而對於英國,則為 0.1772.5=0.4425 秒
因此,實際傳遞內容所需的時間(包括任何端點處理)對於美國使用者是 0.51 秒,對於英國使用者是 1.45 秒。
或美國為 0.95 MBit/s,英國為 0.3MBit/s。
你如何加快速度?好吧,您可以使用像 Akmai IP 加速器這樣的專用網路服務(如果您想在英國的網際網路上而不是在分支機構設置中提供內容,我預計這將相當昂貴)。或者您可以使用內容傳遞網路 (CDN)。
但在您嘗試此操作之前,您應該確保您的 HTTP 記憶體資訊已經過優化。