Django + S3 (boto) + Sorl 缩略图 : Suggestions for optimisation

标签 django amazon-s3 thumbnails boto sorl-thumbnail

我正在开发的 Django 站点上使用 S3 存储后端,这既是为了减少 EC2 服务器的负载,也是为了允许多个 Web 服务器(冗余、负载平衡)访问同一组已上传媒体。

我们的模板中使用了 Sorl.thumbnail (v11) 模板标签,以允许灵活的图像调整大小/裁剪。

在富媒体页面上的性能不是很好,当第一次访问包含需要生成缩略图的页面时,请求甚至会超时。

据我了解,这是由于 sorl 缩略图检查/从 S3 下载原始图像(可能很大且高分辨率),以及渲染/检查/上传缩略图所致。

您认为此设置的最佳解决方案是什么?

我看到了除了 S3 副本之外还存储文件本地副本的建议(当使用多个服务器进行负载平衡时效果不太好)。我还看到它建议存储 0 字节文件来欺骗 sorl.thumbnail。

还有其他建议或更好的方法来解决这个问题吗?

最佳答案

sorl 缩略图现在在创建时考虑了远程慢速存储。然而,缩略图的第一次创建是通过查询存储来完成的,例如首先从模板访问,但之后引用被缓存在键值存储中。您仍然需要第一次查询和创建,一个解决方案是在上传图像时使用具有相同选项的低级 api sorl.thumbnail.get_thumbnail。当图像上传时,将此缩略图创建作业添加到像 celery 这样的队列中。

关于Django + S3 (boto) + Sorl 缩略图 : Suggestions for optimisation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5562942/

相关文章:

Magento resize() 图像质量 : dirty white background

android - 从安卓图库中选择缩略图

css - 使用 custom.css 进行引导覆盖

android - 从Json Service获取视频的缩略图

javascript - 在 Django 框架中获取 js 文件中的 JSON 数据

html - 上传的 mp4 视频无法播放 HTML5 Player

.net - 未配置 RegionEndpoint 或 ServiceURL

hadoop - s3distcp srcPattern 不工作?

django - 无法使用以下驱动程序打开数据源 `'

python - 在 Django 中更好地保​​护我的电子邮件密码