meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
wiki:nas:xigmanas:benchmark [2022/10/09 21:58] mchuswiki:nas:xigmanas:benchmark [2022/10/09 21:58] (current) mchus
Line 1: Line 1:
 +====== Тестирование XigmaNAS с различными объемами оперативной памяти, GEOM vs ZFS ======
 +
 +Практическое значение данного теста заключается  в поиске минимального объема оперативной памяти при которой дистрибутив работает исправно, с целью использования в виртуальной среде для небольших стендов или на старом физическом оборудовании. 
 +
 +===== Тестовая среда =====
 +Тестирование проводится в среде виртуализации VMware vSphere 6.7, состоящей из одного сервера ESXi 6.7U3;
 +В качестве хранилища для NAS будет использован виртуальный диск, расположенный на одном твердотельном накопителе Micron M500DC 240GB;
 +
 +Виртуальная машина, создающая нагрузку расположена на том-же сервере виртуализации на другом хранилище.
 +
 +==== Инструменты ===
 +
 +В качестве инструмента тестирования будет использован Crystal Disk Mark версии 8.0.4 в режиме "Пиковая скорость" (Peak Performance)
 +
 +{{:blog:2022:10:09:20221009-214943.png}}
 +
 +===== Конфигурации виртуальной машины 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;
 +{{:blog:2022:10:09:20221009-221640.png}}
 +
 +Установка производится в режиме Full
 +
 +{{:blog:2022:10:09:20221009-221751.png}}
 +
 +Минимальный объем системного раздела для данного типа установки - 3 ГБ
 +
 +{{:blog:2022:10:09:20221009-221832.png}}
 +
 +Рекомендуемый объем раздела подкачки  - 1 ГБ
 +
 +{{:blog:2022:10:09:20221009-221854.png}}
 +
 +На время установки в пике расход оперативной памяти составил 435 МБ. Стоит отметить что vSphere на данном графике в показателе Active Memory приводит информацию об суммарном объеме страниц памяти, которые были использованы машиной недавно. То есть можно сказать это объем тех страниц которые гипервизору нужно держать в собственной оперативной памяти.
 +
 +{{:blog:2022:10:09:20221009-222645.png}}
 +
 +Установка завершена и система запускается с локального диска
 +
 +{{:blog:2022:10:09:20221009-222735.png}}
 +
 +Чистая система, установленная в режиме Full во время включения расходует 393 МБ оперативной памяти. Команд top сообщает о 350 МБ свободной памяти, что свидетельствует об использовании системой 162 МБ - данное значение фиксируется в таблице.
 +
 +Произведем подключение к веб-интерфейсу. Веб интерфейс сообщает об использовании 110 МБ оперативной памяти из 452 доступных.
 +
 +{{:blog:2022:10:09:20221009-224533.png}}
 +
 +Создаем Software RAID массив RAID-0;
 +
 +{{:blog:2022:10:09:20221009-225650.png}}
 +
 +Форматируем виртуальный том в ФС UFS;
 +
 +{{:blog:2022:10:09:20221009-225944.png}}
 +
 +Добавляем точку монтирования
 +
 +{{:blog:2022:10:09:20221009-230023.png}}
 +
 +
 +Включаем сервис SMB и фиксируем расход оперативной памяти.
 +
 +{{:blog:2022:10:09:20221009-230631.png}}
 +
 +Задаем сетевой ресурс для Crystal Disk Mark;
 +
 +{{:blog:2022:10:09:20221009-230750.png}}
 +
 +Запускаем тестовую нагрузку на систему
 +
 +{{:blog:2022:10:09:20221009-231812.png}}
 +
 +==== 1024 МБ ====
 +Увеличиваем объем виртуальной памяти машины до 1024 МБ и повторяем набор тестов.
 +
 +{{:blog:2022:10:09:20221009-232256.png}}
 +
 +На данном объеме имеет смысл попробовать создать пул ZFS. Форматируем диски для использования с ZFS
 +
 +{{:blog:2022:10:09:20221009-234143.png}}
 +
 +Создаем новый vdev типа stripe
 +
 +{{:blog:2022:10:09:20221009-234221.png}}
 +
 +Создаем пул.
 +
 +{{:blog:2022:10:09:20221009-234255.png}}
 +
 +Создаем Dataset с настройками по умолчанию. Без сжатия, синхронизация - стандартная. 
 +
 +{{:blog:2022:10:09:20221009-234349.png}}
 +
 +Запускаем нагрузку. Характер записи изменился, стал более рваным, нестабильным даже при больших объемах оперативной памяти.
 +
 +{{:blog:2022:10:09:20221009-235223.png}}
 +
 +<WRAP center round tip 60%>
 +Повторное тестирование показало незначительный рост производительности при использовании GEOM по сравнению с конфигурацией на 512МБ, поэтому дальнейшие тесты имеет смысл проводить только с ZFS.
 +</WRAP>
 +
 +
 +
 +===== Результаты =====
 +^ Объем   ^ Массив  ^ Режим работы                     ^ Расход памяти (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                     ||
 +|                        ^  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  |
 +
 +===== Выводы =====
 +
 +  - Было показано файловый сервер SMB с 512 МБ оперативной памяти работоспособна при использовании GEOM - программного RAID.
 +  - Продемонстрировано что производительность GEOM практически не растёт с увеличением объема оперативной памяти. Можно сделать также обратный вывод - с уменьшением свободной оперативной памяти под кэш производительность GEOM не падает.
 +  - Высокие показатели тестов ZFS на чтение связаны с тем что читаемые данные все еще находятся в кэше системы после предварительной генерации.
 +  - Показано что с ростом объемов оперативной памят - производительность массив ZFS растёт.