在Vagrant上连接nginx的初始速度非常慢



我在Windows 10主机上通过Vagrant运行Ubuntu虚拟机。在Vagrant机器上,我运行了一个相当标准的PHP/nginx应用程序。

每当我尝试访问web应用程序,它需要永远加载。Chrome网络检查器显示:

Chrome网络时间轴

这个巨大的延迟在随后的请求中完全消失了,但是每当我回到浏览器并在一段时间后再次尝试时,它又出现了。

    我已经禁用了客户机和主机上的防火墙。我在nginx中增加了keepalive_timeout,这有助于隐藏问题,因为它增加了无延迟后续请求的时间窗口。
  • 这种延迟甚至在访问静态文件时也会发生,所以我不认为这是PHP-FPM/MySQL的问题。

我成功地找到了我的问题所在!

查看我的Windows hosts文件后,看起来我的vagrant-hostmanager插件没有正确清除旧的IP条目(即我有三个独立的IP条目myapp.dev即使只有一个IP是活跃的)。可能是因为我好几次在关闭电脑之前忘记正确设置vagrant halt

在成功解析"真实"条目之前,Windows显然花了很长时间试图解析两个旧条目。

这很奇怪:你会认为这个问题会导致延迟出现在Chrome网络时间轴的DNS Lookup部分,而不是Initial connection,但是哦,好吧!

最新更新