自从“升级”到Rails 3.1以来,我的应用在开发模式下的运行速度确实很慢

(每个请求> 30)

我有很多图像,而且似乎大部分时间延迟是 Assets 管道处理每个图像的每个GET请求。

在暂存或生产模式下不会出现此问题,因为 Assets 已被缓存等。

有没有我没有告诉过的东西,或者这是我们现在期望的工作方式?

最佳答案

如果您有gem或应用的某些部分在每个请求的开始处加载代码,或者仅引用了应用的某些部分而导致很多内容被加载,则请求的速度可能会很慢。对于大多数情况,自动加载器是请求延迟的主要原因。

Rails自动重新加载器会在每个请求开始时删除任何可自动加载的类/模块/等,并且在Rails重新加载所需的所有源文件时,可能会在每个请求开始时造成严重的延迟。

您可能想尝试使用https://github.com/wavii/rails-dev-tweaks,它可以使您对哪些请求导致自动重新加载程序进行细化控制。这实际上不是解决问题的根本原因(在每个请求的开始时,都有一些额外的工作要做)它可能不需要这样做)-但它肯定可以缓解大多数此类问题。

10-05 20:31
查看更多