Na het publiceren van ons artikel over Microsoft's opt-in native NVMe-functie op Windows Server 2025, ontvingen we talrijke verzoeken voor een directe vergelijking van opslagprestaties tussen Windows Server 2025 (met native NVMe-ondersteuning) en een Linux-gebaseerd serverbesturingssysteem. Een bijzonder enthousiaste Redditor bood ons zelfs bier aan om de test uit te voeren! Met zo'n overweldigende vraag hadden we geen andere keuze dan dezelfde benchmarksuite op Linux te draaien om de directe vergelijking te leveren die onze lezers wilden.
Windows Server 2025 NVMe vs Linux prestaties SSD's
Lang geleden, in een besturingssysteemversie ver, ver weg
Linux ondersteunt NVMe sinds kernelversie 3.3, uitgebracht in maart 2012. Op dezelfde manier biedt Windows Server NVMe-ondersteuning (niet-natuurlijk, via SCSI-vertaling) sinds de 2012 R2-release rond oktober 2013. Meer dan tien jaar later woedt het debat over de vraag of Windows of Linux betere opslagprestaties levert nog steeds – en we voegen meer gegevens toe aan het gesprek met onze benchmarkresultaten die de twee besturingssystemen vergelijken.
Aangezien we al testresultaten hadden voor Windows Server 2025 met zowel niet-native als native opslagstacks, hebben we besloten om twee populaire opslagstacks op Linux te evalueren voor een eerlijke vergelijking. Voor onze FIO-benchmarks gebruikten we libaio en io_uring – twee van de meest gebruikte API's voor opslagtransacties. Hoewel io_uring aanzienlijk nieuwer is en talrijke verbeteringen biedt voor asynchrone I/O, blijft libaio een standaard vanwege zijn flexibiliteit en gebruiksgemak (Didona, Pfefferle, Ioannou, Metzler, & Trivedi, 2022). Een volledige architecturale analyse van beide stacks valt buiten het bestek van dit artikel, maar we bieden uitgebreide resultaten om een directe zij-aan-zij vergelijking mogelijk te maken.
NVMe testen op Ubuntu Server 24.04.4 LTS
We gebruikten hetzelfde hardwareplatform voor deze vergelijking als in ons artikel over Windows Server 2025 native NVMe, om consistentie en nauwkeurige prestatievergelijkingen te garanderen. De server is uitgerust met twee 128-core AMD EPYC 9754 CPU's, 768 GB DDR5-geheugen dat draait op 4800 MT/s, en vijftien 30,72 TB Solidigm P5316 NVMe SSD's (PCIe 4.0) geconfigureerd in JBOD-modus.
Zoals opgemerkt in ons vorige artikel, heeft de Solidigm P5316 een indirection unit-grootte van 64 kilobyte, wat vaak resulteert in lagere schrijfprestaties dan verwacht voor kleinere blokgroottes (zoals 4K-tests). Om een uitgebreid beeld te geven, hebben we tests uitgevoerd met blokgroottes van 4K, 64K en 128K, waarbij zowel lees- als schrijfbewerkingen over alle configuraties werden gemeten.
We hebben Ubuntu Server 24.04.4 LTS gekozen als onze Linux-vertegenwoordiger vanwege zijn wijdverbreide populariteit en long-term support (LTS) status. Het wordt standaard geleverd met Linux kernel 6.8 – hoewel niet de nieuwste beschikbare, vertegenwoordigt deze kernelversie waarschijnlijk een groot deel van de real-world Linux serverinstallaties wereldwijd.
Hoogtepunten
-
Windows Server 2025 (native NVMe) presteert beter dan Ubuntu in 3 van de 4 leesprestatiebenchmarks
-
Windows vertoonde consequent een lager CPU-gebruik tijdens de meeste tests
-
Ubuntu Server 24.04.4 LTS wint in 3 van de 4 schrijfp মনোprestatiebenchmarks
Benchmarkresultaten
Willekeurige leesprestaties
|
Metriek
|
Windows niet-native
|
Windows native
|
Linux libaio
|
Linux io_uring
|
Windows niet-native
|
Windows native
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Blokgrootte
|
Willekeurig 4K
|
Willekeurig 64K
|
||||||
|
Bandbreedte (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
|
|
Gemiddelde latentie (ms)
|
0.169
|
0.104
|
0.198
|
0.192
|
0.239
|
0.207
|
0.377
|
0.376
|
|
Totaal CPU-gebruik (%)
|
72.67
|
74.22
|
99.77
|
99.76
|
68.44
|
65.11
|
83.16
|
84.72
|
Sequentiële leesprestaties
|
Metriek
|
Windows niet-native
|
Windows native
|
Linux libaio
|
Linux io_uring
|
Windows niet-native
|
Windows native
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Blokgrootte
|
Sequentieel 64K
|
Sequentieel 128K
|
||||||
|
Bandbreedte (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
|
|
Gemiddelde latentie (ms)
|
0.809
|
0.812
|
0.919
|
0.932
|
0.613
|
0.608
|
0.603
|
0.604
|
|
Totaal CPU-gebruik (%)
|
44.89
|
37.11
|
53.94
|
41.74
|
61.56
|
49.56
|
75.14
|
76.90
|
Willekeurige schrijfprestaties
|
Metriek
|
Windows niet-native
|
Windows native
|
Linux libaio
|
Linux io_uring
|
Windows niet-native
|
Windows native
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Blokgrootte
|
Willekeurig 4K
|
Willekeurig 64K
|
||||||
|
Bandbreedte (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
|
|
Gemiddelde latentie (ms)
|
0.992
|
1.028
|
0.974
|
1.007
|
3.814
|
3.816
|
3.827
|
3.828
|
|
Totaal CPU-gebruik (%)
|
26.00
|
20.67
|
45.76
|
22.80
|
12.22
|
9.33
|
20.07
|
10.90
|
Sequentiële schrijfprestaties
|
Metriek
|
Windows niet-native
|
Windows native
|
Linux libaio
|
Linux io_uring
|
Windows niet-native
|
Windows native
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Blokgrootte
|
Sequentieel 64K
|
Sequentieel 128K
|
||||||
|
Bandbreedte (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
|
|
Gemiddelde latentie (ms)
|
0.399
|
0.558
|
0.560
|
0.560
|
1.022
|
1.149
|
1.126
|
1.125
|
|
Totaal CPU-gebruik (%)
|
70.44
|
57.78
|
61.88
|
62.75
|
58.44
|
47.33
|
61.49
|
44.27
|
Opmerking: Onze Linux IOPS-resultaten zijn afgerond op de dichtstbijzijnde duizend vanwege verschillen in FIO-rapportage tussen Windows Server 2025 en Ubuntu Server 24.04.4 LTS. Bandbreedte-, latentie- en CPU-gebruiksresultaten zijn consistent afgerond over beide platforms.
De cijfers liegen niet
Onze benchmarks maken duidelijk dat Ubuntu niet in elke categorie beter presteert dan Windows. Hoewel libaio en io_uring sterke doorvoer leverden in willekeurige lees tests, konden ze niet tippen aan de prestaties van Microsoft's native NVMe-stack. De Windows NT-kernel presteerde ongeveer 17% beter dan de Linux-kernel in onze 64K willekeurige lees tests, waarbij Windows native NVMe 91,165 GiB/s behaalde tegenover de beste van io_uring van 77,7 GiB/s.
Linux is echter niet zonder overwinningen. Ubuntu Server versloeg Windows Server nipt in één leesprestatiebenchmark: de sequentiële 128K test. Hier presteerde Linux's libaio het beste met 97,05 GiB/s, vergeleken met Windows' native NVMe met 92,562 GiB/s – een verschil van ongeveer 5%. Dit suggereert dat Linux een klein voordeel kan hebben bij het beheren van blokgroottes die groter zijn dan de indirection units van de schijven.
Willekeurige schrijfbandbreedte was consistent over beide besturingssystemen, met name in 64K benchmarks. De beste en slechtste resultaten in deze tests verschilden slechts 0,05%, wat aangeeft dat alle opslagstacks het volledige potentieel van de schijven konden benutten.
Interessant is dat de Linux 6.8 kernel de overwinning claimde in sequentiële schrijfbandbreedte tests voor 64K en 128K blokgroottes. Hoewel het verschil niet dramatisch was, presteerden de open-source opslagstacks ongeveer 2 GiB/s beter dan Windows Server's native NVMe in beide gevallen.
Latentie resultaten weerspiegelden over het algemeen de doorvoerprestaties, met name in willekeurige leesgemiddelden. Helaas voor Linux vertoonden libaio en io_uring hogere latentie, met het grootste verschil gezien in 64K willekeurige lezingen: Windows Server native NVMe had een gemiddelde latentie van 0,207 ms, vergeleken met 0,377 ms van libaio – een verschil van 0,17 ms.
Misschien wel de meest verrassende bevinding uit onze benchmarks is het significante verschil in CPU-gebruik tussen Windows Server 2025 en Ubuntu Server 24.04.4 LTS. In 3 van de 4 willekeurige en sequentiële lees benchmarks had Windows Server native NVMe het laagste CPU-gebruik. Het meest opvallende resultaat was in de sequentiële lees 128K test, waar Windows 27,34% minder CPU gebruikte dan Linux.
Libaio en io_uring presteerden iets beter in willekeurige en sequentiële schrijf tests, maar niet goed genoeg om te voorkomen dat Windows Server's native NVMe 3 van de 4 schrijf CPU-gebruik benchmarks won. Een opmerkelijke uitzondering was het CPU-gebruik van libaio tijdens de willekeurige schrijf 4K test, die 45,76% bereikte – veel hoger dan het ~20% CPU-gebruik dat bij andere opslagstacks werd gezien.
Winnaar Winnaar, CPU Diner
Onze resultaten laten zien dat Windows Server en Ubuntu Server nauwkeurig presteren in directe willekeurige en sequentiële prestatie tests over verschillende blokgroottes. Wat bandbreedte betreft, presteerde Windows Server 2025 met native NVMe over het algemeen beter dan Linux in de meeste lees tests, terwijl Linux iets betere resultaten leverde in schrijf tests. Latentie cijfers volgden een vergelijkbaar patroon, maar het opvallende voordeel was de CPU-efficiëntie van Windows Server 2025 bij gebruik van native NVMe.
Microsoft heeft duidelijk zwaar geïnvesteerd in het verfijnen van zijn nieuwste opslagstack, en hoewel het niet elke categorie wint tegen libaio en io_uring, biedt het een sterke concurrentie. Deze resultaten zijn niet definitief voor alle gebruiksscenario's en serverconfiguraties, maar ze bieden waardevolle inzichten voor serverbeheerders die beslissen of ze Windows of Linux willen implementeren wanneer opslagprestaties een topprioriteit zijn – boven OS-compatibiliteit.
Laat ons weten wat u van deze resultaten vindt door te reageren op onze sociale platforms of de SR Discord! Had u verwacht dat Windows Server zo goed zou presteren, of was u aan het juichen voor Linux? Zou u graag meer Linux-distributies of kernels getest willen zien? We staan altijd te popelen om uw feedback te ontvangen, en door lezers gevraagde tests zoals deze zijn vaak onze favorieten.
Beijing Qianxing Jietong Technology Co., Ltd.
Sandy Yang/Global Strategy Director
WhatsApp / WeChat: +86 13426366826
E-mail: yangyd@qianxingdata.com
Website: www.qianxingdata.com/www.storagesserver.com
Zakelijke focus:
ICT Productdistributie/Systeemintegratie & Diensten/Infrastructuuroplossingen
Met meer dan 20 jaar ervaring in IT-distributie werken we samen met toonaangevende wereldwijde merken om betrouwbare producten en professionele diensten te leveren.
Technologie gebruiken om een intelligente wereld te bouwen"Uw vertrouwde ICT Product Service Provider!
Sandy Yang/Global Strategy Director
WhatsApp / WeChat: +86 13426366826
E-mail: yangyd@qianxingdata.com
Website: www.qianxingdata.com/www.storagesserver.com
Zakelijke focus:
ICT Productdistributie/Systeemintegratie & Diensten/Infrastructuuroplossingen
Met meer dan 20 jaar ervaring in IT-distributie werken we samen met toonaangevende wereldwijde merken om betrouwbare producten en professionele diensten te leveren.
Technologie gebruiken om een intelligente wereld te bouwen"Uw vertrouwde ICT Product Service Provider!



