将应用程序从Rails 2.3.5迁移到3时,部分呈现的性能下降

时间:2011-04-27 16:40:36

标签: ruby-on-rails ruby performance ubuntu ruby-on-rails-3

我刚刚将Guzzle从Rails 2.3.5迁移到3.0.6,并在新服务器上安装了应用程序包。而且我在具有许多部分渲染的页面上有性能下降。

两个硬件都是相同的(8核8GB + SSD服务器),这是唯一的区别:

当前机器运行Ubuntu 10.4 LTS 64位,REE(Ruby Enterprise Edition)64位,该应用程序基于Rails 2.3.5构建。

新机器运行Ubuntu 10.10 32位,REE 32位,应用程序基于Rails 3。

(之所以我运行的是32位版本的REE,是因为64位版本的每个ruby进程的内存容量都高达两倍)。

两台机器都运行Apache,MySQL和Memcached。

哦,我确实将此行添加到production.rb:
config.cache_template_loading = true

即使我读到它在Rails 3应用程序上什么也没做,我发现它实际上加快了后续刷新时的页面渲染速度。哼声...

为什么这会变慢,我该如何解决?

2 个答案:

答案 0 :(得分:0)

我注意到在开发环境中有类似的行为,但不是在生产中 - 它通常在那里快速发展。 你如何衡量你的表现?你怎么知道它来自渲染部分? 另外我强烈建议迁移到ruby 1.9.2(如果我没弄错的话,REE是1.8.7)。 1.9.2应该全面提升性能。

答案 1 :(得分:0)

最初cache_template_loading已删除,为简单起见,但稍后重新介绍。所以它肯定会对rails3产生影响。

但要进行缓存,您必须设置

config.cache_classes = true
config.cache_template_loading = true

(不确定line表示你指的是什么)。但请注意,您必须将两者都设置为true才能进行缓存(我从the commit获取,尤其是测试)。

希望这有帮助。