2016-08-06 1 views
1

Я создал функцию загрузки изображений с использованием PHP. Реализованный сценарий имел дело только с локальной файловой системой серверной машины, и теперь мне нужно повторно реализовать эту функцию в соответствии с AWS. Проблема заключается в том, что AWS предлагает 3 вида хранения файлов (EFS ЭТ анс S3), и я не знаю, как бороться с шагами 1 и 3 использованного сценария:Хранить исходное временное загруженное изображение (удаляться после фильтрования) с использованием AWS

  1. Исходное изображение загруженном и хранится в системе (после переименования и дезинфекции).

  2. Я создаю 3 копии с этого изображения (маленький, средний, большой) с использованием фильтров библиотеки Imagine. Эти 3 копии предназначены для копирования на S3 с использованием PHP AWS SDK. Они также оптимизированы для повышения производительности.

  3. Оригинальное изображение удалено (поскольку оно большое, не используется, а его удаление психологически хорошо).

В других выражениях, где лучше хранить исходное временное изображение? лучше использовать EBS или EFS для этого изображения или также хранить в S3 вместе с окончательными изображениями, а затем удалить его после.

Что такое «ближайшая» система хранения EC2 с точки зрения задержки и скорости выполнения? Им всем нужен экземпляр EC2, но, безусловно, один из них лучше подходит для этого состояния temporary.

Ваш опыт всегда был для нас неоценимым. Большое спасибо

ответ

1

Я предлагаю сохранить изображение на вашем томе EBS как любые способы удаления этого изображения после обработки. Ваш объем EBS является самым быстрым способом обработки этого изображения, поскольку он напрямую привязан к экземпляру EC2, а затем перемещает эти 3 изображения на S3. Объем EFS, подключенный к вашему EC2, также будет работать в вашем случае, но снова EFS является дорогостоящим и не является хорошим вариантом для временного хранения.

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

Лучшим вариантом для временного хранения изображений является EBS или до уровня EFS определенного уровня на вашем экземпляре EC2.

+0

Спасибо, что поделились своим опытом, это убедительный ответ (который также учитывает стоимость, которая важна, как скорость). –

+0

. Еще один вопрос о дополнительной стороне вопроса: EC2 - экземпляр только для вычислений. не приходит ли оно с некоторым встроенным небольшим пространством для хранения? Или когда мы говорим о хранении, это означает EBS, EFS или S3? извините за мой английский –

+0

Ofcourse EC2 имеет собственное хранилище, которое может быть EBS, зависит от того, какой тип интенсивного запуска. Вы можете выбрать объем хранилища при запуске этого экземпляра. – error2007s

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