IP访问网站比域名访问速度快?

Way*_*yne 3 domain-name-system nginx load-balancing php-fpm

我目前收到大量流量(每天 1+ 百万页浏览量)。我在 Digital Ocean 的负载均衡器后面设置了四个 16GB RAM 8 CPU nginx 服务器(这是他们添加的新功能)。当我通过 IP 直接访问每个服务器时,站点加载速度很快。但是,如果我去域名,似乎有1-3秒的延迟。这是负载平衡器工作不正常吗?还是这是域名问题?请注意,我使用的是循环和粘性会话。关于我的域名设置,这里有什么我需要检查的吗?

Tim*_*Tim 6

这里可能有很多因素在起作用。以下是使用负载均衡器时的大致步骤

  1. 负载均衡器的 DNS 查找
  2. 连接时间到负载均衡器。如果这是 https,它通常是几次往返,因此延迟起着重要作用
  3. 负载均衡器处理时间
  4. 服务器的负载均衡器 DNS 查找时间(可能已缓存)
  5. LB 打开到服务器的连接(可能重用现有的连接)
  6. LB 将请求发送到服务器
  7. LB 等待服务器处理请求
  8. LB 收到响应
  9. LB 将响应发送回客户端

这是没有负载均衡器的步骤

  1. 连接到服务器。如果这是 https,它通常是几次往返,因此延迟起着重要作用
  2. 将请求发送到服务器
  3. 等待服务器处理请求
  4. 接收响应

这是 9 个步骤而不是 4 个,这是一个显着的差异。

您可以使用Web Page Test比较两者,这将为您提供更多信息。进行测试,然后如果您需要帮助解释结果,请编辑您的帖子,然后在评论中标记您希望看到更新的任何人。

正如 Rowan 在下面指出的那样,延迟至少与带宽一样重要。数据中心的延迟非常低,几乎可以忽略不计,但每次到服务器的往返都需要时间。TLS 1.3 对此有所帮助,使用内容分发网络 (CDN) 使内容更接近用户在许多情况下也有帮助。