Nach der Veröffentlichung unseres Artikels über Microsofts Opt-in-Option Native NVMe-Funktion auf Windows Server 2025Wir erhielten zahlreiche Anfragen nach einem direkten Vergleich der Speicherleistung zwischen Windows Server 2025 mit nativer NVMe-SSD und einem Linux-basierten Serverbetriebssystem. Ein besonders enthusiastischer Reddit-Nutzer ging sogar so weit, einen direkten Vergleich anzustreben. boten uns Bier an um es zu tun! Da es offensichtlich Da es keine andere sinnvolle Option gab, beschlossen wir, die gleichen Tests unter Linux durchzuführen.
Vor langer Zeit, in einer weit, weit entfernten Betriebssystemversion
Der Linux-Kernel unterstützt NVMe seit Version 3.3Das Protokoll wurde im März 2012 veröffentlicht und wird seit Windows Server 2012 R2 (etwa Oktober 2013) – allerdings nicht nativ, sondern über SCSI-Übersetzung – unterstützt. Mehr als ein Jahrzehnt später diskutieren Anwender immer noch, ob Windows oder Linux besser für die Datenspeicherung geeignet ist. Daher möchten wir die Debatte mit Benchmark-Ergebnissen, die beide Systeme vergleichen, weiter anheizen.
Da uns Testergebnisse für Windows Server 2025 mit sowohl nativen als auch nicht-nativen Speicherarchitekturen vorliegen, hielten wir es für sinnvoll, zwei Speicherarchitekturen unter Linux zu evaluieren. Für unsere FIO-Benchmarks verwendeten wir libaio und io_uring, zwei der gängigsten APIs für Speichertransaktionen. Obwohl io_uring deutlich neuer ist und viele Verbesserungen für asynchrone E/A bietet, ist libaio aufgrund seiner Flexibilität und Benutzerfreundlichkeit weiterhin weit verbreitet (Didona, Pfefferle, Ioannou, Metzler & Trivedi, 2022). Eine vollständige Architekturübersicht beider Architekturen würde den Rahmen dieses Artikels sprengen; wir stellen die Ergebnisse jedoch dennoch für einen direkten Vergleich bereit.
NVMe-Test auf Ubuntu Server 24.04.4 LTS
Unsere Hardwareplattform für diesen Vergleich ist derselbe Server, der auch in unserem Artikel über native NVMe-Unterstützung in Windows Server 2025Um maximalen Durchsatz und konsistente Ergebnisse zu gewährleisten, ist es mit zwei 128-Kern-AMD-EPYC-9754-CPUs, 768 GB DDR5-Speicher mit 4800 MT/s und fünfzehn 30.72 TB Solidigm P5316 NVMe SSDs mit PCIe 4.0 in einer JBOD-Konfiguration.
Wie bereits in unserem vorherigen Artikel erwähnt, verfügt der Solidigm P5316 über eine Indirektionseinheitsgröße von 64 Kilobyte. Dies bedeutet, dass die Schreibleistung bei kleineren Blockgrößen (z. B. 4-KB-Tests) oft schlechter als erwartet ausfällt. Um ein breites Spektrum an Ergebnissen für Lese- und Schreibvorgänge zu erhalten, haben wir erneut verschiedene Testmuster mit Blockgrößen von 4 KB, 64 KB und 128 KB durchgeführt.
Wir haben Ubuntu Server 24.04.4 LTS aufgrund seiner Beliebtheit und des langfristigen Supports als Linux-Beispiel ausgewählt. Es läuft standardmäßig mit dem Linux-Kernel 6.8, der zwar nicht der neueste oder fortschrittlichste ist, aber wahrscheinlich einen Großteil der weltweiten Installationen abdeckt.
Highlights
- Windows Server 2025: Native NVMe gewinnt in drei von vier Leseleistungs-Benchmarks.
- Bei den meisten Tests wurde unter Windows Server eine geringere CPU-Auslastung beobachtet.
- Ubuntu Server 24.04.4 LTS gewinnt in drei von vier Schreibleistungs-Benchmarks.
| Metrisch | Zufällige 4K | Zufällige 64K | ||||||
|---|---|---|---|---|---|---|---|---|
| Windows Nicht-nativ | Windows Native | Linux libaio | Linux io_uring | Windows Nicht-nativ | Windows Native | Linux libaio | Linux io_uring | |
| Zufälliges Lesen | ||||||||
| Bandbreite (GiB/s) | 6.1 | 10.058 | 9.198 | 9.504 | 74.291 | 91.165 | 77.517 | 77.7 |
| IOPS | 1,598,959 | 2,636,516 | 2,411,000 | 2,491,000 | 1,217,176 | 1,493,637 | 1,270,000 | 1,273,000 |
| Durchschnittliche Latenz (ms) | 0.169 | 0.104 | 0.198 | 0.192 | 0.239 | 0.207 | 0.377 | 0.376 |
| Gesamte CPU-Auslastung (%) | 72.67 | 74.22 | 99.77 | 99.76 | 68.44 | 65.11 | 83.16 | 84.72 |
| Metrisch | Sequenziell 64K | Sequenziell 128K | ||||||
|---|---|---|---|---|---|---|---|---|
| Windows Nicht-nativ | Windows Native | Linux libaio | Linux io_uring | Windows Nicht-nativ | Windows Native | Linux libaio | Linux io_uring | |
| Sequenzielles Lesen | ||||||||
| Bandbreite (GiB/s) | 35.596 | 35.623 | 31.867 | 31.433 | 86.791 | 92.562 | 97.05 | 97 |
| IOPS | 583,192 | 583,638 | 522,000 | 515,000 | 710,978 | 758,252 | 795,000 | 795,000 |
| Durchschnittliche Latenz (ms) | 0.809 | 0.812 | 0.919 | 0.932 | 0.613 | 0.608 | 0.603 | 0.604 |
| Gesamte CPU-Auslastung (%) | 44.89 | 37.11 | 53.94 | 41.74 | 61.56 | 49.56 | 75.14 | 76.90 |
| Metrisch | Zufällige 4K | Zufällige 64K | ||||||
|---|---|---|---|---|---|---|---|---|
| Windows Nicht-nativ | Windows Native | Linux libaio | Linux io_uring | Windows Nicht-nativ | Windows Native | Linux libaio | Linux io_uring | |
| Zufälliges Schreiben | ||||||||
| Bandbreite (GiB/s) | 1.803 | 1.756 | 1.876 | 1.815 | 7.654 | 7.655 | 7.652 | 7.651 |
| IOPS | 472,725 | 460,383 | 492,000 | 476,000 | 125,391 | 125,406 | 125,000 | 125,000 |
| Durchschnittliche Latenz (ms) | 0.992 | 1.028 | 0.974 | 1.007 | 3.814 | 3.816 | 3.827 | 3.828 |
| Gesamte CPU-Auslastung (%) | 26.00 | 20.67 | 45.76 | 22.80 | 12.22 | 9.33 | 20.07 | 10.90 |
| Metrisch | Sequenziell 64K | Sequenziell 128K | ||||||
|---|---|---|---|---|---|---|---|---|
| Windows Nicht-nativ | Windows Native | Linux libaio | Linux io_uring | Windows Nicht-nativ | Windows Native | Linux libaio | Linux io_uring | |
| Sequenzielles Schreiben | ||||||||
| Bandbreite (GiB/s) | 44.67 | 50.087 | 52.283 | 52.25 | 50.477 | 50.079 | 52 | 52.083 |
| IOPS | 731,859 | 820,603 | 856,000 | 856,000 | 413,495 | 410,232 | 426,000 | 427,000 |
| Durchschnittliche Latenz (ms) | 0.399 | 0.558 | 0.560 | 0.560 | 1.022 | 1.149 | 1.126 | 1.125 |
| Gesamte CPU-Auslastung (%) | 70.44 | 57.78 | 61.88 | 62.75 | 58.44 | 47.33 | 61.49 | 44.27 |
Hinweis: Unsere Linux-IOPS-Ergebnisse werden aufgrund von Unterschieden in der FIO-Berichterstattung zwischen Windows Server 2025 und Ubuntu Server 24.04.4 LTS auf die nächsten Tausend gerundet. Die Ergebnisse für Bandbreite, Latenz und CPU-Auslastung werden auf beiden Plattformen einheitlich gerundet.
Die Zahlen lügen nicht
Sofort wird deutlich, dass Ubuntu Windows nicht in allen Kategorien übertrifft. Zwar erzielten libaio und io_uring in unseren Bandbreitentests für zufällige Lesezugriffe einen exzellenten Durchsatz, erreichten aber nicht die Leistung des nativen NVMe-Stacks von Microsoft. Der Windows-NT-Kernel schlug den Linux-Kernel in unseren Tests mit zufälligen Lesezugriffen über 64 KB um etwa 17 %: Er erreichte 91.165 GiB/s auf nativem NVMe gegenüber 77.7 GiB/s mit io_uring.
Doch noch ist nicht alle Hoffnung für Torvalds' technologischen Schrecken verloren. Ubuntu Server schlug Windows Server in einem unserer Leseleistungs-Benchmarks knapp: dem sequenziellen 128K-Test. Hier erzielte Linux' libaio mit 97.05 GiB/s die beste Leistung, verglichen mit Windows' nativem NVMe mit 92.562 GiB/s – ein Unterschied von etwa 5 %. Dies deutet darauf hin, dass Linux bei der Verarbeitung von Blockgrößen, die größer als die Indirektionseinheiten der Laufwerke sind, einen leichten Vorteil haben könnte.
Die Bandbreite für zufällige Schreibvorgänge war sowohl unter Linux als auch unter Windows konstant, insbesondere bei den 64K-Benchmarks. Die besten und schlechtesten Ergebnisse dieser Tests unterschieden sich lediglich um 0.05 %, was darauf hindeutet, dass alle Speichersysteme das volle Potenzial der Laufwerke ausschöpften.
Interessanterweise konnte der Linux-Kernel 6.8 bei Tests zur sequenziellen Schreibbandbreite für Blockgrößen von 64 KB und 128 KB den Sieg erringen. Obwohl der Unterschied nicht massiv war, übertrafen die Open-Source-Software-Stacks die native NVMe-SSD von Windows Server in beiden Fällen um etwa 2 GiB/s.
Die Latenzwerte entsprachen im Allgemeinen den Durchsatztestergebnissen, was sich am deutlichsten im Unterschied der durchschnittlichen zufälligen Lesevorgänge zeigte. Leider wiesen libaio und io_uring bei Tux höhere Latenzwerte auf, wobei der größte Unterschied von 0.17 ms zwischen der nativen NVMe-Architektur von Windows Server (0.207 ms) und libaio (0.377 ms) bei 64 zufälligen Lesevorgängen gemessen wurde.
Die wohl überraschendste Erkenntnis unserer Benchmarks ist der enorme Unterschied in der CPU-Auslastung zwischen Windows Server 2025 und Ubuntu Server 24.04.4 LTS. In drei von vier Benchmarks für zufällige und sequentielle Lesezugriffe wies die native NVMe-SSD von Windows Server die niedrigste CPU-Auslastung auf. Das deutlichste Ergebnis zeigte sich beim sequentiellen Lese-Benchmark (128 KB), bei dem Windows 27.34 % weniger CPU-Leistung verbrauchte als Linux.
Die CPU-Auslastung mit libaio und io_uring war in Tests mit zufälligen und sequenziellen Schreibvorgängen etwas besser, reichte aber dennoch nicht aus, um den Sieg der nativen NVMe-Speicherarchitektur unter Windows Server in drei der Benchmarks zu verhindern. Eine bemerkenswerte Ausnahme bildete die CPU-Auslastung von libaio im Test mit zufälligen 4K-Schreibvorgängen, die 45.76 % der System-CPU erreichte, während die anderen Speichersysteme um die 20 % lagen.
Gewinner, CPU-Dinner
Unsere Ergebnisse zeigen, dass Windows Server und Ubuntu Server bei direkten Vergleichstests in zufälligen und sequenziellen Leistungstests mit unterschiedlichen Blockgrößen nahezu gleichauf liegen. Hinsichtlich der Bandbreite übertraf Windows Server 2025 mit nativem NVMe Linux in den meisten Lesetests, während Linux in unseren Schreibtests etwas bessere Ergebnisse erzielte. Unsere Latenzwerte bestätigten dies, doch das eigentliche Highlight war die CPU-Effizienz von Windows Server 2025 bei Verwendung von nativem NVMe.
Microsoft hat sich sichtlich Mühe gegeben, seinen neuesten Speicher-Stack zum besten zu machen, und obwohl er nicht immer Im Vergleich zu libaio und io_uring schlägt es sich gut. Obwohl diese Ergebnisse nicht für alle Anwendungsfälle und Serverkonfigurationen verbindlich sind, können sie Serveradministratoren bei der Entscheidung helfen, ob ein Windows- oder ein Linux-Server eingesetzt werden soll, wenn die Speicherleistung wichtiger ist als die Betriebssystemkompatibilität.
Teilen Sie uns Ihre Meinung zu diesen Ergebnissen mit, indem Sie auf unseren Social-Media-Plattformen oder dem [Name der Plattform/des Forums] einen Kommentar hinterlassen. SR DiscordHätten Sie erwartet, dass Windows Server in unseren Tests so gut abschneidet, oder hatten Sie eher auf Linux gesetzt? Würden Sie gerne mehr Linux-Server-Distributionen oder -Kernel getestet sehen? Wir freuen uns immer über Ihr Feedback, und von Lesern gewünschte Tests wie diese werden oft zu unseren Lieblingsartikeln.
Referenzen
Didona, D., Pfefferle, J., Ioannou, N., Metzler, B. & Trivedi, A. (13. Juni 2022). Understanding Modern Storage APIs: A systematic study of libaio, SPDK, and io_uring. SYSTOR '22, 120–121. Abgerufen am 3. April 2026 von https://atlarge-research.com/pdfs/2022-systor-apis.pdf




Amazon