Microsoft розпочала поставки Windows Server 2025, пропонуючи розширену безпеку, покращену продуктивність, гнучкість роботи з хмарою. Відповідно вимогам часу нова ОС пристосована під найскладніші робочі навантаження, включаючи ШІ та машинне навчання. Зокрема, заявлено про радикально покращенаупродуктивність NVMe-сховища: Windows Server 2025 забезпечує до 60% більшу продуктивність сховища у IOPs порівняно з Windows Server 2022 на ідентичних системах.
Згідно тез Microsoft, модернізована підтримка NVMe включає:
• Перероблений низькорівневий стек сховища Windows для оптимізації високопродуктивного зберігання даних із кількома чергами та використанням особливостей технології NVMe (StorMQ)
• Розширену модель драйвера Windows Storport для підтримки наявних мініпортів та нових мініпортів StorMQ
• Нову архітектуру, що значно покращує використання ЦП, продуктивність і масштабованість продуктивності порівняно з існуючим стеком.
Перевіряємо власноруч
Сховища формуються засобами Storage Spaces – технології Microsoft керування просторами зберігання даних. Детально – тут.
Вибір носіїв суттєво впливає на продуктивність сервера. Найвищий потенціал серед усіх типів накопичувачів мають NVMe SSD, завдяки прямому підключенню до шини PCIe та центральних процесорів, без контролерів-посередників. NVMe SSD завжди будуть швидше, ніж SAS та SATA SSD, незважаючи на те, що усі вони зроблені на одній пам’яті NAND. Наразі вони ще й найдешевші.
Дослідимо вплив вибору ОС на продуктивність сховищ Storage Spaces на NVMe SSD. Приріст 60% за рахунок переписаного програмного стека здається занадто оптимістичним.
Конфігурація нашого тестового стенду:
Сервер DELL R7615 / 1 х AMD EPYC 9174F / 4 x 32ГБ DDR4-4800 RDIMM / 2 x 480GB M.2 NVMe SSD / 2 x 1.6ТБ U.3 / Windows Server Standard 2022 + Windows Server Standard 2025.
Обмежимось кількома тестами дзеркала з двох NVMe (two-way mirror), найпростішого з захищених просторів зберігання.
На один з завантажувальних NVMe встановили примірник Windows Server 2022 (21H2, build 20348.2849), на інший – Windows Server 2025 (24H2, build 26100.2314).
Чим міряли, що міряли
Для створення навантаження на дискову підсистему та вимірювання її продуктивності Microsoft рекомендує використовувати утиліту DiskSpd (https://aka.ms/diskspd). Вона може здійснювати операції I/O в кілька потоків із зазначеним таргетом. Утиліта не вимагає встановлення, для x64 бітної системи використовуємо версію diskspd.exe з каталогу amd64.
Команда для тестування диска:
diskspd.exe -c50G -d300 –t16 -o32 -b4k -r -w30 -Sh -L E:io > testdata.txt
- c50G – генеруємо тестовий файл розміром 50ГБ;
• -d300 – тривалість тесту за секунди;
• -t16 – кількість потоків (взято дорівнює кількості ядер ЦП);
• -o32 – довжина черги;
• -b4k – розмір блоку (використовуємо значення 4К та 64К);
• -r – довільне читання/запис;
• -w30 – співвідношення операцій запису до операцій читання 30%/70%;
• -Sh - не використовуємо кешування.
Тест DISKSPD дає результати, порівняні з реальним робочим навантаженням. Проте, необхідно звернути увагу на задані параметри та їх відповідність реальному сценарію. Важливо розуміти, що штучні робочі навантаження ніколи не будуть ідеально представляти реальне робоче навантаження програми під час розгортання.
Вимірювали продуктивність в IOPS за трьома тестами: запис коротким блоком 4К, тест «бази даних» (70% читання, 30% запису коротким блоком), тест «бази даних» (70% читання, 30% запису блоком 64К). Результати на діаграмах.
Підсумок
Приріст продуктивності є, але до заявленого далеко. Сподіваємось, з виходом оновлених драйверів різниця буде більшою. У будь-якому випадку нові сервери варто розгортати з новою ОС, тож порівняння має швидше академічний інтерес. Важливо вже те, що Microsoft приділяє особливу увагу продуктивності NVMe-сховища, все йде до того, що інших носіїв в серверах скоро не буде.