Após a publicação do nosso artigo sobre o recurso NVMe nativo opcional da Microsoft no Windows Server 2025, recebemos inúmeras solicitações para uma comparação direta de desempenho de armazenamento entre o Windows Server 2025 (com suporte NVMe nativo) e um sistema operacional de servidor baseado em Linux. Um usuário particularmente entusiasmado do Reddit até nos ofereceu cerveja para realizar o teste! Com uma demanda tão avassaladora, não tivemos escolha a não ser executar o mesmo conjunto de benchmarks no Linux para entregar a comparação direta que nossos leitores queriam.
Desempenho de SSDs NVMe do Windows Server 2025 vs Linux
Há Muito Tempo, em uma Versão de SO Distante, Distante
O Linux suporta NVMe desde a versão 3.3 do kernel, lançada em março de 2012. Da mesma forma, o Windows Server oferece suporte NVMe (não nativo, via tradução SCSI) desde o lançamento do 2012 R2, por volta de outubro de 2013. Mais de uma década depois, o debate sobre se o Windows ou o Linux oferece melhor desempenho de armazenamento ainda continua — e estamos adicionando mais dados à conversa com os resultados de nossos benchmarks comparando os dois sistemas operacionais.
Como já tínhamos resultados de testes para o Windows Server 2025 usando pilhas de armazenamento não nativas e nativas, decidimos avaliar duas pilhas de armazenamento populares no Linux para uma comparação justa. Para nossos benchmarks FIO, usamos libaio e io_uring — duas das APIs mais usadas para transações de armazenamento. Embora io_uring seja significativamente mais novo e ofereça inúmeras melhorias para E/S assíncrona, libaio continua sendo um pilar devido à sua flexibilidade e facilidade de uso (Didona, Pfefferle, Ioannou, Metzler, & Trivedi, 2022). Uma análise arquitetônica completa de ambas as pilhas está além do escopo deste artigo, mas estamos fornecendo resultados abrangentes para permitir uma comparação direta lado a lado.
Testando NVMe no Ubuntu Server 24.04.4 LTS
Utilizamos a mesma plataforma de hardware para esta comparação que em nosso artigo sobre NVMe nativo do Windows Server 2025, garantindo consistência e comparações de desempenho precisas. O servidor está equipado com duas CPUs AMD EPYC 9754 de 128 núcleos, 768 GB de memória DDR5 rodando a 4800 MT/s e quinze SSDs NVMe Solidigm P5316 de 30,72 TB (PCIe 4.0) configurados em modo JBOD.
Como observado em nosso artigo anterior, o Solidigm P5316 possui um tamanho de unidade de indireção de 64 quilobytes, o que geralmente resulta em desempenho de gravação inferior ao esperado para tamanhos de bloco menores (como testes de 4K). Para fornecer uma visão abrangente, executamos testes com tamanhos de bloco de 4K, 64K e 128K, medindo operações de leitura e gravação em todas as configurações.
Selecionamos o Ubuntu Server 24.04.4 LTS como nosso representante Linux devido à sua popularidade generalizada e status de suporte de longo prazo (LTS). Ele vem com o kernel Linux 6.8 por padrão — embora não seja o mais novo disponível, esta versão do kernel provavelmente representa uma grande parte das instalações de servidores Linux no mundo real globalmente.
Destaques
-
O Windows Server 2025 (NVMe nativo) supera o Ubuntu em 3 de 4 benchmarks de desempenho de leitura
-
O Windows Server consistentemente apresentou menor uso de CPU durante a maioria dos testes
-
O Ubuntu Server 24.04.4 LTS vence em 3 de 4 benchmarks de desempenho de gravação
Resultados do Benchmark
Desempenho de Leitura Aleatória
|
Métrica
|
Windows Não Nativo
|
Windows Nativo
|
Linux libaio
|
Linux io_uring
|
Windows Não Nativo
|
Windows Nativo
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Tamanho do Bloco
|
Aleatório 4K
|
Aleatório 64K
|
||||||
|
Largura de Banda (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
|
|
Latência Média (ms)
|
0.169
|
0.104
|
0.198
|
0.192
|
0.239
|
0.207
|
0.377
|
0.376
|
|
Uso Total de CPU (%)
|
72.67
|
74.22
|
99.77
|
99.76
|
68.44
|
65.11
|
83.16
|
84.72
|
Desempenho de Leitura Sequencial
|
Métrica
|
Windows Não Nativo
|
Windows Nativo
|
Linux libaio
|
Linux io_uring
|
Windows Não Nativo
|
Windows Nativo
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Tamanho do Bloco
|
Sequencial 64K
|
Sequencial 128K
|
||||||
|
Largura de Banda (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
|
|
Latência Média (ms)
|
0.809
|
0.812
|
0.919
|
0.932
|
0.613
|
0.608
|
0.603
|
0.604
|
|
Uso Total de CPU (%)
|
44.89
|
37.11
|
53.94
|
41.74
|
61.56
|
49.56
|
75.14
|
76.90
|
Desempenho de Gravação Aleatória
|
Métrica
|
Windows Não Nativo
|
Windows Nativo
|
Linux libaio
|
Linux io_uring
|
Windows Não Nativo
|
Windows Nativo
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Tamanho do Bloco
|
Aleatório 4K
|
Aleatório 64K
|
||||||
|
Largura de Banda (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
|
|
Latência Média (ms)
|
0.992
|
1.028
|
0.974
|
1.007
|
3.814
|
3.816
|
3.827
|
3.828
|
|
Uso Total de CPU (%)
|
26.00
|
20.67
|
45.76
|
22.80
|
12.22
|
9.33
|
20.07
|
10.90
|
Desempenho de Gravação Sequencial
|
Métrica
|
Windows Não Nativo
|
Windows Nativo
|
Linux libaio
|
Linux io_uring
|
Windows Não Nativo
|
Windows Nativo
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
Tamanho do Bloco
|
Sequencial 64K
|
Sequencial 128K
|
||||||
|
Largura de Banda (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
|
|
Latência Média (ms)
|
0.399
|
0.558
|
0.560
|
0.560
|
1.022
|
1.149
|
1.126
|
1.125
|
|
Uso Total de CPU (%)
|
70.44
|
57.78
|
61.88
|
62.75
|
58.44
|
47.33
|
61.49
|
44.27
|
Nota: Nossos resultados de IOPS do Linux são arredondados para o milhar mais próximo devido a diferenças na geração de relatórios do FIO entre o Windows Server 2025 e o Ubuntu Server 24.04.4 LTS. Os resultados de largura de banda, latência e uso de CPU são arredondados de forma consistente em ambas as plataformas.
Os Números Não Mentem
Nossos benchmarks deixam claro que o Ubuntu não supera o Windows em todas as categorias. Embora libaio e io_uring tenham apresentado forte vazão em testes de leitura aleatória, eles não conseguiram igualar o desempenho da pilha NVMe nativa da Microsoft. O kernel do Windows NT superou o kernel do Linux em aproximadamente 17% em nossos testes de leitura aleatória de 64K, com o NVMe nativo do Windows atingindo 91,165 GiB/s em comparação com o melhor do io_uring de 77,7 GiB/s.
No entanto, o Linux não está sem suas vitórias. O Ubuntu Server superou ligeiramente o Windows Server em um benchmark de desempenho de leitura: o teste sequencial de 128K. Aqui, o libaio do Linux apresentou o melhor desempenho com 97,05 GiB/s, em comparação com o NVMe nativo do Windows com 92,562 GiB/s — uma diferença de cerca de 5%. Isso sugere que o Linux pode ter uma ligeira vantagem ao gerenciar tamanhos de bloco maiores que as unidades de indireção dos drives.
A largura de banda de gravação aleatória foi consistente em ambos os sistemas operacionais, particularmente em benchmarks de 64K. Os melhores e piores resultados nesses testes diferiram em apenas 0,05%, indicando que todas as pilhas de armazenamento foram capazes de utilizar totalmente o potencial dos drives.
Curiosamente, o kernel Linux 6.8 reivindicou a vitória em testes de largura de banda de gravação sequencial para tamanhos de bloco de 64K e 128K. Embora a diferença não tenha sido dramática, as pilhas de armazenamento de código aberto superaram o NVMe nativo do Windows Server em aproximadamente 2 GiB/s em ambos os casos.
Os resultados de latência geralmente espelharam o desempenho de vazão, mais notavelmente nas médias de leitura aleatória. Infelizmente para o Linux, libaio e io_uring apresentaram latência mais alta, com a maior lacuna vista em leituras aleatórias de 64K: o NVMe nativo do Windows Server teve uma latência média de 0,207 ms, em comparação com 0,377 ms do libaio — uma diferença de 0,17 ms.
Talvez a descoberta mais surpreendente de nossos benchmarks seja a diferença significativa no uso da CPU entre o Windows Server 2025 e o Ubuntu Server 24.04.4 LTS. Em 3 de 4 benchmarks de leitura aleatória e sequencial, o NVMe nativo do Windows Server teve o menor uso de CPU. O resultado mais impressionante foi no teste de leitura sequencial de 128K, onde o Windows usou 27,34% menos CPU do que o Linux.
Libaio e io_uring apresentaram desempenho ligeiramente melhor em testes de gravação aleatória e sequencial, mas não o suficiente para impedir que o NVMe nativo do Windows Server ganhasse 3 de 4 benchmarks de uso de CPU de gravação. Uma exceção notável foi o uso de CPU do libaio durante o teste de gravação aleatória de 4K, que atingiu 45,76% — muito mais alto do que o uso de CPU de ~20% visto com outras pilhas de armazenamento.
Vencedor, Vencedor, Jantar de CPU
Nossos resultados mostram que o Windows Server e o Ubuntu Server têm desempenho semelhante em testes de desempenho aleatório e sequencial lado a lado em diferentes tamanhos de bloco. Em termos de largura de banda, o Windows Server 2025 com NVMe nativo geralmente superou o Linux na maioria dos testes de leitura, enquanto o Linux entregou resultados ligeiramente melhores em testes de gravação. Os números de latência seguiram um padrão semelhante, mas a vantagem notável foi a eficiência de CPU do Windows Server 2025 ao usar NVMe nativo.
A Microsoft claramente investiu pesadamente no refinamento de sua pilha de armazenamento mais recente e, embora não ganhe em todas as categorias contra libaio e io_uring, ela oferece uma forte concorrência. Esses resultados não são definitivos para todos os casos de uso e configurações de servidor, mas fornecem insights valiosos para administradores de servidor que decidem se devem implantar Windows ou Linux quando o desempenho de armazenamento é uma prioridade máxima — acima da compatibilidade do SO.
Deixe-nos saber o que você pensa sobre esses resultados comentando em nossas plataformas sociais ou no SR Discord! Você esperava que o Windows Server tivesse um desempenho tão bom, ou estava torcendo pelo Linux? Você gostaria de ver mais distribuições ou kernels Linux testados? Estamos sempre ansiosos por seu feedback, e testes solicitados pelos leitores como este são frequentemente nossos favoritos.
Beijing Qianxing Jietong Technology Co., Ltd.
Sandy Yang/Diretor de Estratégia Global
WhatsApp / WeChat: +86 13426366826
E-mail: yangyd@qianxingdata.com
Website: www.qianxingdata.com/www.storagesserver.com
Foco de Negócios:
Distribuição de Produtos de TIC/Integração de Sistemas e Serviços/Soluções de Infraestrutura
Com mais de 20 anos de experiência em distribuição de TI, fazemos parceria com as principais marcas globais para fornecer produtos confiáveis e serviços profissionais.
“Usando a Tecnologia para Construir um Mundo Inteligente” Seu Provedor Confiável de Serviços de Produtos de TIC!
Sandy Yang/Diretor de Estratégia Global
WhatsApp / WeChat: +86 13426366826
E-mail: yangyd@qianxingdata.com
Website: www.qianxingdata.com/www.storagesserver.com
Foco de Negócios:
Distribuição de Produtos de TIC/Integração de Sistemas e Serviços/Soluções de Infraestrutura
Com mais de 20 anos de experiência em distribuição de TI, fazemos parceria com as principais marcas globais para fornecer produtos confiáveis e serviços profissionais.
“Usando a Tecnologia para Construir um Mundo Inteligente” Seu Provedor Confiável de Serviços de Produtos de TIC!



