首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >亚马逊网络服务S3 404错误显著降低了性能

亚马逊网络服务S3 404错误显著降低了性能
EN

Stack Overflow用户
提问于 2015-03-17 10:02:09
回答 1查看 130关注 0票数 0

我正在将我的Rails应用程序中的图片直接上传到S3。当我加载一个显示图像的索引页面时,它直接从S3检索图像url。

我要做的是使用他们的“exists?”检查S3镜像是否存在。方法,如果该图像存在,则显示该图像,如果该图像不存在,则显示存储在我的资产管道中的默认图像。

我能够做到这一点,但是性能变得非常慢(10秒加载时间!)从我的日志来看,这是由于所有404 KeyNotFound错误导致的,这些错误返回的图像不存在。当我在不这样做的情况下检索所有的图像时存在吗?检查一下,页面加载速度要快得多(不到1秒--我的网页上没有的图片只是空白)。

我怎么才能避免这个问题呢?我想在缺少图像的情况下显示默认图像。

EN

回答 1

Stack Overflow用户

发布于 2015-03-17 11:04:08

将图像存储在S3上,但将包含图像的视图片段缓存保存在服务器上。

尝试显示图像的第一个页面访问将产生成本,但此后,缓存命中将减少其他尝试显示该图像的响应时间。

使用一些相对简单的片段缓存管理逻辑,这可以很好地缓存需要“太多时间”组装的视图片段。

缓存其视图的模型负责使包含其数据的缓存过期-当模型实例的缓存数据发生更改时,它只删除显示该数据的缓存数据片段--不一定是显示其数据的所有缓存视图,而是那些受影响的视图。

我对索引视图、显示视图以及当一个模型的数据出现在另一个模型的“相关项视图”中时使用了不同的片段缓存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29090111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档