0

Я загружаю изображения из приложения Rails прямо на S3. Когда я загружаю индексную страницу, на которой отображаются изображения, она извлекает URL-адрес изображения непосредственно из S3.AWS S3 404 ошибки замедление производительности значительно

Что я пытаюсь сделать, это проверить, существует ли изображение S3, используя их «существует?». метод в документации API, и если изображение существует, покажите это изображение, и если оно не существует, покажите изображение по умолчанию, которое хранится в моем конвейере активов.

Я могу это сделать, однако производительность становится очень медленной (время загрузки 10 сек!) И из моих журналов, из-за всех ошибок 404 KeyNotFound, которые возвращаются для изображений, которых не существует. Когда я получаю все изображения без этого? проверьте, что страница загружается значительно быстрее (менее 1 секунды - изображения, которых нет, есть только пробелы на моей веб-странице).

Как я могу обойти это? Я хотел бы показать изображение по умолчанию в случае отсутствия изображения.

ответ

0

Сохраните изображения на S3, но сохраните фрагменты фрагментов изображений, содержащие изображения на вашем сервере.

Первый доступ к странице, который пытается показать изображение, понесет расходы, но после этого кеш-хиты уменьшат время отклика для других попыток показать это изображение.

С некоторой относительно простой логикой управления кешем фрагментов это может хорошо работать для кэширования фрагментов представлений, которые занимают «слишком много времени» для сборки.

Модели, чьи представления кэшируются, отвечают за истекающие тайники, содержащие их данные, - когда данные кэширования экземпляра экземпляра изменяются, они сбрасывают только его кэшированные фрагменты данных, которые показывают эту часть данных - не обязательно все кэшированные представления показывая свои данные, только те, кто пострадал.

Я использовал различные фрагментные кеши для просмотра индексов, просмотра представлений и когда данные модели отображаются в виде «связанных элементов» другой модели.

Смежные вопросы