Поделиться через


Часто задаваемые вопросы и рекомендации по производительности SMB для Azure NetApp Files | Документация Майкрософт

В этой статье приведены сведения об обеспечении производительности SMB и рекомендациях по работе с Azure NetApp Files.

Технология SMB Multichannel

По умолчанию в общих ресурсах SMB включена функция SMB Multichannel. У всех общих папок SMB, предшествующих существующим томам SMB, включена функция; Все только что созданные тома также включают функцию во время создания.

Любое подключение SMB, установленное перед включением компонентов, необходимо сбросить, чтобы воспользоваться преимуществами функций SMB Multichannel. Для сброса можно отключить и повторно подключить общий ресурс SMB.

Windows поддерживает многоканальный протокол SMB с Windows 2012 для обеспечения лучшей производительности. Подробности см. в разделах Развертывание многоканального SMB и Основы многоканального SMB.

Преимущества SMB Multichannel

Функция многоканального SMB позволяет клиенту SMB3 устанавливать пул подключений через один сетевой адаптер или несколько сетевых интерфейсов и использовать их для отправки запросов на один сеанс SMB. Напротив, при проектировании протоколы SMB1 и SMB2 должны установить одно соединение и отправить весь трафик SMB для данного сеанса через это подключение. Это единственное соединение ограничивает общую производительность протокола, которая может быть достигнута от одного клиента.

Производительность SMB Multichannel

Следующие тесты и графики демонстрируют возможности многоканального SMB для рабочих нагрузок с одним экземпляром.

Случайный ввод-вывод

Когда на клиенте отключен многоканальный протокол SMB, чистые тесты чтения и записи объемом 4 КиБ были выполнены с использованием FIO и рабочего набора 40 ГиБ. Общая папка SMB была отсоединяется между каждым тестом с шагом числа подключений клиента SMB для параметров сетевого 1интерфейса RSS ,4,8,16 и set-SmbClientConfiguration -ConnectionCountPerRSSNetworkInterface <count>. Тесты показывают, что значение по умолчанию 4 достаточно для рабочих нагрузок с интенсивным вводом-выводом; увеличение до 8 и 16 имело незначительный эффект.

Команда netstat -na | findstr 445 доказала, что дополнительные подключения были установлены с шагом от 1 , до 48, 4 и 8 к 16. Четыре ядра ЦП были полностью использованы для SMB во время каждого теста, что подтверждается статистикой perfmon Per Processor Network Activity Cycles (не включенной в эту статью)

Диаграмма, показывающая сравнение случайного ввода-вывода многоканального SMB.

Виртуальная машина Azure не влияет на ограничения операций ввода-вывода хранилища SMB (или NFS). Как показано на следующей диаграмме, тип инстанса D32ds имеет ограниченную скорость 308 000 операций ввода-вывода в секунду для кэшированного хранилища и 51 200 операций ввода-вывода в секунду для некэшированного хранилища. Однако на приведенном выше графике показано значительно большее количество операций ввода-вывода по сравнению с SMB.

Диаграмма, показывающая сравнительный тест случайного ввода-вывода.

Последовательный ввод-вывод

Тесты, аналогичные тестам случайного ввода-вывода, описанным ранее, выполнялись с последовательным вводом-выводом размером 64 КиБ. Несмотря на то, что увеличение количества подключений клиента на сетевой интерфейс RSS за пределами четырех не имело заметного влияния на случайный ввод-вывод, то же самое не применяется к последовательным ввода-выводам. Как показано на следующем графике, каждое увеличение связано с соответствующим увеличением пропускной способности чтения. Пропускная способность записи оставалась неструктурированной из-за ограничений пропускной способности сети, размещенных Azure для каждого типа экземпляра и размера.

Диаграмма, показывающая сравнение тестов пропускной способности.

Azure устанавливает ограничения скорости сети для каждого типа и размера виртуальной машины. Ограничение скорости накладывается только на исходящий трафик. Количество сетевых адаптеров, присутствующих на виртуальной машине, не влияет на общую пропускную способность, доступную для компьютера. Например, для типа экземпляра D32ds установлен сетевой лимит в 16 000 Мбит/с (2000 МиБ/с). Как показано на последовательном графике выше, ограничение влияет на исходящий трафик (записи), но не на многоканальное чтение.

Диаграмма, показывающая сравнительный тест последовательного ввода-вывода.

Подписывание SMB

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

Подписывание SMB поддерживается для всех версий протокола SMB, поддерживаемых Azure NetApp Files.

Влияние подписывания SMB на производительность

Подписывание SMB отрицательно сказывается на производительности SMB. Помимо других возможных причин снижения производительности, цифровая подпись каждого пакета потребляет дополнительный процессор на стороне клиента, как показано в показанных ниже выходных данных perfmon. В этом случае ядро 0 отображается в качестве ответственного за SMB, включая подписывание SMB. В сравнении с последовательными номерами пропускной способности чтения, не являющимися многоканальными в предыдущем разделе, показано, что подписывание SMB сокращает общую пропускную способность от 875MiB/с до приблизительно 250MiB/с.

Диаграмма, показывающая влияние подписи SMB на производительность.

Производительность одного экземпляра с набором данных 1 ТБ

Чтобы предоставить более подробное представление о рабочих нагрузках с сочетанием операций чтения и записи, на следующих двух диаграммах показана производительность одного облачного тома уровня обслуживания Ultra объемом 50 ТБ с набором данных 1 ТБ и с многоканальным SMB объемом 4. Было использовано оптимальное значение IODepth 16; Гибкие параметры ввода-вывода (FIO) использовались для обеспечения полного использования пропускной способности сети (numjobs=16).

На следующей диаграмме показаны результаты для 4k случайных операций ввода-вывода с одним экземпляром виртуальной машины и сочетанием операций чтения и записи с 10 % интервалами:

На диаграмме показан стандартный для Windows 2019 тест случайного _D32ds_v4 ввода-вывода 4K.

Следующая диаграмма показывает результаты для последовательного ввода-вывода:

На диаграмме показана последовательная пропускная способность стандарта Windows 2019 _D32ds_v4 64 КБ.

Производительность при горизонтальном масштабировании с использованием 5 виртуальных машин с набором данных размером 1 ТБ

Эти тесты с 5 виртуальными машинами используют ту же среду тестирования, что и одиночная виртуальная машина, причем каждый процесс записывает в свой собственный файл.

Следующая диаграмма показывает результаты для произвольного ввода-вывода:

Диаграмма, на которой показан стандартный тест ввода-вывода _D32ds_v4 4K для Windows 2019 с 5 экземплярами.

Следующая диаграмма показывает результаты для последовательного ввода-вывода:

Диаграмма, показывающая стандартную пропускную способность _D32ds_v4 64 КБ Windows 2019 для 5 экземпляров.

Мониторинг адаптеров Ethernet Hyper-V

Одна из стратегий, используемых при тестировании с FIO, — установить numjobs=16. При этом каждое задание разбивается на 16 конкретных экземпляров, чтобы максимально использовать сетевой адаптер Microsoft Hyper-V.

Вы можете проверить действие для каждого адаптера в Windows Монитор производительности, выбрав Монитор производительности > Добавить > сетевой адаптер >Microsoft Hyper-V.

Снимок экрана, на котором показан интерфейс добавления счетчика монитора производительности.

После того как у вас есть трафик данных на ваших томах, вы можете контролировать свои адаптеры в мониторе производительности Windows. Если вы не используете все эти 16 виртуальных адаптеров, возможно, вы не максимизируете емкость пропускной способности сети.

Снимок экрана, на котором показаны выходные данные монитора производительности.

Шифрование SMB

Этот раздел поможет вам изучить принципы и особенности шифрования SMB (SMB 3.0 и SMB 3.1.1).

Шифрование по протоколу SMB обеспечивает сквозное шифрование данных SMB и защищает их от перехвата в ненадежных сетях. Шифрование SMB поддерживают SMB 3.0 и более новые версии.

При отправке запроса к хранилищу клиент шифрует этот запрос, а хранилище его расшифровывает. Аналогичным образом сервер шифрует ответ, а клиент его расшифровывает.

Шифрование SMB поддерживают Windows 10, Windows 2012 и более поздние версии.

Шифрование SMB и Azure NetApp Files

Шифрование SMB для Azure NetApp Files включено на уровне общего ресурса. SMB 3.0 использует алгоритм AES-CCM, а SMB 3.1.1 — алгоритм AES-GCM.

Шифрование SMB не требуется. Таким образом, он включен только для указанной общей папки, если пользователь запрашивает, что Azure NetApp Files включает его. Общие папки Azure NetApp Files никогда не предоставляются для доступа из Интернета. Они доступны только из определенной виртуальной сети, через VPN или экспресс-маршрут, поэтому общие папки Azure NetApp Files по сути безопасны. Решение о применении шифрования SMB пользователь принимает самостоятельно. Кроме того, не забывайте, что включение этой возможности ожидаемо снижает производительность.

Влияние шифрования SMB на клиентские рабочие нагрузки

Шифрование SMB повышает нагрузку как на клиент (нагрузка на ЦП для шифрования и расшифровки сообщений), так и на хранилище (снижение пропускной способности). В приведенной ниже таблице собраны сведения только о влиянии на хранилище. Перед развертыванием рабочих нагрузок в рабочей среде вам нужно самостоятельно протестировать влияние шифрования на производительность конкретных приложений.

Профиль ввода-вывода Воздействие
Рабочие нагрузки чтения и записи От 10 до 15 %
С интенсивной нагрузкой на метаданные 5%

Ускорение работы в сети

Для максимальной производительности рекомендуется настроить ускоренную сеть на виртуальных машинах, где это возможно. Имейте в виду следующие соображения:

  • Портал Azure включает ускорение сети по умолчанию для виртуальных машин, поддерживающих эту функцию. Однако другие методы развертывания, такие как Ansible и аналогичные средства настройки, не могут. Сбой включения ускоренной сети может снизить производительность машины.
  • Если ускорение сети не включено в сетевом интерфейсе виртуальной машины из-за отсутствия поддержки типа экземпляра или размера, он остается отключенным с более крупными типами экземпляров. Вам нужно вмешательство вручную в этих случаях.
  • Нет необходимости задавать ускоренную сеть для сетевых карт в выделенной подсети Azure NetApp Files. Ускорение сети — это возможность, которая применяется только к виртуальным машинам Azure. Сетевые адаптеры Azure NetApp Files оптимизированы по проектированию.

Масштабирование на стороне приема

Azure NetApp Files поддерживает масштабирование на стороне получения (RSS).

При включении многоканального протокола SMB клиент SMB3 устанавливает несколько TCP-подключений к Azure NetApp Files SMB-серверу через сетевой адаптер (NIC), поддерживающий единый RSS.

Чтобы узнать, поддерживает ли сетевые адаптеры виртуальных машин Azure RSS, выполните следующую команду Get-SmbClientNetworkInterface и проверьте поле RSS Capable:

Снимок экрана: выходные данные RSS для виртуальной машины Azure.

Несколько сетевых адаптеров на клиентах SMB

Не следует настраивать несколько сетевых адаптеров на клиенте для SMB. Клиент SMB не соответствует счетчику сетевых адаптеров, возвращаемого сервером SMB. Каждый том хранилища доступен из одной и только одной конечной точки хранилища, то есть для любой связи SMB используется только один сетевой адаптер.

Как показано ниже Get-SmbClientNetworkInterace , виртуальная машина имеет два сетевых интерфейса: 15 и 12. Как показано в следующей команде Get-SmbMultichannelConnection, даже если есть два сетевых адаптера с поддержкой RSS, в связи с общим ресурсом SMB используется только интерфейс 12. Интерфейс 15 не используется.

Снимок экрана: выходные данные для сетевых карт с поддержкой RSS.

Следующие шаги