Après la publication de notre article sur la fonctionnalité NVMe native en option de Microsoft sur Windows Server 2025, nous avons reçu de nombreuses demandes pour une comparaison directe des performances de stockage entre Windows Server 2025 (avec prise en charge NVMe native) et un système d'exploitation serveur basé sur Linux. Un utilisateur de Reddit particulièrement enthousiaste nous a même offert une bière pour réaliser le test ! Face à une telle demande écrasante, nous n'avons eu d'autre choix que d'exécuter la même suite de benchmarks sous Linux pour fournir la comparaison directe que nos lecteurs souhaitaient.
Performances SSD NVMe de Windows Server 2025 vs Linux
Il y a bien longtemps, dans une version de système d'exploitation lointaine, très lointaine
Linux prend en charge le NVMe depuis la version 3.3 du noyau, sortie en mars 2012. De même, Windows Server offre une prise en charge NVMe (non native, via une traduction SCSI) depuis la sortie de 2012 R2, vers octobre 2013. Plus d'une décennie plus tard, le débat pour savoir si Windows ou Linux offre les meilleures performances de stockage fait toujours rage et nous ajoutons des données à la conversation avec nos résultats de benchmarks comparant les deux systèmes d'exploitation.
Comme nous disposions déjà de résultats de tests pour Windows Server 2025 utilisant des piles de stockage natives et non natives, nous avons décidé d'évaluer deux piles de stockage populaires sous Linux pour une comparaison équitable. Pour nos benchmarks FIO, nous avons utilisé libaio et io_uring, deux des API les plus utilisées pour les transactions de stockage. Bien que io_uring soit nettement plus récent et offre de nombreuses améliorations pour les E/S asynchrones, libaio reste un pilier en raison de sa flexibilité et de sa facilité d'utilisation (Didona, Pfefferle, Ioannou, Metzler, & Trivedi, 2022). Une analyse architecturale complète des deux piles dépasse le cadre de cet article, mais nous fournissons des résultats complets pour permettre une comparaison directe côte à côte.
Test du NVMe sur Ubuntu Server 24.04.4 LTS
Nous avons utilisé la même plateforme matérielle pour cette comparaison que dans notre article sur le NVMe natif de Windows Server 2025, afin d'assurer la cohérence et des comparaisons de performances précises. Le serveur est équipé de deux processeurs AMD EPYC 9754 à 128 cœurs, de 768 Go de mémoire DDR5 fonctionnant à 4800 MT/s et de quinze SSD NVMe Solidigm P5316 de 30,72 To (PCIe 4.0) configurés en mode JBOD.
Comme mentionné dans notre article précédent, le Solidigm P5316 a une taille d'unité d'indirection de 64 kilooctets, ce qui entraîne souvent des performances d'écriture inférieures aux attentes pour les tailles de blocs plus petites (tels que les tests 4K). Pour fournir une vue complète, nous avons effectué des tests avec des tailles de blocs de 4K, 64K et 128K, en mesurant les opérations de lecture et d'écriture sur toutes les configurations.
Nous avons sélectionné Ubuntu Server 24.04.4 LTS comme représentant Linux en raison de sa popularité généralisée et de son statut de support à long terme (LTS). Il est livré avec le noyau Linux 6.8 par défaut, et bien qu'il ne soit pas le plus récent disponible, cette version du noyau représente probablement une grande partie des installations de serveurs Linux réels dans le monde.
Points forts
-
Windows Server 2025 (NVMe natif) surpasse Ubuntu dans 3 des 4 benchmarks de performance en lecture
-
Windows a constamment affiché une utilisation du CPU plus faible pendant la plupart des tests
-
Ubuntu Server 24.04.4 LTS gagne dans 3 des 4 benchmarks de performance en écriture
Résultats des benchmarks
Performance de lecture aléatoire
|
Métrique
|
Windows Non-Natif
|
Windows Natif
|
Linux libaio
|
Linux io_uring
|
Windows Non-Natif
|
Windows Natif
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Taille du bloc
|
Aléatoire 4K
|
Aléatoire 64K
|
||||||
|
Bande passante (Gio/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
|
|
Latence moyenne (ms)
|
0.169
|
0.104
|
0.198
|
0.192
|
0.239
|
0.207
|
0.377
|
0.376
|
|
Utilisation totale du CPU (%)
|
72.67
|
74.22
|
99.77
|
99.76
|
68.44
|
65.11
|
83.16
|
84.72
|
Performance de lecture séquentielle
|
Métrique
|
Windows Non-Natif
|
Windows Natif
|
Linux libaio
|
Linux io_uring
|
Windows Non-Natif
|
Windows Natif
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Taille du bloc
|
Séquentiel 64K
|
Séquentiel 128K
|
||||||
|
Bande passante (Gio/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
|
|
Latence moyenne (ms)
|
0.809
|
0.812
|
0.919
|
0.932
|
0.613
|
0.608
|
0.603
|
0.604
|
|
Utilisation totale du CPU (%)
|
44.89
|
37.11
|
53.94
|
41.74
|
61.56
|
49.56
|
75.14
|
76.90
|
Performance d'écriture aléatoire
|
Métrique
|
Windows Non-Natif
|
Windows Natif
|
Linux libaio
|
Linux io_uring
|
Windows Non-Natif
|
Windows Natif
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Taille du bloc
|
Aléatoire 4K
|
Aléatoire 64K
|
||||||
|
Bande passante (Gio/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
|
|
Latence moyenne (ms)
|
0.992
|
1.028
|
0.974
|
1.007
|
3.814
|
3.816
|
3.827
|
3.828
|
|
Utilisation totale du CPU (%)
|
26.00
|
20.67
|
45.76
|
22.80
|
12.22
|
9.33
|
20.07
|
10.90
|
Performance d'écriture séquentielle
|
Métrique
|
Windows Non-Natif
|
Windows Natif
|
Linux libaio
|
Linux io_uring
|
Windows Non-Natif
|
Windows Natif
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Taille du bloc
|
Séquentiel 64K
|
Séquentiel 128K
|
||||||
|
Bande passante (Gio/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
|
|
Latence moyenne (ms)
|
0.399
|
0.558
|
0.560
|
0.560
|
1.022
|
1.149
|
1.126
|
1.125
|
|
Utilisation totale du CPU (%)
|
70.44
|
57.78
|
61.88
|
62.75
|
58.44
|
47.33
|
61.49
|
44.27
|
Remarque : Nos résultats IOPS sous Linux sont arrondis au millier le plus proche en raison des différences de rapport FIO entre Windows Server 2025 et Ubuntu Server 24.04.4 LTS. Les résultats de bande passante, de latence et d'utilisation du CPU sont arrondis de manière cohérente sur les deux plateformes.
Les chiffres ne mentent pas
Nos benchmarks montrent clairement qu'Ubuntu ne surpasse pas Windows dans toutes les catégories. Bien que libaio et io_uring aient fourni un débit élevé dans les tests de lecture aléatoire, ils n'ont pas pu égaler les performances de la pile NVMe native de Microsoft. Le noyau NT de Windows a surpassé le noyau Linux d'environ 17 % dans nos tests de lecture aléatoire 64K, avec le NVMe natif de Windows atteignant 91,165 Gio/s contre 77,7 Gio/s pour io_uring.
Cependant, Linux n'est pas sans victoires. Ubuntu Server a devancé de peu Windows Server dans un benchmark de performance en lecture : le test séquentiel 128K. Ici, le libaio de Linux a obtenu les meilleures performances avec 97,05 Gio/s, contre 92,562 Gio/s pour le NVMe natif de Windows, soit une différence d'environ 5 %. Cela suggère que Linux pourrait avoir un léger avantage dans la gestion des tailles de blocs supérieures aux unités d'indirection des disques.
La bande passante d'écriture aléatoire était cohérente entre les deux systèmes d'exploitation, en particulier dans les benchmarks 64K. Les meilleurs et les pires résultats dans ces tests différaient de seulement 0,05 %, indiquant que toutes les piles de stockage étaient capables d'utiliser pleinement le potentiel des disques.
Fait intéressant, le noyau Linux 6.8 a remporté les tests de bande passante d'écriture séquentielle pour les tailles de blocs 64K et 128K. Bien que la différence ne soit pas spectaculaire, les piles de stockage open source ont surpassé le NVMe natif de Windows Server d'environ 2 Gio/s dans les deux cas.
Les résultats de latence ont généralement reflété les performances de débit, notamment dans les moyennes de lecture aléatoire. Malheureusement pour Linux, libaio et io_uring ont présenté une latence plus élevée, l'écart le plus important étant observé dans les lectures aléatoires 64K : le NVMe natif de Windows Server avait une latence moyenne de 0,207 ms, contre 0,377 ms pour libaio, soit une différence de 0,17 ms.
La découverte la plus surprenante de nos benchmarks est peut-être la différence significative d'utilisation du CPU entre Windows Server 2025 et Ubuntu Server 24.04.4 LTS. Dans 3 des 4 benchmarks de lecture aléatoire et séquentielle, le NVMe natif de Windows Server a eu la plus faible utilisation du CPU. Le résultat le plus frappant a été dans le test de lecture séquentielle 128K, où Windows a utilisé 27,34 % de CPU en moins que Linux.
Libaio et io_uring ont obtenu des résultats légèrement meilleurs dans les tests d'écriture aléatoire et séquentielle, mais pas suffisamment pour empêcher le NVMe natif de Windows Server de remporter 3 des 4 benchmarks d'utilisation du CPU en écriture. Une exception notable a été l'utilisation du CPU par libaio lors du test d'écriture aléatoire 4K, qui a atteint 45,76 %, bien plus que les ~20 % d'utilisation du CPU observés avec d'autres piles de stockage.
Gagnant, gagnant, dîner CPU
Nos résultats montrent que Windows Server et Ubuntu Server obtiennent des performances similaires dans les tests de performance aléatoire et séquentielle côte à côte sur différentes tailles de blocs. En termes de bande passante, Windows Server 2025 avec NVMe natif a généralement surpassé Linux dans la plupart des tests de lecture, tandis que Linux a fourni des résultats légèrement meilleurs dans les tests d'écriture. Les chiffres de latence ont suivi un schéma similaire, mais l'avantage le plus marquant a été l'efficacité du CPU de Windows Server 2025 lors de l'utilisation du NVMe natif.
Microsoft a clairement investi massivement dans le perfectionnement de sa nouvelle pile de stockage, et bien qu'elle ne gagne pas dans toutes les catégories contre libaio et io_uring, elle offre une forte concurrence. Ces résultats ne sont pas définitifs pour tous les cas d'utilisation et configurations de serveurs, mais ils fournissent des informations précieuses aux administrateurs de serveurs qui décident de déployer Windows ou Linux lorsque les performances de stockage sont une priorité absolue, au-dessus de la compatibilité du système d'exploitation.
Faites-nous savoir ce que vous pensez de ces résultats en commentant sur nos plateformes sociales ou sur le Discord SR ! Vous attendiez-vous à ce que Windows Server obtienne de si bons résultats, ou étiez-vous partisan de Linux ? Souhaitez-vous voir d'autres distributions ou noyaux Linux testés ? Nous sommes toujours désireux de recevoir vos commentaires, et les tests demandés par les lecteurs comme celui-ci sont souvent nos préférés.
Beijing Qianxing Jietong Technology Co., Ltd.
Sandy Yang/Directeur de la stratégie mondiale
WhatsApp / WeChat : +86 13426366826
E-mail : yangyd@qianxingdata.com
Site Web : www.qianxingdata.com/www.storagesserver.com
Focus commercial :
Distribution de produits TIC / Intégration de systèmes et services / Solutions d'infrastructure
Avec plus de 20 ans d'expérience dans la distribution informatique, nous nous associons à des marques mondiales leaders pour fournir des produits fiables et des services professionnels.
« Utiliser la technologie pour construire un monde intelligent » Votre fournisseur de services de produits TIC de confiance !
Sandy Yang/Directeur de la stratégie mondiale
WhatsApp / WeChat : +86 13426366826
E-mail : yangyd@qianxingdata.com
Site Web : www.qianxingdata.com/www.storagesserver.com
Focus commercial :
Distribution de produits TIC / Intégration de systèmes et services / Solutions d'infrastructure
Avec plus de 20 ans d'expérience dans la distribution informatique, nous nous associons à des marques mondiales leaders pour fournir des produits fiables et des services professionnels.
« Utiliser la technologie pour construire un monde intelligent » Votre fournisseur de services de produits TIC de confiance !



