ImageResizer, Amazon S3 и кеширование

Я создаю сайт для обмена фотографиями и использую amazon s3 для хранения. Все работает отлично, за исключением того, что страницы отображаются медленно.

Когда у меня более 100 изображений на странице и запросы выглядят как mysite/s3/bucket/image.jpg?w=200, означает ли это, что каждое изображение сначала загружается, а затем изменяется его размер? Если да, то как настроить кэширование миниатюр? Кажется, я не могу найти эту информацию в документации.


person PBG    schedule 04.06.2013    source источник


Ответы (1)


Вам необходимо установить подключаемые модули DiskCache (и, возможно, SourceDiskCache). DiskCache будет кэшировать изображения с измененным размером на диск, а SourceDiskCache будет кэшировать изображения S3 на диск.

Если у вас есть только пара версий образа S3, кэширования вывода достаточно, но оно определенно необходимо.

Также важно учитывать требования к пропускной способности между сервером ImageResizer и S3. Если вы используете EC2, убедитесь, что вы находитесь в том же регионе, что и корзина S3. Если вы используете виртуальную машину, убедитесь, что у вас большой канал.

Узким местом является всегда ввод-вывод.

person Lilith River    schedule 04.06.2013
comment
Спасибо! Почему я не могу найти SourceDiskCache на сайте? - person PBG; 04.06.2013
comment
Это очень ново и еще не было задокументировано. <add name="SourceDiskCache" /> установит его, если у вас есть dll DiskCache в /bin. - person Lilith River; 05.06.2013
comment
Я запустил этот Install-Package ImageResizer.Plugins.DiskCache и добавил <add name="SourceDiskCache" /> в файл configuration/resizer/plugins/ в файле web.config. Единственные два других значения — это корзины MvcRoutingShim и S3Reader. Когда я вызываю свое изображение и проверяю ведро, я не вижу его в кэше. - person PBG; 11.06.2013
comment
Извините, я забыл, вы также должны использовать scache=disk в строке запроса или автоматически применять его ко всем URL-адресам с событием Rewrite. Это будет улучшено в будущем. - person Lilith River; 12.06.2013
comment
Я ценю вашу помощь, но это не сработало http://localhost:3756/s3/BUCKET/IMAGE.jpg?w=156&h=156&mode=crop&scache=disk. Я что-то пропустил? - person PBG; 13.06.2013