这是a previous question on improving rails console loading time的后续行动。
第一个很好的建议是弄明白which gems take too long。
下一个答案,建议使用:require => nil
和loading those gems later。
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秒钟或更短的时间,这也会增加......但至少删除大的会有所改善。
答案 0 :(得分:14)
虽然不是您问题的直接答案,但您可以尝试两件事:
首先,你试过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%以上。