Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Средство тестирования, используемое в этих тестах, называется гибким тестировщиком ввода-вывода (FIO).
При тестировании пределов производительности хранилища рабочая нагрузка должна быть высоко параллелизирована для достижения максимально возможных результатов.
Это означает:
- один, для многих клиентов
- несколько ЦП
- несколько потоков
- выполнение операций ввода-вывода для нескольких файлов
- многопоточные сетевые подключения (например, такие, как nconnect)
Цель заключается в том, чтобы максимально задействовать систему хранения до того, как операциям придется ждать завершения других операций. Использование одного клиента для обхода одного сетевого потока или чтения и записи из одного файла (например, с помощью dd или diskspd на одном клиенте) не дает результатов, указывающих на возможности Azure NetApp Files. Вместо этого эти настройки показывают производительность одного файла, который обычно соответствует скорости передачи данных и/или настройками службы качества обслуживания (QoS) файлов Azure NetApp.
Кроме того, кэширование должно быть максимально сведено к минимуму для достижения точных репрезентативных результатов того, что может сделать хранилище. Однако кэширование — это незаменимый инструмент для современных приложений, позволяющий им оптимально работать. Эти сценарии охватывают как кэширование, так и обход кэширования для случайных рабочих нагрузок ввода-вывода с помощью параметров FIO (в частности, randrepeat=0
для предотвращения кэширования в хранилище и directio, чтобы предотвратить кэширование на клиенте).
Сведения о гибком тестовом сервере ввода-вывода
Гибкое средство тестирования ввода-вывода (FIO) — это инструмент с открытым исходным кодом для генерации рабочих нагрузок, обычно используемый для тестирования хранилищ благодаря своей простоте в использовании и гибкости в определении шаблонов нагрузок. Сведения об использовании с Azure NetApp Files см. в рекомендациях по тестированию производительности для Azure NetApp Files.
Установка FIO
Следуйте разделу "Двоичные пакеты" в файле FIO README, чтобы установить для выбранной платформы.
Примеры FIO для тестирования производительности (IOPS)
В примерах FIO, приведенных в этом разделе, используются следующие настройки:
- Размер экземпляра виртуальной машины: D32s_v3
- Уровень и размер сервиса пула емкостей: Премиум/50 ТиБ
- Размер квоты тома: 48 ТиБ
В следующих примерах показаны случайные операции чтения и записи FIO.
FIO: размер блока 8к, 100% случайные операции чтения
fio --name=8krandomreads --rw=randread --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting
FIO: размер блока 8 Кб, 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 КБ, 100 % последовательные операции чтения
fio --name=64kseqreads --rw=read --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting
FIO: размер блока 64k, 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. Это изменение приводит к немного меньшему общему числу, но является более точным представлением того, что служба хранилища может выполнять при обходе кэширования.