我刚刚从Rails 2.3.11升级到Rails 3.0.3。总体而言,性能不错,但有些视图(在大约200个视图的项目中,大约有5个视图)的性能非常慢。我用Enterprise Ruby(1.8.7)和Ruby 1.9.2(p180)进行了测试,得到了完全相同的行为。
在newalent中,我看到98%的性能都用于视图,所以它似乎与数据库无关。此外,观看webrick请求本身的速度非常快,但请求最初出现在webrick控制台中需要很长时间(可能卡在Rack中?)。我想这是我在做的事情,但我真的不知道。。。我在下面发布了其中一个关键视图的代码。也许有人有主意?
主视图:http://dl.dropbox.com/u/2964182/show.html.erb第1部分:http://dl.dropbox.com/u/2964182/_vote_arguments.html.erb第2部分:http://dl.dropbox.com/u/2964182/_active_filter.html.erb控制器:http://dl.dropbox.com/u/2964182/public_votes_controller.rb
谢谢,Gabriel
我的第一个建议虽然有点粗糙,但只是删掉视图代码中一些你认为可能导致瓶颈的元素,看看如果没有这些元素,视图加载是否会更快,直到你有希望弄清楚它是什么。
加载到慢速视图中的代码与运行良好的代码之间是否存在任何显著差异。