gpt4 book ai didi

ruby-on-rails-3 - 改善 Rails 加载时间

转载 作者:行者123 更新时间:2023-12-03 00:50:41 29 4
gpt4 key购买 nike

这是 a previous question on improving rails console loading time 的后续内容。 .

第一个很好的建议是找出 which gems take too long .

下一个答案,建议使用 :require => nilloading those gems later .

然而,对于一些 gem,尚不完全清楚如何在不破坏东西的情况下实现这一点。这是我们“最大的罪犯”的列表,我想知道是否有人可以建议仅在必要时加载它们的最佳方法?

require gon: 2.730000 (2.870059)
require omniauth-openid: 1.410000 (1.503858)
require cancan: 2.640000 (2.707467)
require fog: 2.730000 (2.846530)
require activeadmin: 3.650000 (3.923877)

当然还有更多需要大约 1 秒或更短的时间,这也会加起来......但至少删除大的已经可以改善情况。

如何稍后有选择地加载 gem 以使 Rails 加载速度更快?

最佳答案

虽然不能直接回答您的问题,但您可以尝试以下两件事:

首先,您尝试过 Falcon patches for 1.9.3 ?这些补丁包括一些非常显着的加载时间改进。

如果您使用的是 RVM,则可以使用

进行快速安装
rvm install 1.9.3 --patch falcon -n falcon

其次,确保您正在设置 GC 调整环境变量。默认情况下,Ruby 分配适合小型脚本的 GC 参数,但不适用于完整的 Rails 应用程序。以下是我的设置,但您可能希望根据应用程序的需求派生自己的设置:

% env | grep RUBY_
RUBY_HEAP_MIN_SLOTS=800000
RUBY_HEAP_FREE_MIN=100000
RUBY_HEAP_SLOTS_INCREMENT=300000
RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
RUBY_GC_MALLOC_LIMIT=79000000

我使用 ruby​​ 1.9.3-p286 的结果:

                    Stock     Stock+GC  Falcon   Falcon+GC
27.13 8.43 8.63 6.69
Stock 27.13 100.00% 31.07% 31.81% 24.66%
Stock+GC 8.43 321.83% 100.00% 102.37% 79.36%
Falcon 8.63 314.37% 97.68% 100.00% 77.52%
Falcon+GC 6.69 405.53% 126.01% 129.00% 100.00%

设置 GC 调整参数具有最大的改进,但通过使用 falcon 补丁,我们还可以获得约 26% 的性能改进。 falcon 补丁与 GC 参数的组合可将启动时间缩短 75% 以上。

关于ruby-on-rails-3 - 改善 Rails 加载时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12892937/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com