2013-06-04 101 views
1

我正在構建一個照片共享網站,並將amazon s3用於存儲。除了頁面渲染緩慢外,一切都很好。ImageResizer,Amazon S3和緩存

當我在頁面上有超過100張圖片,並且看起來像mysite/s3/bucket/image.jpg?w = 200的請求,這是否意味着每個圖像首先被下載,然後調整大小?如果是這樣,我如何配置縮略圖的緩存?我似乎無法在文檔中找到該信息。

回答

1

您需要安裝DiskCache (and possibly SourceDiskCache)插件。 DiskCache會將調整大小的圖像緩存到磁盤,而SourceDiskCache會將S3圖像緩存到磁盤。

如果您只有幾個版本的S3映像,輸出緩存就足夠了,但這絕對是需要的。

考慮ImageResizer服務器和S3之間的帶寬需求也很重要。如果您使用的是EC2,請確保您與S3存儲區位於同一區域。如果你使用虛擬機,確保你有一個大管道。

瓶頸是總是 I/O。

+0

謝謝!爲什麼我無法在網站上找到SourceDiskCache? – PBG

+1

這是非常新的,尚未記錄。如果你在'/ bin'中有DiskCache dll,''會得到它的安裝。 –

+0

我運行了這個'Install-Package ImageResizer.Plugins.DiskCache',並在web.config中添加了<'到configuration/resizer/plugins /。那裏唯一的另外兩個值是MvcRoutingShim和S3Reader存儲桶。當我打電話給我的圖像,並檢查水桶,我沒有看到它緩存。 – PBG