在我添加Sprockets后,Rails在开发模式下加载速度非常慢,我该怎么做才能加快它的速度?
答案 0 :(得分:51)
看看https://github.com/wavii/rails-dev-tweaks。
Rails在开发模式下运行每个Sprockets资产请求的所有to_prepare挂钩。这包括自动(重新)加载代码,以及各种宝石偷偷摸摸的工作。
rails-dev-tweaks禁用to_prepare&重新加载任何资产请求(以及其他一些 - 阅读其自述文件的第一部分)。对于任何体面的项目来说,都要大量加快您的开发环境。它还可以配置为您喜欢的任何其他请求执行此操作
答案 1 :(得分:5)
在参考了几个有关此问题的Google搜索结果后,我已经确定了DNS问题所在的位置。
问题是:Rails正在进行反向查找。所以,如果你从直接IP请求,或只在带有浏览器的机器的/ etc / hosts中的主机名,我常常这样做,因为我把所有东西都放在一起VM,并且IP没有快速解决的问题在开发服务器中,Rails将等待每个请求和每个请求。
故事的道德?在开发服务器(即运行rails的服务器)上为每个与开发相关的IP包含/ etc / hosts条目。这意味着继续为您希望参与rails测试的开发服务器上的每个假/虚拟/等... IP创建一个主机条目,因为当它记录请求和诸如此类的东西时,它将进行反向查找,并且你想要那么快。
答案 2 :(得分:1)
对我有用的奇怪解决方案。我通常通过myapp.local:3000导航到我开发的应用程序,这是在我的主机文件中设置的。资产装载速度非常慢。
通过127.0.0.1:3000导航到我的应用程序,资产加载很快,而且,在使用本地IP一次后,我可以使用myapp.local:3000进行导航,现在资产加载速度非常快。
希望我能告诉你原因,但我希望它可以帮助那些人。我在OSX 10.7.5上。
答案 3 :(得分:0)
你看过它在生产中的运行速度有多快?开发环境的行为与测试和生产不同,因此具有更高的性能。没有更多信息,我们无法为您提供更好的答案。
答案 4 :(得分:0)
另请查看Turbo Sprokets - https://github.com/ndbroadbent/turbo-sprockets-rails3
看起来很有希望。