Vagrant减慢了对rails服务器的http请求

时间:2013-12-08 22:31:39

标签: ruby-on-rails networking virtualbox vagrant apachebench

我有一个项目(Rails 4.0.2),我目前正在运行VirtualBox(4.3.4)的Vagrant(1.3.5)中运行。客户操作系统是Debian 6.0。当我在主机操作系统上运行应用程序,或者我手动启动Virtualbox时,我发现响应能力有了显着提高。一旦我使用'流浪汉',表现似乎变得非常糟糕。以下是Apache Bench的相关结果:

Apache Bench Command

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

VirtualBox的

              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

流浪

              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 issuethis HackerNews comment中指定的修补程序,但无济于事。

1 个答案:

答案 0 :(得分:3)

确保您不将项目放在synced文件夹中(默认情况下,它使用vboxsf,其中包含大量文件/目录的已知性能问题)。

这也可能与“Webrick Reverse DNS Lookup”有关,请看https://stackoverflow.com/a/19284483/1801697

希望它有所帮助。