【问题标题】:Vagrant slowing down http requests to rails serverVagrant减慢了对Rails服务器的http请求
【发布时间】:2013-12-08 22:31:38
【问题描述】:

我目前正在运行 VirtualBox (4.3.4) 的 Vagrant (1.3.5) 内部运行一个项目 (Rails 4.0.2)。来宾操作系统是 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

流浪者

              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_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 中指定的修复,但无济于事。

【问题讨论】:

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


    【解决方案1】:

    确保您没有将项目放在同步文件夹中(默认情况下,它使用vboxsf,它在大量文件/目录中存在已知的性能问题)。

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

    希望对你有帮助。

    【讨论】:

    • 同步文件夹是我的问题。我已将其更改为使用 NFS,并且速度明显更快。这是它的文档docs-v1.vagrantup.com/v1/docs/nfs.html
    • Webbrick 配置文件是我的问题。我还发现 Vagrant rsync 比 vboxfs 或 NFS 快 10 倍。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多