0

我目前在 Ubuntu Linux 上运行 Rails 3,我得到的简单命令的响应时间似乎很长。例如,如果我调用 db:rollback 来删除一个 4 列和 0 行的小表需要大约 30 秒。

paul@paul-laptop:~/rails_projects/foglift$ time rake db:rollback
(in /home/paul/rails_projects/foglift)
==  CreateResults: reverting ==================================================
-- drop_table(:results)
   -> 0.0013s
==  CreateResults: reverted (0.0014s) =========================================


real    0m27.946s
user    0m26.570s
sys     0m1.284s

用户时间与系统时间的高比率让我感到困扰。有没有办法诊断或解决这个问题?

非常感激任何的帮助。

谢谢!保罗

4

1 回答 1

1

你真的无法改变这一点。这是使用解释语言和强大/灵活的 Web 开发框架的结果。

当您运行命令时,ruby 解释器必须与 rails 环境和您的应用程序一起加载,然后才能运行回滚。它类似于启动 Rails 服务器然后运行回滚。

这在构建时可能会很痛苦,但也有好处。您的迁移可以包含利用应用程序中的类的逻辑,以正确决定如何执行迁移。长期可维护性是迄今为止更大的好处。

另外,DB车型一般不会频繁更换,动力比超速更重要。

于 2011-03-16T19:30:10.897 回答