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


Общие сведения о методологии тестирования производительности в Azure NetApp Files

Средство тестирования, используемое в этих тестах, называется гибким тестировщиком ввода-вывода (FIO).

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

Это означает:

  • один, для многих клиентов
  • несколько ЦП
  • несколько потоков
  • выполнение операций ввода-вывода для нескольких файлов
  • многопоточных сетевых подключений (например, nconnect)

Цель заключается в том, чтобы отправить систему хранения до того, как она может пойти, прежде чем операции должны начать ждать завершения других операций. Использование одного клиента для обхода одного сетевого потока или чтения и записи из одного файла (например, с помощью dd или diskspd на одном клиенте) не дает результатов, указывающих на возможности Azure NetApp Files. Вместо этого эти настройки показывают производительность одного файла, который обычно тенденций с скоростью строки и (или) параметрами качества качества обслуживания файлов Azure NetApp.

Кроме того, кэширование должно быть максимально сведено к минимуму для достижения точных репрезентативных результатов того, что может сделать хранилище. Однако кэширование является очень реальным инструментом для современных приложений, которые будут выполняться в их абсолютном лучшем случае. Эти сценарии охватывают некоторые сценарии кэширования и кэширования, обходить для случайных рабочих нагрузок ввода-вывода с помощью параметров FIO (в частности, для предотвращения кэширования в хранилище и directio, randrepeat=0 чтобы предотвратить кэширование клиента).

Сведения о гибком тестовом сервере ввода-вывода

Гибкий средство тестирования ввода-вывода (FIO) — это средство создания открытый код рабочих нагрузок, обычно используемое для тестирования хранилища из-за простоты использования и гибкости в определении шаблонов рабочих нагрузок. Сведения об использовании с Azure NetApp Files см. в рекомендациях по тестированию производительности для Azure NetApp Files.

Установка FIO

Следуйте разделу "Двоичные пакеты" в файле FIO README, чтобы установить для выбранной платформы.

Примеры FIO для операций ввода-вывода в секунду

В примерах FIO, приведенных в этом разделе, используются следующие настройки:

  • Размер экземпляра виртуальной машины: D32s_v3
  • Уровень и размер службы пула ресурсов: Премиум/50 ТиБ
  • Размер квоты тома: 48 ТиБ

В следующих примерах показаны случайные операции чтения и записи FIO.

FIO: размер блока 8 000, 100 % случайных операций чтения

fio --name=8krandomreads --rw=randread --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO: размер блока 8 000, 100 % случайных операций записи

fio --name=8krandomwrites --rw=randwrite --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

Результаты тестов производительности

Официальные результаты теста производительности FIO в Azure NetApp Files см. в статье о производительности Azure NetApp Files для Linux.

Примеры FIO для пропускной способности

В примерах этого раздела показаны последовательные операции чтения и записи FIO.

FIO: размер блока 64 000, 100 % последовательных операций чтения

fio --name=64kseqreads --rw=read --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO: размер блока 64 000, 100 % последовательных операций записи

fio --name=64kseqwrites --rw=write --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

Результаты тестов производительности

Официальные результаты теста производительности FIO в Azure NetApp Files см. в статье о производительности Azure NetApp Files для Linux.

Кэширование с помощью FIO

FIO можно запускать с определенными параметрами, чтобы управлять тем, как тест производительности считывает и записывает файлы. В тестах тестов с кэшированием, исключенным, флаг randrepeat=0 FIO использовался для предотвращения кэширования путем выполнения истинной случайной рабочей нагрузки, а не повторяющегося шаблона.

[randrepeat]https://fio.readthedocs.io/en/latest/fio_doc.html#i-o-type)

По умолчанию, если randrepeat не определено, средство FIO задает значение true, что означает, что данные, созданные в файлах, не являются действительно случайными. Таким образом, кэши файловой системы не используются для повышения общей производительности рабочей нагрузки.

В более ранних тестах для Azure NetApp Files не определено, randrepeat поэтому была реализована кэширование файловой системы. В более актуальных тестах этот параметр имеет значение "0" (false), чтобы обеспечить достаточную случайность в данных, чтобы избежать кэшей файловой системы в службе Azure NetApp Files. Это изменение приводит к немного меньшему общему числу, но является более точным представлением того, что служба хранилища может выполнять при обходе кэширования.

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