4

我有一个带有默认资产管道的标准 rails 3 webapp。突然之间,加载这些资产需要很长时间(我的页面加载时间约为 1-2 秒到 1 分钟)。服务器响应时间(/home)是正常的,但一些 .css 和 .js 文件等待很长时间(最长 45 秒)。唯一需要这么长时间的资产是 gems 提供的资产(例如modernizr-rails/vendor/assets/javascripts/modernizr.js:)

例如,对于modernizr.js?body=1

标题:

Request URL:http://dev.sharewizz.com:3000/assets/modernizr.js?body=1
Request Method:GET
Status Code:304 Not Modified

统计:

DNS Lookup  5.00 s
Connecting  20.07 s
Sending     0
Waiting     10 ms
Receiving   3 ms

是链轮的问题吗?我怎么知道出了什么问题?

注意:所有其他浏览器的行为都相同。 编辑:实际上问题只出在 chrome上,甚至不是 safari。我尝试在端口 3000 和端口 80 上使用 rails 启动我的服务器(没有更改)

如果我访问http://localhost:3000/assets/modernizr.js?body=1,大多数时候它是即时的,有时它会等待很长时间。

4

3 回答 3

11

另一种选择 - 硬盘驱动器对于日志来说不够快,只是在我的开发电脑上(突然)碰到这个。尝试将其设置为config/development.rb

# Expands the lines which load the assets
config.assets.debug = false #true

如果你有很多资产,每一个都花时间写入开发日志,加起来总共需要几分钟。

于 2013-07-12T11:13:11.860 回答
3

chrome 中存在一个问题,浏览器尝试 dns 请求并等待超时(如果您将鼠标悬停在彩色时间线上,您可以在开发人员工具/网络选项卡中看到,它显示等待(30000 毫秒或更高),接收(4 毫秒) .

如果您正在执行以下操作:127.0.0.1 localhost.mysite.com在主机文件中,并http://localhost.mysite.com在浏览器中访问),您可能会尝试使用端口 80 上的 localhost 访问它:

  • 启动导轨rvmsudo rails server -p 80
  • 访问http://localhost

那可能会解决问题。

于 2013-07-04T10:10:52.467 回答
0

预编译您的资产并为开发环境启用资产流水线。但是,如果不重新启动服务器,这可能不会加载您在源代码中所做的更改。

于 2013-04-04T12:36:17.833 回答