Быстрые и сверхбыстрые диски в облаке: как получить максимум от облачной системы хранения данных
При переносе высоконагруженных систем в облако очень важно подобрать правильный тип дисков — чтобы гарантировать максимальную пропускную способность и минимизировать время задержки.
Расскажем о быстрых дисках High IOPS SSD и сверхбыстрых дисках Low Latency NVMe, доступных на платформе VK Cloud (бывш. MCS) и способных справиться с этой задачей.
Зачем нужны быстрые и сверхбыстрые диски
Большинство облачных провайдеров предлагают на выбор несколько типов дисков, которые отличаются числом операций ввода/вывода в секунду (Input/Output Operations Per Second, IOPS), пропускной способностью (Throughput) и задержкой (Latency). При этом облачные диски, как правило, имитируют привычные для классических архитектур физические носители информации, такие как HDD и SSD.
Облако VK не исключение — в нем доступны и HDD-, и SSD-диски:
- HDD — это наименее производительные диски, которым в традиционной инфраструктуре соответствуют обычные HDD.
- SSD — это более производительные диски, которые при сравнении с физическими устройствами будут существенно быстрее, чем любые HDD, но медленнее SSD: в основном из-за дополнительных накладных расходов на сеть и репликацию.
Характеристики HDD и SSD в облаке VK Cloud (бывш. MCS)
Параметр | HDD | SSD |
IOPS (количество операций в секунду на 2 Тб пространства) | SLA для чтения — 300–2400, для записи — 150–800. | SLA для чтения — 1000–16 000, для записи — 500–8000. |
Throughput (пропускная способность на 2 Тб пространства, при размере блока 1М) | SLA для чтения — 250 Мб/с, для записи — 100 Мб/с. | SLA для чтения и записи — 400 Мб/с. |
Latency (задержка) | SLA не установлен | SLA не установлен |
Производительность HDD и SSD достаточна для большинства приложений, не требовательных к времени отклика. Диски HDD чаще всего используют в качестве загрузочных разделов ОС и файловых хранилищ, диски SSD — для хранения СУБД, телеметрии и очередей сообщений.
Однако существуют приложения, для которых критически важна скорость отклика дисков. В первую очередь это высокопроизводительные СУБД, аналитические платформы, приложения, работающие с Big Data, и иные высоконагруженные системы, обрабатывающие большие объемы данных. В качестве основы для таких приложений может использоваться такое ПО, как Arenadata DB, Apache Hadoop, Apache Spark, ClickHouse, Storm, Kafka и так далее.
Обслуживая миллионы параллельных запросов к данным, подобные системы предъявляют повышенные требования к производительности дисков: она должна быть достаточной, чтобы обеспечить минимальное время отклика системы. Очевидно, что диски HDD и SSD для подобных задач не подходят. Именно поэтому на платформе VK доступны еще два типа дисков: быстрые High IOPS SSD и сверхбыстрые Low Latency NVMe.
Быстрые диски High IOPS SSD
Это быстрые диски, обеспечивающие большую производительность по сравнению с SSD и HDD. В мире традиционной инфраструктуры им соответствуют SSD потребительского класса.
High IOPS SSD размещаются в дата-центрах, как и диски SSD и HDD. Однако, в отличие от них, для High IOPS SSD не обеспечивается реплицирование данных между доступными нодами. Поэтому в случае выхода физического оборудования из строя может наступить временная недоступность данных, стоит дополнительно позаботиться об обеспечении отказоустойчивости на уровне приложений.
Технические характеристики High IOPS SSD приведены ниже: диски имеют время обслуживания и полосу пропускания, приемлемые для подавляющего большинства приложений. Чаще всего их используют в СУБД, аналитике и телеметрии с большими требованиями к производительности, чем у обычных SSD. Но для очень высоких нагрузок их возможностей все-таки может не хватить.
Характеристики High IOPS SSD в облаке VK Cloud (бывш. MCS)
Параметр | Значение |
IOPS (количество операций в секунду на 2 Тб пространства) | SLA для чтения — 10 000–45 000, для записи — 5000–30 000. |
Throughput (пропускная способность на 2 Тб пространства при размере блока 1М) | SLA для чтения и записи 500 Мб/с. |
Latency (задержка) | SLA не установлен |
Сверхбыстрые диски Low Latency NVMe
Это диски с быстрым откликом. Они подключаются на высокочастотных конфигурациях ВМ по запросу в техническую поддержку. Среди всех облачных дисков VK обеспечивают наименьшую задержку: гарантированное время отклика дисковой подсистемы составляет не более 0,5 мс. При этом среднее время отклика на таких дисках — 0,2 мс. В традиционной инфраструктуре им соответствуют физические диски NVMe. Виртуальная машина с такими дисками наиболее близка к Bare Metal.
В отличие от других типов облачных дисков, размещаемых в дата-центрах, Low Latency NVMe являются локальными, то есть они физически базируются в гипервизорах. По сравнению с прямым пробросом NVMe-устройства в гостевую ОС это приводит к меньшей скорости работы, но к большей отказоустойчивости: предоставляются гарантии сохранности данных даже в случае, если NVMe-диск отказывает.
Несмотря на то что Low Latency NVMe являются локальными, они позволяют производить замену диска на лету, без прерывания сервиса — как и для других облачных дисков. При необходимости обслуживания гипервизора также предоставляется возможность миграции виртуальной машины и дисков на другой гипервизор с аналогичными дисками без прерывания сервиса.
Благодаря высокой производительности Low Latency NVMe идеальны для сверхнагрузок. Чаще всего они используются там, где важно обеспечить минимальные задержки: высокопроизводительные СУБД, аналитика и кэш.
Характеристики Low Latency NVMe на платформе VK Cloud (бывш. MCS)
Параметр | Значение |
IOPS (количество операций в секунду на 2 Тб пространства) | SLA для чтения — 10 000–75 000, для записи — 5000–50 000. |
Throughput (пропускная способность на 2 Тб пространства при размере блока 1М) | SLA для чтения — 1200 Мб/с, для записи — 900 Мб/с. |
Latency (задержка) | SLA — максимум 0,5 мс. |
Как понять, какой тип быстрых дисков вам подходит
Диски High IOPS SSD и Low Latency NVMe по производительности во много раз превосходят HDD и SSD. Но как выбрать между ними? Как убедиться, достаточно ли для проекта High IOPS SSD, или их скорости будет мало и лучше подключить Low Latency NVMe?
Ответы на эти вопросы можно получить только с помощью тестирования приложения под HighLoad-нагрузкой. Без этого не получится определить, какая производительность дисковой подсистемы потребуется на конкретном проекте, так как итоговые цифры будут зависеть от многих факторов: какие запросы выполняются над данными, в каком количестве и так далее. На основе исходных данных о проекте можно подобрать объем дисков, но требуемую производительность получится определить только с помощью тщательного тестирования.
В общем случае тестирование производительности может состоять из следующих шагов:
-
Определите критерии успешности тестирования. Это может быть величина задержки, число операций ввода/вывода, пропускная способность — все те параметры дисковой подсистемы, которые необходимы для эффективного функционирования конкретного приложения в часы наибольшей нагрузки.
-
Настройте мониторинг выбранных параметров.
-
Подготовьте тестовый стенд с минимальными ресурсами, достаточными для удовлетворения требований, выделенных на первом шаге. Пересчет на ресурсы MCS проводится на основе SLA.
-
Запустите нагрузочное тестирование с заранее подготовленными синтетическими данными, сопоставимыми с максимально возможными нагрузками на приложение.
-
Определите степень достижения показателей, выбранных на первом шаге. Если их не удалось достичь, на тестовом стенде увеличивается объем ресурсов либо по возможности пересматривается архитектура приложения, после чего тестирование повторяется.
-
Когда нужные показатели будут достигнуты, можно начинать миграцию в облако и приступать к промышленной эксплуатации с использованием того типа дисков, который максимально подошел под требования приложения.
Таким образом, единого алгоритма для выбора между High IOPS SSD и Low Latency NVMe быть не может: для каждого бизнес-кейса потребуется анализ требований к производительности и тестирование.
Какой тип быстрых дисков выбрать: базовые рекомендации
Несмотря на то что правильный выбор можно сделать только после тестирования, мы можем дать несколько базовых рекомендаций:
- Старайтесь выбирать тот тип диска, который при достаточной для вас производительности будет самым дешевым, так как в случае необходимости его всегда можно будет изменить на лету.
- При подборе дисков на основе SLA учитывайте, что ограничения на операции ввода/вывода в секунду для облачных дисков всегда заданы на определенный шаг дискового пространства. Выше приводились значения SLA для 2 Тб пространства. Полный перечень SLA для всех типов дисков VK доступен по ссылке.
- Помните, что скорость обработки данных на диске напрямую зависит от его объема. При необходимости увеличения производительности иногда достаточно увеличить размер требуемого диска.
- Не сбрасывайте со счетов диски HDD и SSD: используйте быстрые и сверхбыстрые диски только тогда, когда в этом действительно есть необходимость. Помните, что с ростом производительности увеличивается и стоимость облачных дисков.
- Если для приложения требуется обеспечить минимальную задержку, Low Latency NVMe будет лучшим выбором, так как это единственный тип диска с определенным SLA на данный показатель — 0,5 мс. Именно появление дисков с быстрым откликом Low Latency NVMe позволяет использовать облака для таких категорий приложений, где ранее это было недоступно из-за недостаточной скорости отклика (высокопроизводительные СУБД, аналитические системы и так далее).