У меня есть некоторые изображения, необходимые для приложения. Существует много изображений (50 000+), но общий размер небольшой (40 Мб). Первоначально я думал, что просто буду использовать S3, но это очень медленно загружать. В качестве временного решения я хотел приложить EBS, содержащую изображения, и это было бы хорошо. Однако, немного прочитав об общем назначении EBS (gp2), я заметил следующее описание:
GP2 - это тип тома EBS по умолчанию для экземпляров Amazon EC2. Эти объемы поддерживаются твердотельными накопителями (SSD) и подходят для широкий спектр транзакционных нагрузок, включая dev/test среды, интерактивные приложения с малой задержкой и загрузочные тома. GP2 предназначен для одношаговых миллисекундных задержек, доставить согласованная базовая производительность 3 IOPS/GB до максимума 10000 IOPS и обеспечивают пропускную способность до 160 МБ/с на каждый том.
Это 3 количества IOPS/GB, которые беспокоят меня. Что это означает в практическом плане? Предположим, что вам нужен сайт электронной коммерции для небольшого количества пользователей (например, < 10 000 запросов в минуту), и эти изображения необходимо получить. Amazon описывает, как измеряются IOPS:
Когда небольшие операции ввода-вывода физически смежны, Amazon EBS пытается объединить их в один ввод-вывод до максимального размера. Для Например, для томов SSD одна операция ввода/вывода 1 024 KiB будет считаться как 4 операции, в то время как 256 операций ввода-вывода при 4 KiB будут считаться как 256 операций.
Означает ли это, что если я хочу получить 50 изображений по 10 кбайт каждый в секунду, мне потребуется 50 IOPS и легко превысить базовую линию из 3 IOPS?
UPDATE
Благодаря предложению Mark B, я смог использовать S3 для загрузки моих файлов. Тем не менее, мне все еще интересно узнать о количестве IOPS, необходимых для выполнения общих задач, таких как запуск базы данных или обслуживание других файлов для веб-приложения. Я был бы рад услышать некоторые ссылочные значения относительно минимальных значений IOPS на основе вашего опыта.