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

问题描述:

我在Windows 10主机上通过Vagrant运行Ubuntu VM。在Vagrant机器上,我运行了一个相当标准的PHP/nginx应用程序。在Vagrant上与nginx的初始连接速度非常慢?

每当我尝试访问Web应用程序,它都需要永久加载。 Chrome的网络检查表明这一点:

Chrome network timeline

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

  • 我正在使用NFS。
  • 我已禁用来宾和主机上的防火墙。
  • 我在nginx中增加了keepalive_timeout,这有助于隐藏问题,因为它增加了无延迟后续请求的时间窗口。
  • 即使在访问静态文件时也会出现此延迟,所以我不认为这是PHP-FPM/MySQL问题。
+0

你如何使用NFS? Windows不支持。你使用哪个版本的Ubuntu?你有没有尝试共享文件夹? – GorillaApe

+0

@GorillaApe我正在使用[winnsfd](https://github.com/winnfsd/vagrant-winnfsd)插件。 Ubuntu 14.04。也试过标准的共享文件夹。 –

我成功地弄清了我的问题是什么!

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

Windows显然花费了很多年龄,试图在成功解决“真实”问题之前解决两个较旧的条目。

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