我有一个rails项目。 我在一个控制器中有很奇怪的事情:浏览器需要大约3分钟后负荷页,但Rails的日志中写道:Rails:页面加载时间很长
Completed 200 OK in 20563ms (Views: 17144.2ms | ActiveRecord: 324.4ms)
我知道这个数据不够,但我不期望完整的答案只有一个指针哪里是麻烦。 这个页面的大小约5 Mb。
我有一个rails项目。 我在一个控制器中有很奇怪的事情:浏览器需要大约3分钟后负荷页,但Rails的日志中写道:Rails:页面加载时间很长
Completed 200 OK in 20563ms (Views: 17144.2ms | ActiveRecord: 324.4ms)
我知道这个数据不够,但我不期望完整的答案只有一个指针哪里是麻烦。 这个页面的大小约5 Mb。
正如您所看到的,大部分时间都花在“闲置”阶段。这包括加载页面上所有资源(图像,样式表,JavaScript等)的时间。因此,您的HTML页面将在10秒内加载并呈现,但剩下的时间用于下载页面中的所有资源。
这可能是某个服务器上托管的单个资源,它对响应您的请求的响应速度很慢。因此,即使你已经加载了所有的内容,但你有一个谷歌托管的jquery文件在那里,并且互联网连接性很差,那么你会看到“空闲”占用大量时间。
但是,就你而言,它看起来像5MB页面上的一些图像。
延迟可能是由config/environments/development.rb
中的config.assets.debug = true
造成的。将其设置为false
可能会解决您的问题。
通过这样做,源文件组合在一起和源地图将不会 工作(例如,如果使用的Sass /咖啡,你不会看到它在devtools)
我发现了一个问题后,漫长的搜索。 对于主对象加载许多相关对象的数据库来说,这是不必要的查询。但我不明白为什么它需要这么多时间(也许GC清理它混乱)。
您是否在使用CDN为您的网页上的资产提供服务?你是否也在本地看到这种行为?大部分图片是来自其他网站还是存储在您的资产管道中? –
在Chrome开发人员控制台中发布“网络”选项卡的屏幕截图,以便我们可以清楚地看到哪个请求需要多长时间。 –
还要确保你没有做'n + 1'风格的查询。当您在模板视图中调用关联时,这是一个简单的错误。 – Jeff