【问题标题】:ImageResizer, Amazon S3 and cachingImageResizer、Amazon S3 和缓存
【发布时间】:2013-06-04 14:16:54
【问题描述】:

我正在建立一个照片共享网站,并使用 amazon s3 进行存储。一切都很好,除了页面呈现缓慢。

当我在页面上有超过 100 张图片,并且请求看起来像 mysite/s3/bucket/image.jpg?w=200 时,这是否意味着首先下载每张图片,然后调整其大小?如果是这样,如何配置缩略图缓存?我似乎无法在文档中找到该信息。

【问题讨论】:

    标签: imageresizer


    【解决方案1】:

    您需要安装 DiskCache (and possibly SourceDiskCache) 插件。 DiskCache 会将调整大小的图像缓存到磁盘,而 SourceDiskCache 会将 S3 图像缓存到磁盘。

    如果您只有几个版本的 S3 映像,输出缓存就足够了,但绝对需要。

    考虑 ImageResizer 服务器和 S3 之间的带宽要求也很重要。如果您使用的是 EC2,请确保您与 S3 存储桶位于同一区域。如果您使用的是 VM,请确保您有一个大管道。

    瓶颈是总是 I/O。

    【讨论】:

    • 谢谢!为什么我在网站上找不到 SourceDiskCache?
    • 它非常新,还没有被记录。 <add name="SourceDiskCache" /> 将安装它,如果您在 /bin 中有 DiskCache dll。
    • 我运行了这个 Install-Package ImageResizer.Plugins.DiskCache 并将 <add name="SourceDiskCache" /> 添加到 web.config 中的 configuration/resizer/plugins/ 中。仅有的另外两个值是 MvcRoutingShim 和 S3Reader 存储桶。当我调用我的图像并检查存储桶时,我没有看到它被缓存。
    • 抱歉,我忘记了,您还必须在查询字符串中使用scache=disk,或者通过 Rewrite 事件将其自动应用于所有 URL。这将在未来得到改进。
    • 感谢您的帮助,但这不起作用http://localhost:3756/s3/BUCKET/IMAGE.jpg?w=156&h=156&mode=crop&scache=disk。我错过了什么吗?
    猜你喜欢
    • 2011-12-19
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-28
    • 2017-07-20
    相关资源
    最近更新 更多