Я работаю над обновлением приложения с Rails 2.3.4 до Rails 3.0.7 и заметил, что производительность Rails 3 ниже (занимает вдвое больше времени, чем Rails2), особенно из-за записи Active.
Есть ли способ улучшить производительность.
Рубиновая версия: 1.8.7
Я сделал несколько базовых тестов в моей консоли Rails, и вот вывод.
Рельсы 3.0.7
Benchmark.measure { 25.upto(300){|i| u = User.find_by_id(i); p u.username if u}}
#<Benchmark::Tms:0xb5cbfd80 @cutime=0.0, @label="", @stime=0.0199999999999996, @real=0.61863899230957, @utime=0.220000000000002, @total=0.240000000000002, @cstime=0.0>
Рельсы 2.3.4
Benchmark.measure { 25.upto(300){|i| u = User.find_by_id(i); p u.username if u}}
#<Benchmark::Tms:0xb5edd324 @cutime=0.0, @label="", @stime=0.0300000000000002, @total=0.150000000000001, @real=0.467315912246704, @utime=0.120000000000001, @cstime=0.0>
В Rails 2 требуется около 0,46 секунды, чтобы найти 275 записей и напечатать их имя пользователя, тогда как в Rails 3 это заняло 0,61 секунды.