ruby-on-rails – Rails观察器导致开发模式下的处理时间变慢
我在Rails 3.1.1上,我注意到我的应用程序在开发模式下变得非常慢(15秒).请参阅下面的我的firebug’Net’列表:
我做了很多事情,比如: >减少宝石的数量 也许有一些改进,但没有什么能帮助它以我在运行localhost时所期望的那么快.也就是说,直到我在application.rb中注释掉我的观察者配置行: config.active_record.observers = :item_observer,:loan_observer,:friendship_observer,:message_observer,:user_observer 然后应用程序再次快速(约1秒)加载时间.现在查看firebug列表: 其他说明: >在Heroku上进行生产时,它的速度很快(约1秒),正如您所期望的那样. 黄金问题:注册观察员的简单行为是否导致资产加载缓慢?那可以做些什么呢? 解决方法
看看
https://github.com/wavii/rails-dev-tweaks.
Rails在开发模式下运行每个Sprockets资产请求的所有to_prepare挂钩.这包括自动(重新)加载代码,以及各种宝石在那里执行工作.在你的情况下,观察者正在注册(我相信 – 导致Rails引用你的应用程序的很大一部分,以便引用模型) rails-dev-tweaks禁用to_prepare&重新加载任何资产请求(以及其他一些资产请求 – 阅读其自述文件的第一部分).对于任何体面的项目来说,都要大量加快您的开发环境.它还可以配置为您喜欢的任何其他请求执行此操作 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |