VirtualBox / Vagrant应该是这么慢还是我错过了什么?

时间:2017-01-07 03:15:26

标签: ruby-on-rails ruby vagrant vagrant-windows

我正在尝试找出在Windows中开发Rails应用程序的最佳方法,因此,我正在尝试使用Vagrant在虚拟机上运行它们。设置起来很容易,但我觉得非常缓慢,这让我怀疑为什么像Vagrant这样的东西存在,这让我觉得我可能错过了一些东西。

我正在运行Ruby 2.1.5,Rails 3.2,Windows 10,Webrick,最新的Vagrant,Ubuntu 14.04(以匹配我们的服务器)和2GB的RAM。从应用程序加载页面似乎需要将近一分半的时间:

enter image description here

在WSL中运行Rails的同一页大约需要10秒钟(也是不可接受的):

enter image description here

我在支持虚拟化的i5 2.6GHz上运行。

2 个答案:

答案 0 :(得分:0)

我可能已经迟到了,但这是我发现的。这是 VirtualBox文件共享这很慢,就像在#34;死慢"。在请求期间,Rails将创建临时文件,特别是Sass和Haml等。如果创建了数千个文件,那么这些文件将从VM来回同步到主机。这会阻止IO并极大地降低请求速度。

可能的修复包括:

  • 尝试从同步中排除tmp之类的路径。这可以使用Vagrant rsync文件机制。
  • 快速同步。这可以使用NFS进行文件共享。设置更麻烦,但速度更快。没有那么快,但是YMMV。
  • 完全避免同步。我试图配置Rails以使用tmp等的其他路径。但并没有走得太远。也许其他人呢?

答案 1 :(得分:0)

您不提供您的Vagrantfile。但是,是的,如果您不按照流浪者的建议在此处使用smb,则Windows上的文件共享将变得非常缓慢:https://www.vagrantup.com/docs/synced-folders/smb.html