Тесты производительности больших томов Azure NetApp Files для Linux
В этой статье описываются проверенные возможности производительности одного большого тома Azure NetApp Files, как это относится к вариантам использования Linux. Тесты изучили сценарии масштабирования и масштабирования рабочих нагрузок чтения и записи, включая одну и несколько виртуальных машин (виртуальных машин). Знание конверта производительности больших объемов помогает упростить размер тома.
Сводка по тестированию
Функция больших томов Azure NetApp Files предлагает три уровня обслуживания, каждый из которых имеет ограничения пропускной способности. Уровни обслуживания можно масштабировать вверх или вниз по мере изменения производительности.
- Уровень обслуживания ультра: 12 800 МиБ/с
- Уровень обслуживания уровня "Премиум": 6400 МиБ/с
- Стандартный уровень обслуживания: 1600 MiB/s
Уровень обслуживания "Ультра" использовался в этих тестах.
Последовательные операции ввода-вывода: 100 % последовательных операций записи в 8500 МиБ/в секунду, а один большой том может превышать 10 ГиБ/секунд (12 800 МиБ/секунда).
Случайный ввод-вывод: один большой том обеспечивает более 700 000 операций в секунду.
Рабочие нагрузки с большим объемом метаданных выгодны для больших томов Azure NetApp File из-за повышенного параллелизма большого тома. Преимущества производительности заметны в рабочих нагрузках при создании файлов, отмене связи и переименовании файлов в качестве типичных для приложений VCS и рабочих нагрузок EDA, в которых присутствует большое количество файлов. Дополнительные сведения о производительности рабочих нагрузок с высоким уровнем метаданных см. в статье "Преимущества использования Azure NetApp Files для автоматизации электронной разработки".
FIO, генератор искусственных рабочих нагрузок, разработанный в качестве стресс-теста хранилища, использовался для выполнения этих результатов теста. Существует принципиально две модели тестирования производительности хранилища:
- Горизонтальное масштабирование вычислений, которое относится к использованию нескольких виртуальных машин для создания максимальной нагрузки на один том Azure NetApp Files.
- Масштабируемые вычисления, которые относятся к использованию большой виртуальной машины для тестирования верхних границ одного клиента на одном томе Azure NetApp Files.
Тест горизонтального масштабирования Linux
Тесты наблюдали пороговые значения производительности одного большого тома в масштабируемом масштабе и проводились со следующей конфигурацией:
Компонент | Настройка |
---|---|
Размер виртуальной машины Azure | E32s_v5 |
Ограничение пропускной способности исходящего трафика виртуальной машины Azure | 2000MiB/s (2GiB/s) |
Операционная система | RHEL 8.4 |
Большой размер тома | 101 ТиБ Ультра (пропускная способность 12 800 МиБ/с) |
Параметры подключения | hard,rsize=65536,wsize=65536,vers=3 ПРИМЕЧАНИЕ. Использование обоих 262144 и 65536 имели аналогичные результаты производительности. |
256-KiB последовательных рабочих нагрузок (MiB/s)
Граф представляет последовательную рабочую нагрузку 256 КиБ и рабочий набор 1 ТиБ. В нем показано, что один большой том Azure NetApp Files может обрабатывать примерно 8518 МиБ/с чистой последовательной записи и 99 970 МиБ/с чистой последовательности чтения.
8-КиБ случайных рабочих нагрузок (IOPS)
Граф представляет случайную рабочую нагрузку 8-KiB и рабочий набор 1 ТиБ. На графике показано, что большой том Azure NetApp Files может обрабатывать примерно 474 000 чистых случайных операций записи и примерно 709 000 чистых случайных операций чтения.
Тесты масштабирования Linux
В то время как тесты горизонтального масштабирования предназначены для поиска ограничений одного большого объема, масштабируемые тесты предназначены для поиска верхних пределов одного экземпляра против указанного большого объема. Azure размещает ограничения исходящего трафика сети на своих виртуальных машинах; для подключенного к сети хранилища, что означает, что пропускная способность записи ограничена на виртуальную машину. Эти тесты с увеличением масштаба демонстрируют возможности, учитывая большую доступную пропускную способность и с достаточным количеством процессоров для выполнения указанной рабочей нагрузки.
Тесты в этом разделе выполнялись со следующей конфигурацией:
Компонент | Настройка |
---|---|
Размер виртуальной машины Azure | E104id_v5 |
Ограничение пропускной способности исходящего трафика виртуальной машины Azure | 12500MiB/s (12.2GiB/s) |
Операционная система | RHEL 8.4 |
Большой размер тома | 101 ТиБ Ультра (пропускная способность 12 800 МиБ/с) |
Параметры подключения | hard,rsize=65536,wsize=65536,vers=3 ПРИМЕЧАНИЕ. Использование обоих 262144 и 65536 имели аналогичные результаты производительности |
В графах этого раздела показаны результаты для параметра подключения nconnect
на стороне клиента с помощью NFSv3. Дополнительные сведения см. в рекомендациях по подключению Linux NFS для Azure NetApp File.
Следующие графы сравнивают преимущества тома nconnect
, подключенного к NFS, без nconnect
. В тестах FIO создал рабочую нагрузку из одного экземпляра E104id-v5 в регионе Azure "Восточная часть США" с использованием последовательной рабочей нагрузки 64-KiB; использовался размер 256 операций ввода-вывода, который является самым большим размером ввода-вывода, рекомендуемым Azure NetApp Files, в результате чего были сопоставимые показатели производительности. Дополнительные сведения см. в разделах rsize
и wsize
.
Пропускная способность Linux при чтении
На следующих графиках показаны 256-KiB последовательные считывания ~10 000MiB/с nconnect
, что примерно в десять раз больше пропускной способности, достигнутой без nconnect
.
Обратите внимание, что пропускная способность 10 000 МиБ/с предлагается большим объемом в уровне обслуживания "Ультра".
Пропускная способность Linux при записи
На следующих графиках показаны последовательные операции записи. Использование nconnect
обеспечивает наблюдаемые преимущества для последовательной записи в 66600 МиБ/с, примерно в четыре раза больше, чем при подключении без nconnect
.
Операции ввода-вывода в секунду при чтении в Linux
На следующих графиках показаны случайные операции чтения 8-KiB около 426 000 операций ввода-вывода в секунду, nconnect
примерно семь раз, что наблюдается без nconnect
.
Операции ввода-вывода в секунду при записи в Linux
На следующих графиках показаны случайные записи 8-KiB около 405 000 операций ввода-вывода в секунду, nconnect
примерно 7,2 раза, что наблюдается без nconnect
.