Продуктивность баз данных на NUTANIX.





На раннем этапе компании Nutanix одним из главных профилей использования системы была виртуализация рабочих мест. Однако с ростом популярности все больше заказчиков мигрировали более требовательные к производительности задачи/нагрузки (напр. базы данных) на платформу Nutanix. Но какова ситуация с высоконагруженными базами данных, до сих пор содержащимися на выделенных системах хранения данных?

Ниже представлен слайд, который был презентован в 2017 году на ежегодной конференции Nutanix Next. Сюда же добавлен к сравнению график с показателями производительности платформы Nutanix в конфигурации NVMe+SSD с программным обеспечением Nutanix AOS 6.0. Слайд отображает сравнение результатов теста производительности, где можно увидеть фактически двукратный рост производительности дисковой подсистемы. Если вы несколько лет назад сомневались в целесообразности использования гиперконвергентных систем для трудных задач, то теперь можете убедиться на собственном опыте, что система полностью удовлетворит любые требования.


Давайте взглянем на другую систему в тестовой среде. Она использует STS версию AOS, а конфигурации дисковой подсистемы – несколько накопителей Intel Optane и сетевые адаптеры с поддержкой технологии RDMA (удаленный прямой доступ к памяти) на сервер. Ниже приведены результаты стандартного теста производительности для этой системы, состоящей из 4 серверов.

Следует обратить внимание не на большой показатель дисковых операций и пропускную способность, а на низкие показатели задержки доступа к данным для каждой единицы дисковой операции. Особенно заметна задержка на операции записи в 200 микросекунд, и это всего лишь из двух дисков на двух разных серверах кластера. А показатель задержки для операций чтения равен 160 микросекундам, что указывает на то, что операции чтения обслуживаются дисками, а не кэшем в оперативной памяти CVM.


А теперь к самому интересному – тесты производительности баз данных

Результаты выше получены путем использования X-Ray для тестирования систем в различных сценариях, включая отказ серверов или целой системы. Его задача выжимать из системы максимум и соответственно эти тесты далеки от реальных нагрузочных сценариев.

Обычно инженеров заказчиков больше интересуют показатели операций ввода/вывода, транслируемые системой управления базами данных. Почти всегда нагрузка баз данных – это микс операций ввода и вывода разного размера, с разной длиной очереди и типа операций (чтения и записи) с большим рабочим количеством данных, чем в тестах выше. Но как правило, это утверждение верно и для тестов других производителей систем хранения данных.


Давайте посмотрим на результаты двух тестов с разными сценариями:

1. Один единственный инстанс Microsoft SQL Server (на одном серверном кластере) с запущенным тестом HammerDB TPC-C;

2. Набор баз данных Oracle с запущенным SLOB на 4 серверах кластера Nutanix.


Давайте вместе рассмотрим, как Nutanix достиг таких результатов и проанализируем их более глубоко.

Часть I. Оптимизация

Шаг №1 – Увеличение производительности на больших рабочих наборах данных

Несколько лет назад в Nutanix пересмотрели свою архитектуру метаданных и внесли ряд изменений, направленных на увеличение производительности. Был добавлен новый механизм локального хранения метаданных RockDB, который имеет отношение к загрузке запущенного на каждом конкретном сервере кластера, но также глобально использует распределенную систему хранения метаданных кластера Cassandra. Более подробно об этом можно почитать по ссылке (https://www.nutanixbible.com) в разделе Scalable Metadata.

Эти нововведения кардинально решили вопрос задержки доступа к метаданным при оперировании большими наборами данных, что фактически отражает реальную нагрузку высоконагруженных баз данных. Фактически получили х2 увеличение производительности для двух основных задач:

• Большой рабочий набор данных для операций чтения по случайным профилям (Random);

• Загрузка в БД большого объема данных и восстановление из бекапа.

Ниже на рисунке приведены результаты внутренних тестов Nutanix с включенным и выключенным нововведением, которое теперь называется Autonomous Extent Store (AES).



Шаг №2Улучшение задержки записи в лог баз данных

Для многих систем управления базами данных операции для журнала транзакций происходят в один поток. При однопоточной рабочей нагрузке единственный способ оптимизации – уменьшить задержку. Архитектура гиперконвергентных систем кардинально отличается от традиционных систем хранения данных, где два контроллера объединены между собой высокопроизводительной шиной и каждый оснащен NVRAM памятью, где проходят все операции записи. Соответственно это потенциальный минус архитектуры гиперконвергентных систем, что напрямую влияет на задержки операций записи для баз данных.

Однако использование технологии удаленного прямого доступа к памяти (RDMA) в сочетании с дисками NVMe позволяет кардинально уменьшить задержку для операций записи. С современным оборудованием одна операция записи в БД попадает на NAND память накопителей на разных серверах (копия для отказоустойчивости) кластера с задержкой примерно в 200 uSec. Это значительно увеличивает производительность для нагрузки с требованием низких задержек и даже реализации сценариев БД в оперативной памяти. Nutanix были первыми в сертификации гиперконвергентной системы для SAP HANA и прошли ее с первого раза.


Шаг №3 улучшение эффективности в целом, уменьшение задержек доступа и нагрузки на центральный процессор.

После всех усовершенствований, описанных выше, Nutanix сфокусировались на низкоуровневых оптимизациях операционной системы и ее ядра.

В 2020 году компания Nutanix представила технологию Blockstore и SPDK, позволяющую не использовать системные вызовы для работы с NVMe накопителями, избегая переключения контекста на уровень ядра ОС, а выполнять все операции на уровне пользователя. Это не только улучшает производительность, но и повышает эффективность.

Тесты показывают рост производительности на 10–20% для баз данных.



Шаг №4Lift & Shift миграция

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

Nutanix использует встроенный механизм дробления (sharding) дисков для получения параллельных операций на уровне подсистемы хранения данных, а самое главное – это все без какого-либо вмешательства администратора в изменение конфигурации БД и виртуальной машины.

Nutanix улучшили производительность для одного диска, на котором хранится база данных, практически в 2 раза без необходимости оптимизации БД с разбиением ее на несколько файлов и дисков.



Часть II. Результаты

Учитывая все вышеописанные усовершенствования, был ли достигнут переломный момент для миграции большинства сценариев нагрузки баз данных на гиперконвергентную систему Nutanix?

Microsoft SQL Server

Вторая по популярности система управления баз данных на Nutanix – это Microsoft SQL Server, тестовая нагрузка сгенерирована HammerDB (TPC-C). Мы видим задержку менее 1 ms на уровне операционной системы виртуальной машины. Подсистема хранения данных генерирует равномерную нагрузку на 16 ядер процессора виртуальной машины с фактически 100% утилизацией вычислительных ресурсов.


Производительность консистентна в течение нескольких часов выполнения теста.


PostgreSQL

Далее исследовали, какие результаты будут получены при работе большого количества виртуальных машин с базами данных PostgreSQL. Итак, на 4 серверах кластера запустили 32 виртуальные машины с PostgreSQL и получили 500000 операций с задержкой менее 1 ms.


Oracle

И наконец Oracle – запущен SLOB тест. Подсистема хранения данных показала более 500 000 дисковых операций с задержкой менее 1 ms.




Вывод

За последние несколько лет Nutanix прошел долгий путь. Приблизительно с 2018 года работает над улучшением производительности базы данных на HCI. И все еще на этом пути, но теперь стало возможным успешно выполнять задачи, которые были бы невозможны еще 2-3 года назад.

По материалам https://www.n0derunner.com/2021/11/24/nutanix-performance-for-database-workloads/.


По вопросам сотрудничества и/или консультации по данному продукту, пожалуйста, обращайтесь salesmd@elcoregroup.com

Или заполните форму обратной связи и мы с Вами свяжемся.