|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "Thought I Ran Out of PCIe Lanes... I Was Wrong" |
| 4 | +date: 2025-04-26 08:00:00 -0500 |
| 5 | +categories: homelab |
| 6 | +tags: homelab hardware oculink nvme icy-dock |
| 7 | +image: |
| 8 | + path: /assets/img/headers/oculink-nvme-hero.webp |
| 9 | + lqip: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAUACgMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP5PfgN4w0LVdQkttP8Ahn4J8Kz6d4V1W6udV0C88f3eo6slhpNwk1veR+LvHHirR4E1SeWC8vpdN0ixninsoE0yTT7aS8t7rWlNwkmu6XS3vNRvqntf5rTrcmNuXZK6a69brvf8TD+IOsy6r498b6pcxlrjUvF/iW/nZpN7NNeaze3EpZ/LXexeRiW2ruPOBnFbVW5VKkna8pzbslFXcm3aMUoxXZRSSWiSQQSjCEVe0YxSu3J2SSV5Ntt92223q3c//9k= |
| 10 | +--- |
| 11 | + |
| 12 | +I thought I had no PCIe lanes left — but OCuLink opened a new path. |
| 13 | + |
| 14 | +{% include embed/youtube.html id='6gKOi56npgQ' %} |
| 15 | +📺 [Watch Video](https://www.youtube.com/watch?v=6gKOi56npgQ) |
| 16 | + |
| 17 | +## Info |
| 18 | + |
| 19 | +Today, I expand my home server with more NVMe storage, put a Samsung 990 Pro and Intel Optane head-to-head, and show just how much you can still get out of a packed system. |
| 20 | + |
| 21 | +## Tests |
| 22 | + |
| 23 | +I decided to test each drive to be sure that I wasn't being throttled and that I was getting the highest speeds my motherboard would support. |
| 24 | + |
| 25 | +### Sequential Performance |
| 26 | + |
| 27 | +Here is the command I ran to test sequential read and writes. Keep in mind that although the drives and adapter support PCIe gen 4, my board only supports gen 3. |
| 28 | + |
| 29 | +### Sequential Read/Write (Large Files, 1MiB Block Size) |
| 30 | + |
| 31 | +```bash |
| 32 | +fio --name=seqreadwrite \ |
| 33 | + --filename=/dev/nvme3n1 \ |
| 34 | + --ioengine=libaio \ |
| 35 | + --direct=1 \ |
| 36 | + --rw=readwrite \ |
| 37 | + --bs=1M \ |
| 38 | + --numjobs=2 \ |
| 39 | + --iodepth=32 \ |
| 40 | + --runtime=30 \ |
| 41 | + --time_based \ |
| 42 | + --group_reporting |
| 43 | +``` |
| 44 | + |
| 45 | +| Drive | Read Speed | Write Speed | |
| 46 | +|--------------------------|------------|-------------| |
| 47 | +| **Samsung 990 Pro** | 3041 MB/s | 3042 MB/s | |
| 48 | +| **Intel Optane P1600X** | 689 MB/s | 694 MB/s | |
| 49 | + |
| 50 | +### Random 4K Performance |
| 51 | + |
| 52 | +Random 4K tests were using 4k block size, random read/write (`randrw`). |
| 53 | + |
| 54 | +### Random Read/Write 4KiB (IOPS/Small Files Test) |
| 55 | + |
| 56 | +```bash |
| 57 | +fio --name=random4k \ |
| 58 | + --filename=/dev/nvme3n1 \ |
| 59 | + --ioengine=libaio \ |
| 60 | + --direct=1 \ |
| 61 | + --rw=randrw \ |
| 62 | + --bs=4k \ |
| 63 | + --numjobs=4 \ |
| 64 | + --iodepth=32 \ |
| 65 | + --runtime=30 \ |
| 66 | + --time_based \ |
| 67 | + --group_reporting |
| 68 | +``` |
| 69 | + |
| 70 | +| Drive | Read Speed | Write Speed | |
| 71 | +|--------------------------|------------|-------------| |
| 72 | +| **Samsung 990 Pro** | 1940 MB/s | 1939 MB/s | |
| 73 | +| **Intel Optane P1600X** | 629 MB/s | 629 MB/s | |
| 74 | + |
| 75 | +## Latency Comparison (4K Random Read, 1 Queue Depth) |
| 76 | + |
| 77 | +I then wanted to test latency, since that's where Intel Optane drives are claimed to excel. |
| 78 | + |
| 79 | +### Latency Focused Test (1 I/O at a Time, 4KiB Random Read) |
| 80 | + |
| 81 | +```bash |
| 82 | +fio --name=latency_test \ |
| 83 | + --filename=/dev/nvme3n1 \ |
| 84 | + --ioengine=sync \ |
| 85 | + --direct=1 \ |
| 86 | + --rw=randread \ |
| 87 | + --bs=4k \ |
| 88 | + --iodepth=1 \ |
| 89 | + --numjobs=1 \ |
| 90 | + --runtime=10 \ |
| 91 | + --time_based \ |
| 92 | + --group_reporting |
| 93 | +``` |
| 94 | + |
| 95 | +| Drive | Avg Latency (µs) | IOPS | Bandwidth (MB/s) | |
| 96 | +|-----------------------|------------------|----------|------------------| |
| 97 | +| Samsung 990 Pro | 25.6 µs | 37.3k | 146 MB/s | |
| 98 | +| Intel Optane P1600X | 9.1 µs | 97.2k | 380 MB/s | |
| 99 | + |
| 100 | +*Note: µs = microseconds (one millionth of a second)* |
| 101 | + |
| 102 | +## Observations |
| 103 | + |
| 104 | +Quick observations: |
| 105 | + |
| 106 | +- Optane P1600X had almost 3x lower latency. |
| 107 | +- Optane handled more than 2.5x the IOPS. |
| 108 | +- Samsung 990 Pro crushes when it comes to raw transfer speeds |
| 109 | + |
| 110 | +## 📦 Products in this video 📦 |
| 111 | + |
| 112 | +- ICY Dock NVMe to U2. Adapter: <https://amzn.to/3Yk882t> |
| 113 | +- OCuLink to NVMe U.2 Cable: <https://amzn.to/432ArFa> |
| 114 | +- Samsung NVMe: <https://amzn.to/4m6dfO7> |
| 115 | +- Intel Optane: <https://amzn.to/4lO3zHL> |
| 116 | + |
| 117 | +## Join the conversation |
| 118 | + |
| 119 | +<blockquote class="twitter-tweet" data-dnt="true" data-theme="dark">I thought I had no PCIe lanes left — but OCuLink opened a new path.<a href="https://t.co/q6K6TUTXtr">https://t.co/q6K6TUTXtr</a> <a href="https://t.co/4Prk054Jic">pic.twitter.com/4Prk054Jic</a></p>— Techno Tim (@TechnoTimLive) <a href="https://twitter.com/TechnoTimLive/status/1916146585295114703?ref_src=twsrc%5Etfw">April 26, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> |
| 120 | + |
| 121 | +## Links |
| 122 | + |
| 123 | +🛍️ Check out the new Merch Shop at <https://l.technotim.live/shop> |
| 124 | + |
| 125 | +⚙️ See all the hardware I recommend at <https://l.technotim.live/gear> |
| 126 | + |
| 127 | +🚀 Don't forget to check out the [🚀Launchpad repo](https://l.technotim.live/quick-start) with all of the quick start source files |
| 128 | + |
| 129 | +🤝 Support me and [help keep this site ad-free!](/sponsor) |
0 commit comments