Если вы используете прокси-сервер S3 для своих клиентов (что звучит так, как вы), рассмотрите две оптимизации:
- Во время загрузки измените размер изображений и загрузите их как пакет (tar, XML и т. Д.)
- Кэшируйте эти пакеты изображений на ваших интерфейсных узлах.
Пакет изображений уменьшит количество операций PUT / GET / DELETE, которые не являются свободными в S3. Если у вас есть 4 размера изображения, вы уменьшите на 4.
Кэш еще больше сократит трафик S3, поскольку я считаю, что рабочий процесс обычно отображается в виде миниатюры -> щелкните по ней, чтобы увеличить изображение.
Кроме того, вы можете реализовать кэш «горячих изображений», который активно отправляется на ваши веб-узлы, поэтому он предварительно кэшируется, если вы используете кластер.
Кроме того, я не рекомендую использовать Slicehost <-> S3. Транспортные расходы убьют вас. Вы должны действительно использовать EC2, чтобы сэкономить тонну пропускной способности (Деньги !!).
Если вы не используете прокси-сервер, а передаете своим клиентам S3 URL-адреса для изображений, вам определенно потребуется предварительно обработать все ваши изображения. Тогда вам не нужно проверять их, а просто передать URL-адрес вашему клиенту.
Повторная обработка изображений каждый раз является дорогостоящей. Вы обнаружите, что если вы можете предположить, что размер всех изображений изменен, количество усилий на ваших веб-узлах уменьшится, и все ускорится. Это особенно верно, поскольку вы не запускаете несколько запросов S3.