После публикации нашей статьи о возможности NVMe Microsoft на Windows Server 2025,мы получили многочисленные запросы на сравнение производительности хранилища между Windows Server 2025 (с поддержкой NVMe) и серверной ОС на основе LinuxОдин особенно восторженный пользователь Reddit даже предложил нам пиво для проведения теста!у нас не было другого выбора, кроме как запустить тот же стандартный пакет на Linux, чтобы предоставить сравнение, которое хотели наши читатели..
SSD с производительностью Windows Server 2025 NVMe против Linux
Давным-давно, в версии ОС Далеко, далеко
Linux поддерживает NVMe с версии ядра 3.3, выпущенный в марте 2012 года. Аналогично, Windows Server предлагает поддержку NVMe (не нативный, через SCSI перевод) с выпуска 2012 R2 примерно в октябре 2013 года. the debate over whether Windows or Linux delivers better storage performance still rages on—and we’re adding more data to the conversation with our benchmark results comparing the two operating systems.
Поскольку у нас уже были результаты тестирования для Windows Server 2025 с использованием как не-нативных, так и нативных стеков хранения, мы решили оценить два популярных стека хранения на Linux для справедливого сравнения.Для наших показателей FIO, мы использовали libaio и io_uring, два наиболее широко используемых API для операций хранения.Либаио остается основным продуктом благодаря своей гибкости и простоте использования (Didona), Pfefferle, Ioannou, Metzler, & Trivedi, 2022). Полный архитектурный анализ обоих стеков выходит за рамки этой статьи,Но мы предоставляем всеобъемлющие результаты, чтобы позволить прямое сравнение.
Тестирование NVMe на Ubuntu Server 24.04.4 LTS
Мы использовали ту же аппаратную платформу для этого сравнения, что и в нашей статье Windows Server 2025 native NVMe, обеспечивая согласованность и точное сравнение производительности.Сервер оснащен двумя 128-ядерными процессорами AMD EPYC 9754, 768 ГБ памяти DDR5, работающей со скоростью 4800 МТ/с, и пятнадцать 30,72 ТБ Solidigm P5316 NVMe SSD (PCIe 4.0) с конфигурацией в режиме JBOD.
Как отмечалось в нашей предыдущей статье, Solidigm P5316 имеет 64-килобайтный размер непрямой единицы, что часто приводит к более низкой, чем ожидалось, производительности записи для меньших размеров блоков (таких как тесты 4K).Для обеспечения всеобъемлющего представления, мы провели тесты с блоками размером 4K, 64K и 128K, измеряя операции чтения и записи во всех конфигурациях.
Мы выбрали Ubuntu Server 24.04.4 LTS как наш представитель Linux из-за его широкой популярности и долгосрочной поддержки (LTS) статуса.Эта версия ядра, вероятно, представляет собой большую часть реальных установок серверов Linux во всем мире.
Основные моменты
-
Windows Server 2025 (native NVMe) превосходит Ubuntu в 3 из 4 показателей производительности чтения
-
Windows Server постоянно демонстрировал более низкое использование процессора во время большинства тестов
-
Сервер Ubuntu 24.04.4 LTS выигрывает в 3 из 4 показателей производительности записи
Результаты сравнительной оценки
Производительность случайного чтения
|
Метрический
|
Windows не нативный
|
Windows Native
|
Линукс либаио
|
Linux io_uring
|
Windows не нативный
|
Windows Native
|
Линукс либаио
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Размер блока
|
Случайный 4K
|
Случайный 64K
|
||||||
|
Пропускная способность (GiB/s)
|
6.1
|
10.058
|
9.198
|
9.504
|
74.291
|
91.165
|
77.517
|
77.7
|
|
ИОПС
|
1,598,959
|
2,636,516
|
2,411,000
|
2,491,000
|
1,217,176
|
1,493,637
|
1,270,000
|
1,273,000
|
|
Средняя задержка (мс)
|
0.169
|
0.104
|
0.198
|
0.192
|
0.239
|
0.207
|
0.377
|
0.376
|
|
Общее использование процессора (%)
|
72.67
|
74.22
|
99.77
|
99.76
|
68.44
|
65.11
|
83.16
|
84.72
|
Производительность последовательного чтения
|
Метрический
|
Windows не нативный
|
Windows Native
|
Линукс либаио
|
Linux io_uring
|
Windows не нативный
|
Windows Native
|
Линукс либаио
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Размер блока
|
Последовательное 64K
|
Последовательность 128K
|
||||||
|
Пропускная способность (GiB/s)
|
35.596
|
35.623
|
31.867
|
31.433
|
86.791
|
92.562
|
97.05
|
97
|
|
ИОПС
|
583,192
|
583,638
|
522,000
|
515,000
|
710,978
|
758,252
|
795,000
|
795,000
|
|
Средняя задержка (мс)
|
0.809
|
0.812
|
0.919
|
0.932
|
0.613
|
0.608
|
0.603
|
0.604
|
|
Общее использование процессора (%)
|
44.89
|
37.11
|
53.94
|
41.74
|
61.56
|
49.56
|
75.14
|
76.90
|
Случайная запись
|
Метрический
|
Windows не нативный
|
Windows Native
|
Линукс либаио
|
Linux io_uring
|
Windows не нативный
|
Windows Native
|
Линукс либаио
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Размер блока
|
Случайный 4K
|
Случайный 64K
|
||||||
|
Пропускная способность (GiB/s)
|
1.803
|
1.756
|
1.876
|
1.815
|
7.654
|
7.655
|
7.652
|
7.651
|
|
ИОПС
|
472,725
|
460,383
|
492,000
|
476,000
|
125,391
|
125,406
|
125,000
|
125,000
|
|
Средняя задержка (мс)
|
0.992
|
1.028
|
0.974
|
1.007
|
3.814
|
3.816
|
3.827
|
3.828
|
|
Общее использование процессора (%)
|
26.00
|
20.67
|
45.76
|
22.80
|
12.22
|
9.33
|
20.07
|
10.90
|
Производительность последовательной записи
|
Метрический
|
Windows не нативный
|
Windows Native
|
Линукс либаио
|
Linux io_uring
|
Windows не нативный
|
Windows Native
|
Линукс либаио
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Размер блока
|
Последовательное 64K
|
Последовательность 128K
|
||||||
|
Пропускная способность (GiB/s)
|
44.67
|
50.087
|
52.283
|
52.25
|
50.477
|
50.079
|
52
|
52.083
|
|
ИОПС
|
731,859
|
820,603
|
856,000
|
856,000
|
413,495
|
410,232
|
426,000
|
427,000
|
|
Средняя задержка (мс)
|
0.399
|
0.558
|
0.560
|
0.560
|
1.022
|
1.149
|
1.126
|
1.125
|
|
Общее использование процессора (%)
|
70.44
|
57.78
|
61.88
|
62.75
|
58.44
|
47.33
|
61.49
|
44.27
|
Примечание: Результаты IOPS Linux округлены до ближайшей тысячи из-за различий в отчетности FIO между Windows Server 2025 и Ubuntu Server 24.04.4 LTS. Результаты пропускной способности, задержки и использования процессора округляются последовательно на обеих платформах.
Числа не лгут
Наши показатели ясно показывают, что Ubuntu не превосходит Windows в каждой категории.они не могли сравниться с производительностью нативного стека NVMe MicrosoftЯдро Windows NT превосходило ядро Linux примерно на 17% в наших тестах на случайном чтении 64K, при этом NVMe Windows достиг 91,165 GiB/s против 77,7 GiB/s.
Тем не менее, Linux не лишен своих побед. Ubuntu Server едва обогнал Windows Server в одном эталоне производительности чтения: последовательном тесте 128K.,Это предполагает, что Linux может иметь небольшое преимущество при управлении размером блоков больше, чем диски.
Случайная пропускная способность записи была одинакова для обеих операционных систем, особенно в эталонах 64K. Лучшие и худшие результаты в этих тестах отличались только на 0,05%,что все накопители смогли в полной мере использовать потенциал приводов.
Интересно, что ядро Linux 6.8 одержало победу в тестах на пропускную способность 64K и 128K блоков.в обоих случаях накопители с открытым исходным кодом превосходили нативные NVMe Windows Server примерно на 2 GiB/s.
Результаты задержки обычно отражают производительность пропускной способности, особенно в случайных средних показателях чтения.с самым большим разрывом, наблюдаемым в 64K случайных чтениях: NVMe на Windows Server имел среднюю задержку 0,207 мс, по сравнению с либионом 0,377 мс, разница 0,17 мс.
Возможно, самым удивительным результатом наших показателей является значительная разница в использовании процессора между Windows Server 2025 и Ubuntu Server 24.04.4 LTS. В 3 из 4 рандомизированных и последовательно читаемых эталонов наименьшее использование процессора имело NVMe на Windows Server. Наиболее поразительным результатом был тест на последовательное чтение 128K, где Windows использовал 27.34% меньше процессора, чем Linux.
Libaio и io_uring показали немного лучшие результаты в случайных и последовательных тестах записи, но недостаточно хорошо, чтобы помешать Windows Server's native NVMe выиграть 3 из 4 эталонов использования процессора записи.Примечательным исключением было использование процессора libaio во время теста на случайную запись 4K, который достиг 45,76% намного выше, чем ~ 20% использования процессора, наблюдаемого с другими стеками хранения.
Победитель Победитель, обед CPU
Наши результаты показывают, что Windows Server и Ubuntu Server выполняют тесные тесты на случайные и последовательные тесты на различные размеры блоков.Windows Server 2025 с native NVMe обычно превосходил Linux в большинстве тестов чтенияПоказатели задержки следовали аналогичной схеме, но наиболее выдающимся преимуществом была эффективность процессора Windows Server 2025 при использовании NVMe.
Microsoft, очевидно, вложила немало средств в совершенствование своего новейшего накопителя, и хотя она не выигрывает в каждой категории против libaio и io_uring, она ведет сильную борьбу.Эти результаты не являются окончательными для всех случаев использования и конфигураций серверов, но они дают ценные сведения для администраторов серверов, решающих, развернуть ли Windows или Linux, когда производительность хранилища является главным приоритетом перед совместимостью ОС.
Контактная информация
Beijing Qianxing Jietong Technology Co., Ltd.
Контактное лицо: Ms. Sandy Yang
Телефон: 13426366826



