Rails 环境在 VM 上启动需要很长时间

Rails 环境在 VM 上启动需要很长时间

我的开发 rails 代码库在 VirtualBox 虚拟机(Ubuntu 9.10 64 位服务器)上运行,并且该代码库作为共享(最初通过 SMB/CIFS,但现在作为 VirtualBox 共享文件夹)从我的主机(OS X 10.5.8)安装。

我遇到的问题是,rails bootstrap 的“加载环境”阶段需要一段时间(60 秒),例如在启动服务器、运行规范、rake 任务或脚本/控制台时。虚拟机有足够的内存(512Mb,它通常会使用其中的 40% 左右)。

我的环境文件中有相当多的 config.gem 条目,删除所有这些条目会使脚本/控制台的启动时间缩短到 20 秒,但由于缺少某些内容会引发错误,所以我认为这不可靠。

我是否应该考虑采取什么措施来改善启动时间,或者这只是我必须忍受的大型应用程序的问题?

答案1

Ubuntu 9.10 自发布以来就存在许多问题。 我怀疑 9.10 有点仓促并且仍然存在一些粗糙的地方。 我升级了 9.04->9.10 VMWare 映像,但遇到了一些问题,升级后我发现没有声音、启动时视频混乱,还有其他奇怪的行为(是的,我更新了 vmware 驱动程序)。在 9.04 上运行良好的程序在 9.10 上无法启动,或者行为异常。相比之下,我的 9.04 映像继续正常运行。

有没有办法将设置迁移到 9.04 进行测试?如果可以,它在那里能正常运行吗?可能只是 9.10 中潜伏的一个错误(或一系列错误)导致了这个问题。另外,您使用的 Ruby 安装是否存在版本差异?

答案2

对于 Rails 应用启动来说,60 秒太荒谬了。即使是我处理的怪物也在 2-3 秒内出现。我没有任何具体的建议(尽管你安装的意大利管道可能没有帮助——也许正确地完成工作并通过 Capistrano 部署到 VM?)但在应用启动时观察系统并找出瓶颈并不难。我写了一篇很长的文章来查找并修复系统瓶颈,无论如何,它会让你有事可做一段时间。

相关内容