美国和英国客户端的 HTTP 响应时间存在很大差异

美国和英国客户端的 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 毫秒

这是可以预料到的吗?我能做些什么来加快速度?(因为看起来本地的 Web 服务器能够非常快速地将文件提供给 LAN 上的机器 - 我不确定在 Web 服务器端可以做些什么)

答案1

根据您引用的数字,我认为您获得的带宽相当不错 - 当然您永远不会在跨大洲获得与在同一国家内相同的带宽。

请记住,HTTP 请求至少需要 2 个半往返(TCP 握手、http 请求/响应、关闭连接)。因此,美国连接的开销为 0.0559*2.5 = 0.14 秒,英国的开销为 0.177*2.5=0.4425 秒

因此,实际传递内容所需的时间(包括任何端点处理)对于美国用户来说为 0.51 秒,对于英国来说为 1.45 秒。

或者美国为 0.95 MBit/s,英国为 0.3MBit/s。

如何加速?您可以使用 Akmai IP 加速器等私人网络服务(如果您想在英国的互联网上提供内容,而不是在分支机构设置,我预计这会相当昂贵)。或者您可以使用内容分发网络 (CDN)。

但在尝试之前,您应该确保您的 HTTP 缓存信息已经优化。

答案2

不知道您是否愿意从本地边缘提供内容(包括动态和静态内容),但如果您愿意,经验丰富的系统管理员在某个地理位置设置类似 Akamai 的缓存边缘并不困难。一些替代方案是 FS Big-IP、Bluecoat 或开源 Varnish。

相关内容