在Virtual Box Ubuntu 12.04中运行Rails非常慢

时间:2013-10-09 17:18:02

标签: ruby-on-rails ruby-on-rails-3 virtualbox vagrant

我有Ubuntu 12.04的VirtualBox。我使用Vagant来设置我的环境。我在瘦(rails s)上运行Rails 3.2.9,然后从我主机上的浏览器转到VirtualBox的IP地址(10.10.11.xxx:3000)。此刻我遇到麻烦 - 页面加载速度非常慢,在Rails控制台上我看到它响应文件的速度有多慢(css,js,images):每个最多5秒!但是:如果我在Ubuntu中使用0.0.0.0:3000 - 它的工作非常完美。

Inside VM, there are two Network interface
eth0 --> it is set by Vagrant (NAT)
eth1 --> bridge, has an external IP 10.10.11.xxx

问题出在哪里?在哪里寻找解决方案?

人们说这与反向DNS查询问题有关。我该如何解决?有人有想法吗?

2 个答案:

答案 0 :(得分:6)

确保不将项目放在synced文件夹中(默认情况下,当文件/目录数量很大时,它会使用已知性能问题的vboxsf

Webrick反向DNS查找

看起来你正在使用Webrick(瘦似乎没有这个问题),编辑它的config.rb以禁用反向DNS查找以加快它。

对于rbenv管理的ruby,例如=> ~/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/webrick/config.rb

:DoNotReverseLookup => nil更改为:DoNotReverseLookup => true

  

注意:人们提到停止avahi-daemon,如果您使用它,可以尝试停止它。我的理解是默认情况下在Ubuntu Server(或其他基本安装)(但是桌面)上安装了 NOT

更多细节的类似问题

答案 1 :(得分:0)

在virtualbox中运行Ubuntu 12.10和13.04时执行速度非常慢?这是因为Ubuntu不能使用显卡加速,ubuntu使用CPU通过LLVMpipe渲染图形。这使得在virualbox中运行ubuntu真的很慢。 http://namhuy.net/951/how-to-fix-slow-performance-ubuntu-13-04-running-in-virtualbox.html

检查您的Ubuntu 12.10或13.04客户是否正在使用3D加速

/usr/lib/nux/unity_support_test -p

你应该看到类似的东西

Not software rendered: no
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: yes
GL npot or rect textures: yes
GL vertex program: yes
GL fragment program: yes
GL vertex buffer object: yes
GL framebuffer object: yes
GL version is 1.4+: yes
Unity 3D supported: no

如果你看到“不是软件渲染”和“支持Unity 3D”,则说不。这意味着Unity正在使用慢速LLVM管道。

要启用3D支持,首先需要更新linux-headers

uname -r
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get autoremove
sudo apt-get install build-essential

现在从设备插入vitualbox guest iso并手动安装

cd /media
ls
cd username
ls
cd VBOX*
ls
sudo ./VBoxLinuxAdditions.run

将vboxvideo插入/ etc / modules

sudo nano /etc/modules

在文件末尾添加“vboxvideo”

loop
lp
vboxvideo

重新启动机器

sudo reboot