2016-08-13 93 views
0

我在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。也試過標準的共享文件夾。 –

回答

1

我成功地弄清了我的問題是什麼!

看着我的Windows hosts文件後,它看起來像我的vagrant-hostmanager插件沒有被正確清除淘汰老舊IP項(即我有三個獨立的IP條目myapp.dev即使只有一個IP是活躍的)。可能是因爲在關閉我的電腦幾次之前,我忘記了正確vagrant halt

Windows顯然花費了很多年齡,試圖在成功解決「真實」問題之前解決兩個較舊的條目。

這很奇怪:你會認爲這個問題會導致延遲出現在Chrome網絡時間軸的DNS Lookup部分,而不是Initial connection,不過哦!