Rails永远需要在Beaglebone上加载首页

时间:2018-07-07 21:01:31

标签: ruby-on-rails ruby-on-rails-5

Ruby 2.3.1,Rails 5.1.5,Devise 4.4.3。

背景:我有一个运行简单API风格的Rails应用程序的Beaglebone(Linux)。用户通过外部页面登录到Devise,然后Rails呈现其第一个视图:workflows#index

预期:提交正确的凭据后,服务器应在不到2秒的时间内呈现workflows#index

实际:每次我重新启动时,第一次渲染的时间都是第一次 80秒(开发)到100秒(生产)(占视图的99%)。 Beaglebone的运行速度并不慢-大多数视图的渲染时间不到0.5秒,包括每次重新加载时workflows#index

我尝试过的事情:

  • 在加载开发服务器时,在development.rb中添加config.assets.digest = falseconfig.assets.debug = false。没有改善。
  • 发现一个名为_banner.html.erb的早期部分几乎花了所有时间。分析_banner后,我看到它正在加载图像。我删除了图像。现在,服务器仍然需要80多秒的时间,但是_banner的加载时间不到1秒,这表明图像的存在不是问题,但是问题可能与资产有关。
  • workflows#index中删除几乎所有HTML,以查看是否导致加载缓慢。没有改善。
  • 如果基于环境,请切换到生产服务器。这次需要100秒。

消除原因:

  • 不是GUI /浏览器。原因:在首次调用Rails之前,GUI /浏览器已成功显示HTML + CSS + JS页面。
  • 不是开发环境设置(可能)。原因:生产服务器也有同样的问题。
  • 在DOM中加载文本或图像不是问题。原因:从工作流程中删除几乎所有内容#index都没有作用。

0 个答案:

没有答案