我正在使用rails 3.2,heroku和S3从图像加载页面,其中我有15个图像,这些图像需要大约20-25秒加载。如何快速加载这些图像,以便我的页面加载时间更短?
答案 0 :(得分:1)
这是一个很棒的教程,可以帮助您为Rails 4.x应用程序设置CloudFront:
http://brandonhilkert.com/blog/setting-up-a-cloudfront-cdn-for-rails/
除了此处提到的步骤之外,请在config/environments/production.rb
中设置远期未来过期的标头:
config.static_cache_control = "public, max-age=31536000"
这适用于Heroku。如果您要从S3提供资产,请查看AWS文档以将CloudFront与S3配合使用:
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/MigrateS3ToCloudFront.html
我个人没有这样做,但看起来非常简单。希望这会有所帮助。
答案 1 :(得分:0)
如果资产来自s3.amazonaws.com,那么您可以从此处移除Heroku,因为访问者浏览器直接连接到亚马逊并且根本不涉及Heroku。我建议将资产拉得更近,正如已经建议的那样看看Cloudfront。
为了比较,这是我从英国获得的