Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6.2. Анализ

Оптимизация производительности стека данных требует понимания схемы движения данных в системе, а также конфигурации накопителей и их эффективности при разных уровнях нагрузки.
При развертывании новой системы рекомендуется создать полный профиль схемы хранения данных. Начните с физических дисков и LUN, оцените их производительность при обработке прямого ввода-вывода (без участия кэша страниц ядра). Результаты этой проверки будут служить точкой отсчета. После этого можно приступить к тестированию базовой нагрузки, например при помощи aio-stress, что будет генерировать набор случайных операций чтения и записи.
Ниже приведены графики результатов прогонов aio-stress, каждый из которых содержит четыре стадии: последовательная запись, последовательное чтение, случайная запись, случайное чтение. Так, в приведенных примерах тестирование проводится для разных размеров записей (ось X), а графики иллюстрируют результаты для очередей разной длины.
Вывод aio-stress для 1 потока и 1 файла
Вертикальная ось отражает скорость обслуживания в мегабайтах в секунду, горизонтальная — размер данных в килобайтах.

Рисунок 6.1. Вывод aio-stress для 1 потока и 1 файла

Обратите внимание на рост кривой — производительность возрастает при росте числа обрабатываемых запросов ввода-вывода.
После выполнения нескольких тестов вы будете знать, как меняется производительность в зависимости от нагрузки. Сохраните результаты, чтобы в будущем их можно было сравнить с новыми данными.
После этого можно приступить к тестированию многопутевых схем. Если наблюдается существенное снижение производительности, определите, является ли это оправданным. Так, например, снижение производительности при добавлении уровня проверки контрольной суммы RAID в стек является ожидаемым в отличие от неупорядоченных операций ввода-вывода. Red Hat Enterprise Linux по умолчанию стремится оптимизировать сопоставление разделов и метаданных Device Mapper, но в некоторых случаях может требоваться ручная коррекция.
Наконец, выполняется тестирование файловой системы с прямым вводом-выводом. Сравните полученные результаты с результатами предыдущих тестов и убедитесь, что для всех случаев снижения производительности есть объяснение. Обычно скорость прямого ввода-вывода выше для предварительно выделенных файлов, поэтому рекомендуется заранее выделить пространство и уже потом приступить к тестированию.
Следующие инструменты искусственно генерируют нагрузку:
  • aio-stress,
  • iozone,
  • fio.