Microsoft의 Windows Server 2025 네이티브 NVMe 기능에 대한 기사를 게시한 후, Windows Server 2025(네이티브 NVMe 지원 포함)와 Linux 기반 서버 OS 간의 직접적인 스토리지 성능 비교에 대한 수많은 요청을 받았습니다. 특히 열정적인 한 Reddit 사용자는 테스트를 수행하기 위해 맥주까지 제안했습니다! 이러한 압도적인 수요에 힘입어 독자들이 원했던 헤드 투 헤드 비교를 제공하기 위해 Linux에서도 동일한 벤치마크 스위트를 실행할 수밖에 없었습니다.
Windows Server 2025 NVMe 대 Linux 성능 SSD
아주 먼 옛날, 아주 먼 OS 버전에서
Linux는 2012년 3월에 출시된 커널 버전 3.3부터 NVMe를 지원해 왔습니다. 마찬가지로 Windows Server는 2013년 10월경 출시된 2012 R2 릴리스부터 NVMe 지원(비 네이티브, SCSI 변환을 통해)을 제공해 왔습니다. 10년 이상이 지난 지금도 Windows와 Linux 중 어느 쪽이 더 나은 스토리지 성능을 제공하는지에 대한 논쟁은 계속되고 있으며, 저희는 두 운영 체제를 비교하는 벤치마크 결과를 통해 이 대화에 더 많은 데이터를 추가하고 있습니다.
Windows Server 2025에서 비 네이티브 및 네이티브 스토리지 스택을 모두 사용한 테스트 결과를 이미 가지고 있었기 때문에, 공정한 비교를 위해 Linux에서 두 가지 인기 있는 스토리지 스택을 평가하기로 결정했습니다. FIO 벤치마크의 경우, 스토리지 트랜잭션에 가장 널리 사용되는 API인 libaio와 io_uring을 사용했습니다. io_uring은 비동기 I/O에 대한 수많은 개선 사항을 제공하는 훨씬 최신 API이지만, libaio는 유연성과 사용 편의성으로 인해 여전히 필수적입니다(Didona, Pfefferle, Ioannou, Metzler, & Trivedi, 2022). 두 스택의 전체 아키텍처 분석은 이 기사의 범위를 벗어나지만, 직접적인 비교를 가능하게 하는 포괄적인 결과를 제공합니다.
Ubuntu Server 24.04.4 LTS에서 NVMe 테스트
Windows Server 2025 네이티브 NVMe 기사와 동일한 하드웨어 플랫폼을 사용하여 일관성과 정확한 성능 비교를 보장했습니다. 이 서버는 128코어 AMD EPYC 9754 CPU 2개, 4800 MT/s에서 실행되는 768GB DDR5 메모리, JBOD 모드로 구성된 15개의 30.72TB Solidigm P5316 NVMe SSD(PCIe 4.0)를 갖추고 있습니다.
이전 기사에서 언급했듯이 Solidigm P5316은 64킬로바이트의 간접 단위 크기를 가지고 있어, 종종 작은 블록 크기(예: 4K 테스트)에 대해 예상보다 낮은 쓰기 성능을 초래합니다. 포괄적인 관점을 제공하기 위해 4K, 64K, 128K의 블록 크기로 테스트를 실행했으며, 모든 구성에서 읽기 및 쓰기 작업을 측정했습니다.
널리 보급되고 장기 지원(LTS) 상태인 Ubuntu Server 24.04.4 LTS를 Linux 대표로 선정했습니다. 기본적으로 Linux 커널 6.8이 포함되어 있으며, 최신 버전은 아니지만 이 커널 버전은 전 세계 실제 Linux 서버 설치의 상당 부분을 차지할 가능성이 높습니다.
주요 내용
-
Windows Server 2025(네이티브 NVMe)는 4가지 읽기 성능 벤치마크 중 3가지에서 Ubuntu를 능가합니다.
-
Windows는 대부분의 테스트에서 일관되게 낮은 CPU 사용량을 보였습니다.
-
Ubuntu Server 24.04.4 LTS는 4가지 쓰기 성능 벤치마크 중 3가지에서 승리합니다.
벤치마크 결과
랜덤 읽기 성능
|
측정 항목
|
Windows 비 네이티브
|
Windows 네이티브
|
Linux libaio
|
Linux io_uring
|
Windows 비 네이티브
|
Windows 네이티브
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
블록 크기
|
랜덤 4K
|
랜덤 64K
|
||||||
|
대역폭(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
|
|
평균 지연 시간(ms)
|
0.169
|
0.104
|
0.198
|
0.192
|
0.239
|
0.207
|
0.377
|
0.376
|
|
총 CPU 사용량(%)
|
72.67
|
74.22
|
99.77
|
99.76
|
68.44
|
65.11
|
83.16
|
84.72
|
순차 읽기 성능
|
측정 항목
|
Windows 비 네이티브
|
Windows 네이티브
|
Linux libaio
|
Linux io_uring
|
Windows 비 네이티브
|
Windows 네이티브
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
블록 크기
|
순차 64K
|
순차 128K
|
||||||
|
대역폭(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
|
|
평균 지연 시간(ms)
|
0.809
|
0.812
|
0.919
|
0.932
|
0.613
|
0.608
|
0.603
|
0.604
|
|
총 CPU 사용량(%)
|
44.89
|
37.11
|
53.94
|
41.74
|
61.56
|
49.56
|
75.14
|
76.90
|
랜덤 쓰기 성능
|
측정 항목
|
Windows 비 네이티브
|
Windows 네이티브
|
Linux libaio
|
Linux io_uring
|
Windows 비 네이티브
|
Windows 네이티브
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
블록 크기
|
랜덤 4K
|
랜덤 64K
|
||||||
|
대역폭(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
|
|
평균 지연 시간(ms)
|
0.992
|
1.028
|
0.974
|
1.007
|
3.814
|
3.816
|
3.827
|
3.828
|
|
총 CPU 사용량(%)
|
26.00
|
20.67
|
45.76
|
22.80
|
12.22
|
9.33
|
20.07
|
10.90
|
순차 쓰기 성능
|
측정 항목
|
Windows 비 네이티브
|
Windows 네이티브
|
Linux libaio
|
Linux io_uring
|
Windows 비 네이티브
|
Windows 네이티브
|
Linux libaio
|
Linux io_uring
|
|---|---|---|---|---|---|---|---|---|
|
블록 크기
|
순차 64K
|
순차 128K
|
||||||
|
대역폭(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
|
|
평균 지연 시간(ms)
|
0.399
|
0.558
|
0.560
|
0.560
|
1.022
|
1.149
|
1.126
|
1.125
|
|
총 CPU 사용량(%)
|
70.44
|
57.78
|
61.88
|
62.75
|
58.44
|
47.33
|
61.49
|
44.27
|
참고: Windows Server 2025와 Ubuntu Server 24.04.4 LTS 간의 FIO 보고 차이로 인해 Linux IOPS 결과는 천 단위로 반올림되었습니다. 대역폭, 지연 시간 및 CPU 사용량 결과는 두 플랫폼 모두에서 일관되게 반올림되었습니다.
숫자는 거짓말을 하지 않습니다
저희의 벤치마크는 Ubuntu가 모든 범주에서 Windows를 능가하지 못한다는 것을 분명히 보여줍니다. libaio와 io_uring은 랜덤 읽기 테스트에서 높은 처리량을 제공했지만, Microsoft의 네이티브 NVMe 스택의 성능을 따라잡지 못했습니다. Windows NT 커널은 랜덤 읽기 64K 테스트에서 Linux 커널보다 약 17% 더 나은 성능을 보였으며, Windows 네이티브 NVMe는 91.165 GiB/s를 달성한 반면 io_uring은 최대 77.7 GiB/s였습니다.
하지만 Linux가 승리하지 못한 것은 아닙니다. Ubuntu Server는 하나의 읽기 성능 벤치마크, 즉 순차 128K 테스트에서 Windows Server를 근소하게 앞섰습니다. 여기서 Linux의 libaio는 97.05 GiB/s로 가장 좋은 성능을 보였으며, Windows의 네이티브 NVMe는 92.562 GiB/s로 약 5%의 차이를 보였습니다. 이는 Linux가 드라이브의 간접 단위보다 큰 블록 크기를 관리할 때 약간의 이점을 가질 수 있음을 시사합니다.
랜덤 쓰기 대역폭은 두 운영 체제 모두에서 일관되었으며, 특히 64K 벤치마크에서 그러했습니다. 이러한 테스트에서 가장 좋은 결과와 가장 나쁜 결과의 차이는 0.05%에 불과했으며, 이는 모든 스토리지 스택이 드라이브의 잠재력을 완전히 활용할 수 있었음을 나타냅니다.
흥미롭게도 Linux 6.8 커널은 64K 및 128K 블록 크기의 순차 쓰기 대역폭 테스트에서 승리를 거머쥐었습니다. 큰 차이는 아니었지만, 오픈 소스 스토리지 스택은 두 경우 모두 Windows Server의 네이티브 NVMe보다 약 2GiB/s 더 나은 성능을 보였습니다.
지연 시간 결과는 일반적으로 처리량 성능을 반영했으며, 특히 랜덤 읽기 평균에서 그러했습니다. 안타깝게도 Linux의 경우 libaio와 io_uring은 더 높은 지연 시간을 보였으며, 64K 랜덤 읽기에서 가장 큰 격차가 나타났습니다. Windows Server 네이티브 NVMe는 평균 지연 시간이 0.207ms였던 반면 libaio는 0.377ms로 0.17ms의 차이를 보였습니다.
아마도 저희 벤치마크에서 가장 놀라운 발견은 Windows Server 2025와 Ubuntu Server 24.04.4 LTS 간의 CPU 사용량의 상당한 차이일 것입니다. 4가지 랜덤 및 순차 읽기 벤치마크 중 3가지에서 Windows Server 네이티브 NVMe가 가장 낮은 CPU 사용량을 보였습니다. 가장 눈에 띄는 결과는 순차 읽기 128K 테스트로, Windows는 Linux보다 CPU를 27.34% 적게 사용했습니다.
Libaio와 io_uring은 랜덤 및 순차 쓰기 테스트에서 약간 더 나은 성능을 보였지만, Windows Server의 네이티브 NVMe가 4가지 쓰기 CPU 사용량 벤치마크 중 3가지에서 승리하는 것을 막기에는 충분하지 않았습니다. 주목할 만한 예외는 랜덤 쓰기 4K 테스트 중 libaio의 CPU 사용량으로, 45.76%에 달했으며 이는 다른 스토리지 스택에서 보이는 약 20%의 CPU 사용량보다 훨씬 높았습니다.
승자 승자, CPU 만찬
저희 결과에 따르면 Windows Server와 Ubuntu Server는 다양한 블록 크기에 걸쳐 헤드 투 헤드 랜덤 및 순차 성능 테스트에서 근접한 성능을 보입니다. 대역폭 측면에서 네이티브 NVMe를 사용하는 Windows Server 2025는 대부분의 읽기 테스트에서 일반적으로 Linux를 능가했으며, 쓰기 테스트에서는 Linux가 약간 더 나은 결과를 제공했습니다. 지연 시간 수치는 유사한 패턴을 따랐지만, 눈에 띄는 이점은 네이티브 NVMe를 사용할 때 Windows Server 2025의 CPU 효율성이었습니다.
Microsoft는 분명히 최신 스토리지 스택을 개선하는 데 많은 투자를 했으며, libaio 및 io_uring과의 모든 범주에서 승리하지는 않지만 강력한 경쟁력을 보여줍니다. 이러한 결과는 모든 사용 사례 및 서버 구성에 대해 결정적인 것은 아니지만, 스토리지 성능이 OS 호환성보다 우선하는 최우선 순위인 경우 Windows 또는 Linux를 배포할지 여부를 결정하는 서버 관리자에게 귀중한 통찰력을 제공합니다.
소셜 플랫폼 또는 SR Discord에 댓글을 달아 이러한 결과에 대한 여러분의 생각을 알려주세요! Windows Server가 이렇게 잘 수행할 것으로 예상하셨나요, 아니면 Linux를 응원하셨나요? 더 많은 Linux 배포판이나 커널을 테스트해 보시겠습니까? 저희는 항상 여러분의 피드백을 기다리고 있으며, 이와 같은 독자 요청 테스트는 종종 저희가 가장 좋아하는 테스트입니다.
베이징 첸싱 지에통 기술 유한 회사
샌디 양/글로벌 전략 이사
WhatsApp / WeChat: +86 13426366826
이메일: yangyd@qianxingdata.com
웹사이트: www.qianxingdata.com/www.storagesserver.com
사업 초점:
ICT 제품 유통/시스템 통합 및 서비스/인프라 솔루션
20년 이상의 IT 유통 경험을 바탕으로 선도적인 글로벌 브랜드와 협력하여 신뢰할 수 있는 제품과 전문 서비스를 제공합니다.
기술을 통해 지능형 세상을 구축하십시오! 귀하의 신뢰할 수 있는 ICT 제품 서비스 제공업체!
샌디 양/글로벌 전략 이사
WhatsApp / WeChat: +86 13426366826
이메일: yangyd@qianxingdata.com
웹사이트: www.qianxingdata.com/www.storagesserver.com
사업 초점:
ICT 제품 유통/시스템 통합 및 서비스/인프라 솔루션
20년 이상의 IT 유통 경험을 바탕으로 선도적인 글로벌 브랜드와 협력하여 신뢰할 수 있는 제품과 전문 서비스를 제공합니다.
기술을 통해 지능형 세상을 구축하십시오! 귀하의 신뢰할 수 있는 ICT 제품 서비스 제공업체!



