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
。
我尝试过的事情:
config.assets.digest = false
和config.assets.debug = false
。没有改善。_banner.html.erb
的早期部分几乎花了所有时间。分析_banner
后,我看到它正在加载图像。我删除了图像。现在,服务器仍然需要80多秒的时间,但是_banner
的加载时间不到1秒,这表明图像的存在不是问题,但是问题可能与资产有关。 workflows#index
中删除几乎所有HTML,以查看是否导致加载缓慢。没有改善。消除原因: