我有一个项目(Rails 4.0.2),目前正在运行 VirtualBox(4.3.4)的 Vagrant(1.3.5)中运行。 guest 操作系统是 Debian 6.0。当我在主机操作系统上运行应用程序或手动启动 Virtualbox 时,我发现响应能力有了显着提高。一旦我使用“vagrant up”,性能似乎就变得非常差。以下是相关的 Apache Bench 结果:
Apache Bench 命令
ab -n 10 -c 1 http://127.0.0.1:3000/application.js
主机操作系统
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 27 44 28.3 33 118
Waiting: 25 41 28.6 31 116
Total: 27 44 28.3 33 118
虚拟盒
min mean[+/-sd] median max
Connect: 0 0 0.4 0 1
Processing: 57 71 19.1 67 119
Waiting: 46 59 19.3 57 110
Total: 57 71 19.1 68 119
Vagrant
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 849 916 76.2 901 1115
Waiting: 831 892 72.6 883 1081
Total: 849 916 76.2 901 1115
我预计在 Virtualbox 中运行应用程序会出现速度减慢,但不是一个数量级。我也没有对我的 Vagrantfile 做任何花哨的事情:
Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "squeeze"
config.vm.network :forwarded_port, guest: 3000, host: 3000
end
我已尝试 this github issue 中指定的修复和 this HackerNews comment但没有效果。
最佳答案
确保您没有将项目放在同步文件夹中(默认情况下,它使用 vboxsf
,它已知存在大量文件/目录的性能问题)。
这也可能与“Webrick反向DNS查找”有关,看看https://stackoverflow.com/a/19284483/1801697
希望有帮助。
关于ruby-on-rails - Vagrant 减慢对 Rails 服务器的 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20460036/