---
description: Benchmarking Windows Server 2025 native NVMe vs. Ubuntu Server 24.04 LTS with libaio and io_uring across key workloads.
title: "NVMe Performance Compared: Windows Server 2025 vs. Ubuntu Server 24.04.4 LTS"
image: https://www.storagereview.com/wp-content/uploads/2026/04/StorageReview-NVMe-Windows-Linux-2.jpg
---

[![Storage Review]()](https://storagereview.com/)

---

[Facebook](https://www.facebook.com/@storagereview) [X (Twitter)](https://twitter.twitter.com/storagereview) [Instagram](https://www.instagram.com/storagereview/) [LinkedIn](https://www.linkedin.com/company/storagereview-com) [YouTube](https://www.youtube.com/user/storagereview?sub_confirmation=1) [Email](mailto:info@storagereview.com) [Spotify](https://open.spotify.com/show/1y6VnznABhHeOSMOmbDTz0) [Reddit](https://www.reddit.com/r/StorageReview/) [Discord](https://discord.gg/TwMHb4azdC) [RSS Feed](https://www.storagereview.com/rss.xml) [TikTok](https://www.tiktok.com/@storagereview)

[Facebook](https://www.facebook.com/@storagereview) [X (Twitter)](https://twitter.com/storagereview) [Instagram](https://www.instagram.com/storagereview/) [LinkedIn](https://www.linkedin.com/company/storagereview-com) [YouTube](https://www.youtube.com/user/storagereview?sub_confirmation=1) [Email](mailto:info@storagereview.com) [Spotify](https://open.spotify.com/show/1y6VnznABhHeOSMOmbDTz0) [Reddit](https://www.reddit.com/r/StorageReview/) [Discord](https://discord.gg/TwMHb4azdC) [RSS Feed](https://www.storagereview.com/rss.xml) [TikTok](https://www.tiktok.com/@storagereview)

[![StorageReview.com]()](https://www.storagereview.com)

≡ Menu

- [Home](https://www.storagereview.com/)
- [Storage Reviews](https://www.storagereview.com/review)
  - [End User Reviews](https://www.storagereview.com/consumer)
  - [Enterprise Reviews](https://www.storagereview.com/enterprise)
  - [Ubiquiti Reviews](https://www.storagereview.com/best/ubiquiti-reviews)
- [SR Merch](https://store.storagereview.com)
- [Leaderboards](https://www.storagereview.com/best)
  - [Best Storage Arrays](https://www.storagereview.com/best/storage-arrays)
  - [Best Enterprise SSDs](https://www.storagereview.com/best/enterprise-ssds)
  - [Best Servers](https://www.storagereview.com/best/servers)
  - [Best Enterprise GPUs](https://www.storagereview.com/best/enterprise-gpus)
  - [Best Desktops for Local AI](https://www.storagereview.com/best/desktops-local-ai)
  - [Best Laptops for Local AI](https://www.storagereview.com/best/laptops-local-ai)
  - [Best Local LLM Tools](https://www.storagereview.com/best/local-llm-tools)
  - [Agentic AI Hardware](https://www.storagereview.com/best/agentic-ai-hardware)
  - [Best SSDs & Hard Drives](https://www.storagereview.com/best_drives)
  - [Best Portable SSDs](https://www.storagereview.com/best/portable-ssds)
  - [Best Business Laptops](https://www.storagereview.com/best/business-laptops)
  - [Best Mobile Workstations](https://www.storagereview.com/best/mobile-workstations)
  - [Best Desktop Workstations](https://www.storagereview.com/best/desktop-workstations)
  - [Best Mini PCs](https://www.storagereview.com/best/mini-pcs)
  - [Best Laptop Battery Life](https://www.storagereview.com/best/laptop-battery-life)
- [Storage Reference Guide](https://www.storagereview.com/storage-reference-guide)
- [About SR](https://www.storagereview.com/about-storagereview)
  - [StorageReview.com Sweepstakes Rules and Regulations](https://www.storagereview.com/storagereview-com-sweepstakes-rules-and-regulations)

Search

[Home](https://www.storagereview.com/) » [Review](https://www.storagereview.com/review) » NVMe Performance Compared: Windows Server 2025 vs. Ubuntu Server 24.04.4 LTS

# NVMe Performance Compared: Windows Server 2025 vs. Ubuntu Server 24.04.4 LTS

by Andrew Waag on April 3, 2026

[Enterprise](https://www.storagereview.com/enterprise)  ◇  [Software](https://www.storagereview.com/enterprise/software)

After publishing our article about Microsoft’s opt-in  [native NVMe feature on Windows Server 2025](https://www.storagereview.com/review/windows-server-native-nvme), we received multiple requests for a direct comparison of storage performance between Windows Server 2025 with native NVMe and a Linux-based server OS. One especially enthusiastic Redditor even  [offered us beer](https://www.reddit.com/r/storage/comments/1rmc18k/comment/o8y9zro/) to do it! Since there were *obviously* no other reasonable options, we decided to run the same tests on Linux.

![Windows Server 2025 NVMe vs Linux performance ssds]()

## A Long Time Ago, in an OS Version Far, Far Away

The Linux kernel has supported NVMe since  [version 3.3](https://nvmexpress.org/drivers/linux-driver-information/), released in March 2012. Similarly, the protocol has been supported on Windows Server (non-natively, via SCSI translation) since 2012 R2, around October 2013. More than a decade later, users are still debating whether Windows or Linux is better for storage, so we thought we’d add some more fuel to the fire with benchmark results comparing the two.

Since we have test results for Windows Server 2025 using both non-native and native storage stacks, we thought it was appropriate to evaluate two storage stacks on Linux. For our FIO benchmarks, we used both libaio and io\_uring, two of the most popular APIs for storage transactions. While io\_uring is considerably newer and provides many improvements for asynchronous I/O, libaio remains widely used for its flexibility and ease of use (Didona, Pfefferle, Ioannou, Metzler, & Trivedi, 2022). Complete architecture overviews for both stacks are beyond the scope of this article, but we are still providing results for a direct comparison.

## Testing NVMe on Ubuntu Server 24.04.4 LTS

Our hardware platform for this comparison is the same server used in our  [Windows Server 2025 native NVMe article](https://www.storagereview.com/review/windows-server-native-nvme). To ensure maximum throughput and consistent results, it is equipped with two 128-core AMD EPYC 9754 CPUs, 768GB of DDR5 memory at 4800 MT/s, and fifteen  [30.72 TB Solidigm P5316 NVMe SSDs](https://www.storagereview.com/review/intel-p5316-ssd-review-30-72tb) with PCIe 4.0 in a JBOD configuration.

As we mentioned in our previous article, the Solidigm P5316 has an indirection unit size of 64 kilobytes, which means write performance for smaller sizes (such as 4K tests) is often worse than expected. Once again, we ran different test patterns at block sizes of 4K, 64K, and 128K to provide a broad range of results for read and write operations.

We selected Ubuntu Server 24.04.4 LTS as our Linux example because of its popularity and long-term support. It runs on the Linux kernel 6.8 by default, which isn’t the newest or most advanced, but likely represents a large portion of installations worldwide.

> ### Highlights
>
> - **Windows Server 2025 native NVMe wins in three out of four read performance benchmarks**
> - **Lower CPU usage observed with Windows Server during most tests**
> - **Ubuntu Server 24.04.4 LTS wins in three out of four write performance benchmarks**

| **Metric** | **Random 4K** | | | | **Random 64K** | | | |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| **Windows Non-Native** | **Windows Native** | **Linux libaio** | **Linux io\_uring** | **Windows Non-Native** | **Windows Native** | **Linux libaio** | **Linux io\_uring** |
| **Random Read** | | | | | | | | |
| **Bandwidth (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 |
| **Average latency (ms)** | 0.169 | 0.104 | 0.198 | 0.192 | 0.239 | 0.207 | 0.377 | 0.376 |
| **Total CPU Usage (%)** | 72.67 | 74.22 | 99.77 | 99.76 | 68.44 | 65.11 | 83.16 | 84.72 |

 

| **Metric** | **Sequential 64K** | | | | **Sequential 128K** | | | |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| **Windows Non-Native** | **Windows Native** | **Linux libaio** | **Linux io\_uring** | **Windows Non-Native** | **Windows Native** | **Linux libaio** | **Linux io\_uring** |
| **Sequential Read** | | | | | | | | |
| **Bandwidth (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 |
| **Average latency (ms)** | 0.809 | 0.812 | 0.919 | 0.932 | 0.613 | 0.608 | 0.603 | 0.604 |
| **Total CPU Usage (%)** | 44.89 | 37.11 | 53.94 | 41.74 | 61.56 | 49.56 | 75.14 | 76.90 |

 

| **Metric** | **Random 4K** | | | | **Random 64K** | | | |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| **Windows Non-Native** | **Windows Native** | **Linux libaio** | **Linux io\_uring** | **Windows Non-Native** | **Windows Native** | **Linux libaio** | **Linux io\_uring** |
| **Random Write** | | | | | | | | |
| **Bandwidth (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 |
| **Average latency (ms)** | 0.992 | 1.028 | 0.974 | 1.007 | 3.814 | 3.816 | 3.827 | 3.828 |
| **Total CPU Usage (%)** | 26.00 | 20.67 | 45.76 | 22.80 | 12.22 | 9.33 | 20.07 | 10.90 |

 

| **Metric** | **Sequential 64K** | | | | **Sequential 128K** | | | |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| **Windows Non-Native** | **Windows Native** | **Linux libaio** | **Linux io\_uring** | **Windows Non-Native** | **Windows Native** | **Linux libaio** | **Linux io\_uring** |
| **Sequential Write** | | | | | | | | |
| **Bandwidth (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 |
| **Average latency (ms)** | 0.399 | 0.558 | 0.560 | 0.560 | 1.022 | 1.149 | 1.126 | 1.125 |
| **Total CPU Usage (%)** | 70.44 | 57.78 | 61.88 | 62.75 | 58.44 | 47.33 | 61.49 | 44.27 |

**  
Note:** Our Linux IOPS results are rounded to the nearest thousand due to differences in FIO reporting between Windows Server 2025 and Ubuntu Server 24.04.4 LTS. Bandwidth, latency, and CPU usage results are rounded consistently across both platforms.

### The Numbers Don’t Lie

Immediately, we see that Ubuntu does not outperform Windows in every category. While libaio and io\_uring delivered excellent throughput in our random-read bandwidth tests, they did not match the performance of Microsoft’s native NVMe stack. The Windows NT kernel beat the Linux kernel by about 17% in our random-read 64K tests, with a winning 91.165 GiB/s on native NVMe versus io\_uring’s best of 77.7 GiB/s.

![]()

However, not all hope is lost for Torvalds’ technological terror. Ubuntu Server narrowly beat Windows Server in one of our read performance benchmarks: the sequential 128K test. Here, Linux’s libaio performed best at 97.05 GiB/s, compared to Windows’ native NVMe at 92.562 GiB/s, a difference of about 5%. This indicates that Linux may hold a slight edge when managing block sizes larger than the drives’ indirection units.

![]()

Random write bandwidth was consistent across both Linux and Windows, especially in 64K benchmarks. The best and worst results from those tests differed by only 0.05%, suggesting that all storage stacks realized the drives’ full potential.

Interestingly, the Linux 6.8 kernel claimed victory in sequential write bandwidth tests for block sizes of 64 K and 128 K. While the difference was not massive, the open-source software stacks beat Windows Server’s native NVMe by about 2 GiB/s in both cases.

![]()

Latency results generally followed throughput test results, shown best by the difference in random read averages. Unfortunately for Tux, libaio and io\_uring had higher latency, with the largest difference of 0.17 ms between Windows Server native NVMe (0.207 ms) and libaio (0.377 ms) for 64 K random reads.

![]()

Perhaps the most shocking revelation from our benchmarks is the massive delta in CPU usage between Windows Server 2025 and Ubuntu Server 24.04.4 LTS. In three of four random and sequential-read benchmarks, Windows Server native NVMe had the lowest CPU usage. The most notable result was seen during the sequential read 128K benchmark run, where Windows used 27.34% less than Linux.

![]() ![]()

CPU usage with libaio and io\_uring performed slightly better in random and sequential write tests, but it was still not enough to prevent native NVMe on Windows Server from winning in three of the benchmarks. A notable exception was libaio’s CPU usage during the random write 4K test, which reached 45.76% of the system’s CPU, while the other storage stacks hovered around 20%.

![]()

## Winner Winner, CPU Dinner

As our results show, Windows Server and Ubuntu Server perform closely when tested head-to-head in both random and sequential performance tests at different block sizes. In terms of bandwidth, Windows Server 2025 with native NVMe generally outperformed Linux in most read tests, while Linux responded with slightly better results in our write tests. Our latency figures told a similar story, but the real highlight was Windows Server 2025’s CPU efficiency when using native NVMe.

![]()

Microsoft has clearly put effort into making their newest storage stack their best, and while it does not *always* win against libaio and io\_uring, it puts up a good fight. While these results are not definitive across all use cases and server setups, they may help server administrators decide whether to deploy a Windows or Linux server when storage performance is more critical than OS compatibility.

Let us know what you think about these results by commenting on our social platforms or the [SR Discord](http://discord.gg/storagereview)! Did you expect Windows Server to do so well in our tests, or were you rooting for Linux? Would you like to see more Linux server distributions or kernels tested? We’re always looking for your feedback, and reader-requested tests like these often become our favorite articles.

#### References

Didona, D., Pfefferle, J., Ioannou, N., Metzler, B., & Trivedi, A. (2022, June 13). Understanding Modern Storage APIs: A systematic study of libaio, SPDK, and io\_uring. SYSTOR ’22, 120-121. Retrieved April 3, 2026, from https://atlarge-research.com/pdfs/2022-systor-apis.pdf

**Engage with StorageReview**

[Newsletter](https://www.storagereview.com/storage_newsletter) |  [YouTube](https://www.youtube.com/user/StorageReview "Opens in a new window") | Podcast  [iTunes](https://podcasts.apple.com/gb/podcast/storagereview-com-storage-reviews/id1060681115 "Opens in a new window")/ [Spotify](https://open.spotify.com/show/1y6VnznABhHeOSMOmbDTz0 "Opens in a new window") |  [Instagram](https://www.instagram.com/storagereview/ "Opens in a new window") |  [Twitter](https://twitter.com/storagereview "Opens in a new window") |  [TikTok](https://www.tiktok.com/@storagereview? "Opens in a new window") |  [RSS Feed](https://www.storagereview.com/rss.xml)

![]()

### Andrew Waag

Andrew Waag is a Distributed Systems Administrator at Linde plc whose interests include server hardware, enterprise storage systems, and networking equipment. He is always looking for new things to do with his homelab and experimenting with virtualization and storage technologies.

Previous post: [Brady M511 Review: We Finally Labeled Our Lab](https://www.storagereview.com/review/brady-m511-review-we-finally-labeled-our-lab)

Next post: [Dell PowerEdge R770AP Review: Dell’s Purpose-Built Answer for Latency-Sensitive Workloads](https://www.storagereview.com/review/dell-poweredge-r770ap-review)

Trusted Vendors

Products and solutions from our affiliate partners:

- [  
  ![Ubiquiti Logo]()  
   Ubiquiti  
  ](https://store.ui.com/us/en?a_aid=StorageReview "Opens in a new window")
- [  
  ![Newegg Logo]()  
   Newegg  
  ](https://click.linksynergy.com/fs-bin/click?id=g5terNMDhz0&offerid=1207190.18&subid=0&type=4 "Opens in a new window")
- [  
  ![Amazon Logo]() Amazon  
  ](https://amzn.to/4fLJUEW "Opens in a new window")

Newsletter

Subscribe to the StorageReview newsletter to stay up to date on the latest news and reviews. We promise no spam!

1  

Leave this field empty if you’re human:

## Advertisement

Content Categories

[Facebook](https://www.facebook.com/@storagereview) [X](https://twitter.com/storagereview) [Instagram](https://www.instagram.com/storagereview/) [LinkedIn](https://www.linkedin.com/company/storagereview-com) [YouTube](https://www.youtube.com/user/storagereview?sub_confirmation=1) [Email](mailto:info@storagereview.com) [Spotify](https://open.spotify.com/show/1y6VnznABhHeOSMOmbDTz0) [Reddit](https://www.reddit.com/r/StorageReview/) [Discord](https://discord.gg/TwMHb4azdC) [RSS](https://www.storagereview.com/rss.xml) [TikTok](https://www.tiktok.com/@storagereview)

Copyright © 1998-2025 Flying Pig Ventures, LLC Cincinnati, Ohio. All rights reserved.

Manage your privacy

To provide the best experiences, we and our partners use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us and our partners to process personal data such as browsing behavior or unique IDs on this site and show (non-) personalized ads. Not consenting or withdrawing consent, may adversely affect certain features and functions.

Click below to consent to the above or make granular choices. Your choices will be applied to this site only. You can change your settings at any time, including withdrawing your consent, by using the toggles on the Cookie Policy, or by clicking on the manage consent button at the bottom of the screen.

Functional Functional Always active

The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.

Preferences Preferences

The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.

Statistics Statistics

The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.

Marketing Marketing

The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.

Statistics

Marketing

Features

Always active

Special features

Special purposes

Always active

- Manage options
- Manage services
- Manage {vendor\_count} vendors
- [Read more about these purposes](https://cookiedatabase.org/tcf/purposes/)

Accept Deny Manage options Save preferences Manage options

- {title}
- {title}
- {title}

Manage your privacy

To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.

Functional Functional Always active

The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.

Preferences Preferences

The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.

Statistics Statistics

The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.

Marketing Marketing

The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.

Statistics

Marketing

Features

Always active

Special features

Special purposes

Always active

- Manage options
- Manage services
- Manage {vendor\_count} vendors
- [Read more about these purposes](https://cookiedatabase.org/tcf/purposes/)

Accept Deny Manage options Save preferences Manage options

- {title}
- {title}
- {title}

Manage consent Manage consent

```json
{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.storagereview.com\/review\/linux-vs-windows-server-2025-native-nvme","url":"https:\/\/www.storagereview.com\/review\/linux-vs-windows-server-2025-native-nvme","name":"NVMe Performance Compared: Windows Server 2025 vs. Ubuntu Server 24.04.4 LTS - StorageReview.com","isPartOf":{"@id":"https:\/\/www.storagereview.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.storagereview.com\/review\/linux-vs-windows-server-2025-native-nvme#primaryimage"},"image":{"@id":"https:\/\/www.storagereview.com\/review\/linux-vs-windows-server-2025-native-nvme#primaryimage"},"thumbnailUrl":"https:\/\/www.storagereview.com\/wp-content\/uploads\/2026\/04\/StorageReview-NVMe-Windows-Linux-2.jpg","datePublished":"2026-04-03T19:06:29+00:00","description":"Benchmarking Windows Server 2025 native NVMe vs. Ubuntu Server 24.04 LTS with libaio and io_uring across key workloads.","breadcrumb":{"@id":"https:\/\/www.storagereview.com\/review\/linux-vs-windows-server-2025-native-nvme#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.storagereview.com\/review\/linux-vs-windows-server-2025-native-nvme"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.storagereview.com\/review\/linux-vs-windows-server-2025-native-nvme#primaryimage","url":"https:\/\/www.storagereview.com\/wp-content\/uploads\/2026\/04\/StorageReview-NVMe-Windows-Linux-2.jpg","contentUrl":"https:\/\/www.storagereview.com\/wp-content\/uploads\/2026\/04\/StorageReview-NVMe-Windows-Linux-2.jpg","width":1500,"height":1000},{"@type":"BreadcrumbList","@id":"https:\/\/www.storagereview.com\/review\/linux-vs-windows-server-2025-native-nvme#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.storagereview.com\/"},{"@type":"ListItem","position":2,"name":"Review","item":"https:\/\/www.storagereview.com\/review"},{"@type":"ListItem","position":3,"name":"NVMe Performance Compared: Windows Server 2025 vs. Ubuntu Server 24.04.4 LTS"}]},{"@type":"WebSite","@id":"https:\/\/www.storagereview.com\/#website","url":"https:\/\/www.storagereview.com\/","name":"StorageReview.com","description":"StorageReview.com is a leading provider of news and reviews throughout the entire IT stack - from the datacenter to the edge, and all points in between.","publisher":{"@id":"https:\/\/www.storagereview.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.storagereview.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.storagereview.com\/#organization","name":"StorageReview.com","url":"https:\/\/www.storagereview.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.storagereview.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.storagereview.com\/wp-content\/uploads\/2020\/02\/Storage-Reviews-2-2.png","contentUrl":"https:\/\/www.storagereview.com\/wp-content\/uploads\/2020\/02\/Storage-Reviews-2-2.png","width":344,"height":61,"caption":"StorageReview.com"},"image":{"@id":"https:\/\/www.storagereview.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/storagereview","http:\/\/youtube.com\/user\/storagereview"]}]}
```
