FIO сообщает о более высокой производительности 4K случайной записи IOPS, чем возможно для SSD.

Вопрос или проблема

Я пытаюсь провести тестирование моего SSD, Micron 7450 Pro, используя FIO.

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

sudo fio –name=seq_write –filename=/dev/nvme2n1 –direct=1 –rw=write –bs=128k –ioengine=libaio –iodepth=512 –size=100% –loops=2 –buffer_pattern=0xbeef

Согласно техническому описанию, диск должен достигать 180K IOPS, поэтому я ожидал этого результата, но вместо этого я получаю около 850K IOPS. Как можно разобраться в этой проблеме?

> sudo fio --name=write_test     --filename=/dev/nvme2n1     --rw=randwrite     --bs=4k     --direct=1     --iodepth=256  --ioengine=io_uring   --runtime=180
     --numjobs=32     --group_reporting

write: IOPS=855k, BW=3341MiB/s (3503MB/s)(17.1GiB/5256msec); 0 zone resets

Время выполнения составляет 3 минуты, поэтому я ожидаю, что любое поведение кеша исчезнет через несколько секунд.

Это поведение происходит только с размером страницы 4096B. При запуске на 2K, 1K, 512B никаких признаков этого поведения не наблюдается.

write: IOPS=229k, BW=448MiB/s (470MB/s)(78.8GiB/180036msec); 0 zone resets

Ответ или решение

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

FФакты и основы проблемы: Ваш SSD, Micron 7450 Pro, заявляет производительность в 180K IOPS согласно спецификации. Тем не менее, при использовании FIO вы зафиксировали результат в 855K IOPS при тестировании на случайную запись с размером блока 4KB. Этот разрыв может быть следствием нескольких условий.

OОсмотр и анализ текущей ситуации:

  1. Кэширование и буферизация: Даже с использованием флага --direct=1, который предназначен для обхода кэширования операционной системы, возможно, кэширование все же влияет. Убедитесь, что нет аппаратных и драйверных механизмов, которые могут временно буферизовать данные.

  2. Проверка конфигурации и параметров FIO: Обратите внимание на использованные параметры, такие как --iodepth=256, --numjobs=32 и движок io_uring, которые в совокупности могут искусственно увеличивать IOPS за счет отзывчивости операций I/O и параллелизма.

  3. Влияние носителя и его внутренней архитектуры: Современные SSD могут временно выполнять операции с избыточной производительностью за счет работы с кеш-памятью (например, SLC кеширование), особенно на коротких временных промежутках. Рассмотрите возможность использования внутренних свойств самого накопителя, которые искажают результаты тестов.

  4. Тестирование других размеров блоков: Как вы отметили, проблема не выражается при использовании других размеров блоков (2К, 1К и 512Б). Это может быть связано с особенностями работы контроллера SSD с разными блоками.

RРешения и шаги для диагностики:

  1. Подтверждение работоспособности ФИЗИЧЕСКОГО обхода кэша: Проверьте работу с параметрами --sync=1 и fsync_on_close=1, чтобы минимизировать любые формы кэширования.

  2. Снижение параллелизма: Попробуйте уменьшить количество параллельных задач (--numjobs) и глубину очереди (--iodepth) для оценки, как это влияет на результаты.

  3. Анализ долгосрочной производительности: Убедитесь, что тест выполняется достаточно долго для достижения равномерной производительности. 180 секунд может быть недостаточно при специфичных сценариях I/O.

EОбъяснение и оптимизация:
Следите за тем, чтобы результаты теста соответствовали типичным сценариям нагрузки вашего SSD. Это не только улучшит понимание причин подобного поведения, но и поможет оптимизировать производительность под ваши задачи.

SПодытоживание и рекомендации:
Ваша основная задача — понять, насколько результаты FIO соответствуют реальному использованию SSD в ваших условиях. Это может потребовать корректировки метода тестирования или параметров системы. Рассмотрите возможность проведения дополнительных тестов и обратитесь за технической поддержкой, если проблема не будет устранена.

TДальнейшие действия и интеграция в бизнес-процессы:
Эти результаты анализа помогут вам интегрировать подобные решения в бизнес-процессы, повысить надёжность тестовых методологий и обеспечить соответствие реальной производительности оборудования заявленным спецификациям, что в свою очередь укрепит доверие к IT-инфраструктуре вашего предприятия.

Оцените материал
Добавить комментарий

Капча загружается...