Тестирование XigmaNAS с различными объемами оперативной памяти, GEOM vs ZFS

Практическое значение данного теста заключается в поиске минимального объема оперативной памяти при которой дистрибутив работает исправно, с целью использования в виртуальной среде для небольших стендов или на старом физическом оборудовании.

Тестовая среда

Тестирование проводится в среде виртуализации VMware vSphere 6.7, состоящей из одного сервера ESXi 6.7U3; В качестве хранилища для NAS будет использован виртуальный диск, расположенный на одном твердотельном накопителе Micron M500DC 240GB;

Виртуальная машина, создающая нагрузку расположена на том-же сервере виртуализации на другом хранилище.

Инструменты

В качестве инструмента тестирования будет использован Crystal Disk Mark версии 8.0.4 в режиме “Пиковая скорость” (Peak Performance)

Конфигурации виртуальной машины NAS

Параметр XXS XS S M L
vCPU 2 2 2 2 2
Объем памяти 512МБ 1024 МБ 2048 МБ 8192 МБ 16 384 МБ
Режим установки Full Full Embedded Embedded Embedded
Boot disk 8GB 8GB 8GB 8GB 8GB
Data Disk1 33GB 33GB 33GB 33GB 33GB
Data Disk2 33GB 33GB 33GB 33GB 33GB
Network VMXNET3 VMXNET3 VMXNET3 VMXNET3 VMXNET3

Ход тестирования

Установка XigmaNAS на систему с 512 МБ оперативной памяти

При объеме оперативной памяти менее 2 ГБ загрузочный диск предоставляет только функционал установки системы без возможности запуска NAS Live CD;

Установка производится в режиме Full

Минимальный объем системного раздела для данного типа установки - 3 ГБ

Рекомендуемый объем раздела подкачки - 1 ГБ

На время установки в пике расход оперативной памяти составил 435 МБ. Стоит отметить что vSphere на данном графике в показателе Active Memory приводит информацию об суммарном объеме страниц памяти, которые были использованы машиной недавно. То есть можно сказать это объем тех страниц которые гипервизору нужно держать в собственной оперативной памяти.

Установка завершена и система запускается с локального диска

Чистая система, установленная в режиме Full во время включения расходует 393 МБ оперативной памяти. Команд top сообщает о 350 МБ свободной памяти, что свидетельствует об использовании системой 162 МБ - данное значение фиксируется в таблице.

Произведем подключение к веб-интерфейсу. Веб интерфейс сообщает об использовании 110 МБ оперативной памяти из 452 доступных.

Создаем Software RAID массив RAID-0;

Форматируем виртуальный том в ФС UFS;

Добавляем точку монтирования

Включаем сервис SMB и фиксируем расход оперативной памяти.

Задаем сетевой ресурс для Crystal Disk Mark;

Запускаем тестовую нагрузку на систему

1024 МБ

Увеличиваем объем виртуальной памяти машины до 1024 МБ и повторяем набор тестов.

На данном объеме имеет смысл попробовать создать пул ZFS. Форматируем диски для использования с ZFS

Создаем новый vdev типа stripe

Создаем пул.

Создаем Dataset с настройками по умолчанию. Без сжатия, синхронизация - стандартная.

Запускаем нагрузку. Характер записи изменился, стал более рваным, нестабильным даже при больших объемах оперативной памяти.

Повторное тестирование показало незначительный рост производительности при использовании GEOM по сравнению с конфигурацией на 512МБ, поэтому дальнейшие тесты имеет смысл проводить только с ZFS.

Результаты

Объем Массив Режим работы Расход памяти (VMware) Расход памяти XigmaNAS GUI
512 МБ GEOM Первый запуск 36 МБ 162 МБ
Навигация по веб-интерфейсу 94 МБ 175 МБ
Запуск SMBd 256 МБ 339 МБ
Тестирование производительности 288 МБ 416 МБ
1024 GEOM Запуск SMBd 334 МБ
Тестирование производительности 922 МБ 439 МБ
ZFS Запуск SMBd 374 МБ
Тестирование производительности 796 МБ 951 МБ
Тест XXS XS S M L
GEOM GEOM ZFS ZFS ZFS GEOM ZFS
SEQ1M Q8T1 (MB/s) R 335 358 393 400 491 540 516
W 313 331 178 270 336 344 366
RND4K Q32T1 (MB/s) R 52,54 52,66 14,1 14,76 52,11 130,42 67,1
W 9,24 21,32 3,16 5,96 9,93 17,21 13,57
RND4K (IOPS) R 12827 12856 3441 3603 12722 31840 16382
W 2257 5218 771 1453 2425 4201 3359
RND4K (μs) R 2 492 2 484 9 281 8 866 2 509 1 003 1 949
W 9 280 5 754 36 143 19 522 13 119 7 592 8 573

Выводы

  1. Было показано файловый сервер SMB с 512 МБ оперативной памяти работоспособна при использовании GEOM - программного RAID.
  2. Продемонстрировано что производительность GEOM практически не растёт с увеличением объема оперативной памяти. Можно сделать также обратный вывод - с уменьшением свободной оперативной памяти под кэш производительность GEOM не падает.
  3. Высокие показатели тестов ZFS на чтение связаны с тем что читаемые данные все еще находятся в кэше системы после предварительной генерации.
  4. Показано что с ростом объемов оперативной памят - производительность массив ZFS растёт.