![与服务器距离对页面加载速度的影响](https://linux22.com/image/571777/%E4%B8%8E%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%B7%9D%E7%A6%BB%E5%AF%B9%E9%A1%B5%E9%9D%A2%E5%8A%A0%E8%BD%BD%E9%80%9F%E5%BA%A6%E7%9A%84%E5%BD%B1%E5%93%8D.png)
我测量了从我的服务器(使用 pingdom 服务)由 nginx 断开的静态图像文件的加载速度。服务器通常应在几秒钟内处理此请求。我的服务器位于德克萨斯州达拉斯。当我使用 pingdom Dallas 服务器时,加载文件需要 200 毫秒。这包括 DNS 解析和数据传输。显然,对于较长的传输,它应该需要更长的时间;但令人惊讶的是,这个值在纽约为 800 毫秒,在阿姆斯特丹为 1.5 秒。
显而易见的结论是距离在从服务器到客户端计算机的数据传输中起着作用,与我的服务器性能无关。但是,当我检查谷歌和必应等主要网站的这种差异时;差异只有 50%(例如美国为 200 毫秒,欧洲为 300 秒)。
我的服务器对服务器远程请求有什么需要改进吗?
答案1
+1 给 Chopper3,但我也想解释一些事情。
地理距离与转移的关系并没有你想象的那么大。
重要的是:
- 您的 ISP 对等连接
- 他们的 ISP 对等连接
- 这些对等点之间的路由
- 流量整形
示例 1:在我的大学,我们通过一家国有 ISP 获得互联网。这家 ISP 拥有自己的网络,并在芝加哥设有分支机构。因此,为了连接到路边的房子,连接需要一直到芝加哥。因此,与芝加哥的某个地方通信比连接到路边的某个地方要快得多。
我想你应该把它想象成道路而不是直线距离。仅仅因为某个地方更近并不意味着它通过互联网真的更近。这也不意味着它更快。互联网的这种说法被极度夸大了。例如,如果达拉斯和纽约之间的一条“免费道路”已经饱和,那么从欧洲到达拉斯的交通可能会更快。
答案2
这些大公司拥有地理上分散的数据中心,因此您将由距离您较近的站点而不是一个中心站点来响应 - 就是这样。
答案3
您应该尝试 CDN 服务(内容分发网络)。它有助于减少远离服务器的用户的延迟。有关更多信息,请访问 maxcdn 网站。您将找到与您的问题相关的必要详细信息。
答案4
你的测试文件有多大?
不要忘记 TCP 慢启动的影响,这意味着延迟在减慢初始连接速度方面起着重要作用。
阅读《宽带神话》http://www.bookofspeed.com/chapter3.html
现在,根据您所运行的版本,您可以在 Linux 和 Windows 服务器上增加 initcwnd 以减少一些延迟影响。