场景如下:我有一个通过 nginx 提供静态内容的 Web 服务器。使用内部 IP 地址访问此 Web 服务器的页面会产生 0.2 秒的加载时间。通过域名访问它,通过互联网路由,它的加载时间为 7.9 秒。
我认为延迟不会那么长,所以我通过 VPN 在其他位置访问了该页面。加载时间现在变为 0.6 秒。
当我尝试访问引用我自己 IP 地址的域时,似乎发生了一些奇怪的路由。你们中有人对这种奇怪的行为有可能的解释吗?
场景如下:我有一个通过 nginx 提供静态内容的 Web 服务器。使用内部 IP 地址访问此 Web 服务器的页面会产生 0.2 秒的加载时间。通过域名访问它,通过互联网路由,它的加载时间为 7.9 秒。
我认为延迟不会那么长,所以我通过 VPN 在其他位置访问了该页面。加载时间现在变为 0.6 秒。
当我尝试访问引用我自己 IP 地址的域时,似乎发生了一些奇怪的路由。你们中有人对这种奇怪的行为有可能的解释吗?
当您通过外部公共 IP 访问本地服务器时,NAT 路由器需要将出站连接发回本地网络。一些路由器不支持它,其他路由器默认阻止它,并且大多数路由器由于它导致的双重 NAT 相当慢(客户端的源 NAT,服务器的目标 NAT)。
最好的解决方案是通过使用 DNS 名称并在 DNS 服务器上提供本地记录而不是在外部解析它(裂脑 DNS)来避免这种情况。
很常见的是,服务器不连接到客户端的 LAN,而是连接到专用网络,可能是 DMZ。在那种情况下,没有发夹(因为路由器的入口和出口接口不同),但流量仍然需要通过路由器。此处应避免使用 NAT,这通常会带来更好的性能。
从 Web 服务器访问网页的延迟或延迟有很多原因导致此问题,其中几个重要原因是..
网络路径延迟。首先检查 ISP 的带宽利用率。如果您发现高带宽利用率导致延迟立即增加 ISP 的带宽
检查网络设备资源利用率,以检查网络路径中连接的设备以从 Internet 访问 Web 服务器 .. CPU、RAM、路由器、交换机、防火墙中的磁盘空间利用率高资源利用率导致帧或数据包处理率低。
. 检查网络级别的物理连接问题,这反映了网络上的数据包丢失。
如果从网络端看一切似乎都很好。在目标服务器端进一步检查问题。在应用程序编码级别和服务器资源利用率或服务器请求和响应时间..