Интерфейс накопителя — только часть решения. Быстрый NVMe не исправит приложение с последовательной блокировкой, а емкий SATA-диск не подойдет для журнала транзакций с жестким требованием к задержке.
Соберите пять измерений нагрузки
- Соотношение чтения и записи
- Доля случайных и последовательных операций
- Типичный размер блока
- Средняя и 95-я или 99-я перцентиль задержки
- Объем записи в сутки и ожидаемый срок службы
Средний IOPS без размера блока и задержки мало что говорит. Две нагрузки с одинаковым числом операций могут требовать разной пропускной способности и давать разную очередь. Снимайте метрики в обычное время и на пике, а также во время резервного копирования, перестроения индексов и других фоновых процессов.
Роли интерфейсов в архитектуре
| Вариант | Сильная сторона | Где проверить ограничения |
|---|---|---|
| SATA | Емкость и доступная стоимость для спокойных потоков | Один порт, класс накопителя, ресурс записи |
| SAS | Двухпортовое подключение и привычная интеграция с корпоративными массивами | Контроллер, мультипасинг, скорость интерфейса |
| NVMe | Низкая задержка и высокий параллелизм | Линии PCIe, NUMA, бэкплейн, hot-plug |
| HDD | Минимальная стоимость большой емкости | Случайный I/O, время восстановления, вибрация |
| SSD | Быстрый случайный доступ | Ресурс записи, защита от потери питания, устойчивость задержки |
Ресурс записи важнее пиковой скорости
Для постоянно изменяемых данных оцените объем записи за сутки и сопоставьте его с заявленным ресурсом накопителя. Одинаковый объем SSD может выпускаться в классах для преимущественного чтения и для интенсивной записи. Также проверьте защиту данных при потере питания и поведение задержки после заполнения внутреннего кэша.
Проверьте путь данных целиком
Накопитель должен поддерживаться корпусом, бэкплейном, кабельной схемой, контроллером или HBA, BIOS и операционной системой. Для NVMe дополнительно важны доступные линии PCIe и их распределение между процессорами. Если диски подключены к одному NUMA-узлу, размещение приложения на другом может увеличить задержку.
Соберите уровни вместо одного универсального массива
Часто разумнее разделить роли: зеркальная загрузочная группа, производительный уровень для активных данных и емкостный уровень для архивов или резервных копий. Это позволяет платить за низкую задержку там, где она влияет на сервис, а не для каждого терабайта.
- Определить SLO по задержке и пропускной способности
- Снять профиль чтения и записи
- Оценить ресурс записи и срок эксплуатации
- Выбрать схему защиты и доступности
- Проверить совместимость всего пути данных
- Подтвердить решение тестом на репрезентативном наборе
Коротко о главном
Частые вопросы
NVMe всегда быстрее SAS SSD?
Интерфейс NVMe дает больше возможностей для параллелизма и низкой задержки, но результат зависит от модели SSD, линий PCIe, программного стека и характера нагрузки.
Можно ли смешивать SAS и SATA в одной системе?
Некоторые SAS-контроллеры поддерживают SATA, но совместимость бэкплейна и правила формирования массива необходимо проверять для конкретной платформы.
Что важнее для базы данных: IOPS или задержка?
Оба показателя связаны. Для транзакционных систем особенно важна устойчивая задержка на высоких перцентилях, а не только максимальный IOPS.