过去几周,我正在为这个问题摸不着头脑。
由于某些原因,我的本地rails dev环境一直很慢。我的生产环境与服务器上的子弹一样快。但是使用相同的代码,我的开发环境变得如此缓慢,我决定进一步深入研究。
我发现我的两个主要模型存在问题。我可以在终端用Console识别它。
Admin.last
#(super quick, no records there)
Club.last
#(super quick, about 1400 records there)
User.last
#(super slow, about 3 seconds. but no records in there yet!!!!)
Site.last
#(super slow,about 3 seconds, too.. but this one has about 4000 records)
管理员和用户具有几乎相同的数量和类型的字段,除非用户有照片(使用Paperclip)。但无论如何,回形针在俱乐部工作正常。
任何帮助将不胜感激。
感谢。
编辑:我在那里找到了更精确的问题。在User和Site模型中,我有这个参考,这会减慢我的开发环境。include ActionController::UrlWriter
我知道我们不应该在模型级别使用URL。但我必须使用它。现在的问题是,为什么只在Dev env上使用它,而不是在生产中使用它? 感谢。
答案 0 :(得分:2)
在开发环境中,代码在每个请求之后重新加载而不是缓存。这意味着您可以更改代码并刷新页面,而不必刷新服务器。
在生产模式下,缓存路由/模型,因为在不重启服务器的情况下,这些路由/模型不太可能在请求之间进行编辑。
答案 1 :(得分:1)
这是因为您的URL每次都会重新加载。所以需要一些时间。在生产中,您的路线无法重新加载。