首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails在记录200 OK之后做什么?(调试慢响应时间)

Rails在记录200 OK之后做什么?(调试慢响应时间)
EN

Stack Overflow用户
提问于 2015-01-09 18:52:36
回答 1查看 1.2K关注 0票数 6

我正在我的Rails应用程序中调试一个非常慢的请求调用。我已经根据自己的喜好优化了控制器方法,Rails的日志告诉我,它已经完成了XX ms (Completed 200 OK in 5049ms (Views: 34.9ms | ActiveRecord: 76.3ms))中的操作。但是,在加载页面时,在浏览器中实际呈现任何内容之前很久就会打印此消息;等待时间可达15秒左右。机架迷你分析器确认了这一点,告诉我GET动作(不包括完成控制器动作所需的时间)需要14秒左右。(分析器还确认控制器操作的执行时间约为5秒)。

我不介意控制器操作需要5秒左右,因为我可以对代码的各个部分进行基准测试,并清楚地看到什么是慢的以及为什么慢。我完全不明白为什么这个神秘的滞后时间存在。它在做什么?

EN

回答 1

Stack Overflow用户

发布于 2015-01-09 19:38:39

资产

主要原因可能是资产加载。您在开发环境中吗?默认情况下,资产不是预编译的(我相信资产缓存也是关闭的)

也许您没有看到相关的GET请求,因为您使用了宝石‘静默-资产’。看到关于资产的所有GET请求(javascript/css),我感到很累,所以我把这个gem放在我的Gemfile中,并忘记了它一段时间。但之后仍有很多事情发生。

服务资产的时间可能很长。例如,我正在使用一些jquery,一开始我在application.js中调用了application.js。实际上,它只为jquery.ui发送了几十个文件。即使文件很小并且服务速度非常快,在连续的GET请求/响应之间也会有一些延迟,这是我的应用程序在本地主机/开发中响应时间太慢的原因。

您不希望在开发中预编译资产,但是可以去掉无用的资产(如果使用jquery,很可能只需要几个文件,而不是全部)。

在预编译资产的测试/生产中,我的服务器响应时间在10-100倍之间。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27867276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档