Django + S3(boto)+ Sorl缩略图:优化建议

我在我正在开发的Django站点上使用S3存储后端,既减少来自EC2服务器的负载,又允许多个web服务器(冗余,负载平衡)访问同一组上传的媒体。 Sorl.thumbnail(v11)模板标签正在我们的模板中使用,以允许灵活的图像大小调整/裁剪。 富媒体页面上的性能不是很好,当访问需要首次生成缩略图的页面时,请求甚至会超时。 我知道这是由于sorl缩略图检查/从S3下载原始图像(可能是非常大和高分辨率),以及渲染/检查/上传缩略图。 你会建议这个设置的最佳解决方案是什么? 除了S3副本之外,我已经看到了存储文件的本地副本的建议(当一些服务器用于负载平衡时,这并不是很好)。此外,我已经看到它建议存储0字节文件来欺骗sorl.thumbnail。 是否还有其他建议或更好的方法来解决这个问题?     
已邀请:
现在创建了sorl缩略图,并考虑了远程慢速存储。然而,缩略图的第一次创建是对存储进行查询,例如首先从模板访问,但之后,引用被高速缓存在键值存储中。仍然需要第一个查询和创建,一个解决方案是在上传图像时使用相同选项的低级api sorl.thumbnail.get_thumbnail。上传的图像将此缩略图创建作业添加到像芹菜这样的菜单中。     
你可以使用Sorlery。它结合了sorl和芹菜,通过工人创建缩略图。非常小心,不要在工作线程之外进行任何文件系统访问。 可以通过将
THUMBNAIL_DUMMY_SOURCE
设置为适当的占位符来控制立即返回的缩略图(在工人有机会之前)。 作业在第一次请求缩略图时创建,后续请求将提供给虚拟图像,直到工作线程完成。     
与@ Aidan的解决方案几乎相同,我对sorl-thumbnail进行了一些调整。我也用芹菜预先生成缩略图。我的代码在这里是sorl_thumbnail-async 但我开始知道easy_thumbnails正是我想要做的,所以我在我当前的项目中使用它。你可能会在这里找到有用的短篇帖子     
到目前为止,我发现的最简单的解决方案实际上是第三方服务:http://cloudinary.com/     

要回复问题请先登录注册