我如何对极慢的耙子资产进行故障排除:在Heroku上进行预编译



rake assets:precompile在本地和我在heroku上运行时都很快(< 10秒):

heroku run time rake assets:precompile --trace(清洁第一)

在部署到Heroku时,大约需要10分钟。

我如何弄清楚这里是什么问题并修复它?

作为参考,我尝试了所有这些:

  • Rake Assets:预编译很慢(尝试了Turbo-Sprockets-Rails3,并且没有解决该问题)
  • Rake Assets:预编译要完成的时间非常长(尝试过,没有GO)
  • 为什么资产:预编译对Heroku如此慢?(我们在Ruby 2)

我们在Rails 3.2.13,Ruby 2.0.0p353

您应该尝试将资产存储在memcached/redis数据库中,因此您只需要编译在部署的每个版本中更改的资产:

设置w/heroku(http://addons.heroku.com/)的Redis/memcached数据库或使用您已经拥有的

配置资产缓存商店(通过config/environments/production.rb):

config.assets.cache_store = [ :redis_store,  {
  url: ENV['REDIS_URL'] || 'redis://127.0.0.1/0',
  namespace: 'assets'
}]

我们已经能够将我们的资产预编译时间降低。30秒从几分钟开始使用此方法。

最新更新