某些型号的开发环境查询速度很慢

时间:2010-10-19 10:30:04

标签: ruby-on-rails model performance

过去几周,我正在为这个问题摸不着头脑。

由于某些原因,我的本地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上使用它,而不是在生产中使用它? 感谢。

2 个答案:

答案 0 :(得分:2)

在开发环境中,代码在每个请求之后重新加载而不是缓存。这意味着您可以更改代码并刷新页面,而不必刷新服务器。

在生产模式下,缓存路由/模型,因为在不重启服务器的情况下,这些路由/模型不太可能在请求之间进行编辑。

答案 1 :(得分:1)

这是因为您的URL每次都会重新加载。所以需要一些时间。在生产中,您的路线无法重新加载。