Ruby on rails ruby 2.1.2中是否有任何本质上的不同之处会导致它的性能大大低于ruby 1.9.3?

Ruby on rails ruby 2.1.2中是否有任何本质上的不同之处会导致它的性能大大低于ruby 1.9.3?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我们有一个运行在ruby 1.9.3和rails 3.2.17上的旧应用程序-在passenger 4上。当我升级到ruby 2.1.2时,整个板上的平均事务运行速度要慢50%。有人能想出使用这些不同版本的广泛理由吗?我尝试过passenger、unicorn和puma,都有类似的结果。Ruby 2+中出现了一些与内存消耗相关的问题,而这些问题在1.9中没有出现。内存流失和频繁的垃圾收集可能会使应用程序运行得更慢。看看今年早些时候关于黑客新闻的讨论(),以及Sam Saffron的回答:。这是一

我们有一个运行在ruby 1.9.3和rails 3.2.17上的旧应用程序-在passenger 4上。当我升级到ruby 2.1.2时,整个板上的平均事务运行速度要慢50%。有人能想出使用这些不同版本的广泛理由吗?我尝试过passenger、unicorn和puma,都有类似的结果。

Ruby 2+中出现了一些与内存消耗相关的问题,而这些问题在1.9中没有出现。内存流失和频繁的垃圾收集可能会使应用程序运行得更慢。看看今年早些时候关于黑客新闻的讨论(),以及Sam Saffron的回答:。

这是一些过时的信息,大多数GC问题都在2.1.2中解决了。尽管这些问题应该在Ruby 2.1.2中解决,我发现使用RUBY\u GC\u HEAP\u OLDOBJECT\u LIMIT\u FACTOR=1.3并切换回passenger修复了我看到的性能问题。我试图深入挖掘,但经过几个小时的研究,我不得不结束了。谢谢我没有意识到任何原因,而是有相反的经历。我们已经将基于Rails 3.2.x的项目从1.9.3迁移到了2.1.x,并在内存消耗增加约10%的情况下获得了显著的性能提升。事实证明,在迁移过程中,有一个额外的代码更改导致了大部分的速度减慢。一旦我们解决了这个问题,我们几乎看到了30%的改进!答案中建议的调整提供了其中的10%左右。