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

我正在调查一些在美国托pipe的图片,有些用户的加载时间确实很慢。 这个图像,例如; 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的文件,而在美国的用户则花费约650ms

这是预料之中,我能做些什么来加快速度? (因为看起来本地的networking服务器能够非常快地将文件提供给局域网上的机器 – 我不确定在networking服务器端可以做什么)

从你所引用的数字来看,我会说你获得了相当不错的带宽 – 当然,你永远不会在同一个国家获得同样的带宽。

请记住,HTTP请求至less需要2个半程(TCP握手,http请求/响应,closures连接)。 所以美国的连接费用为0.0559 * 2.5 = 0.14s,而英国则为0.177 * 2.5 = 0.4425s

因此,实际提供内容的时间,包括美国用户的任何端点处理时间为0.51秒,而英国为1.45秒。

或英国0.95MBit / s美国和0.3MBit / s。

你如何加快速度? 那么你可以使用一个私人networking服务,如Akmai IP加速器(如果你想在英国的互联网上提供内容,而不是在分支机构设置的话,我预计这将会相当昂贵)。 或者您可以使用内容交付networking(CDN)。

但是在你尝试这个之前,你应该确保你的HTTPcaching信息已经被优化了。

不知道从本地边缘提供内容(包括dynamic和静态)是否是你愿意做的事情,但是如果你是一个有经验的系统pipe理员在一个地理位置上设置一个类似akamai的caching边缘并不是很困难。 一些替代品是FS Big-IP,Bluecoat或开源清漆。