The question: why were my big file copies crawling when the server has a 10 gigabit connection?
The obvious answer: the server. More cores, more RAM, a better network card. I had the cart half full.
What I measured: during copies, the server’s link was running at about 8 percent. The data was coming from a small Windows mini-PC with a single 1 gigabit port, which tops out around 98 MB/s. It was the only machine that could read the NTFS drives, and it set the speed for everything behind it.
What I did about it: nothing expensive. I scheduled the big copies overnight, mounted the box read-only, and let it run. If I ever spend money, the upgrade that actually moves the finish line is a 10 gigabit adapter in the mini-PC, not another port on the server.
The same story, smaller: an old NAS with one weak processor core decided when a whole hashing job would finish, no matter how many threads the main server had. And a Raspberry Pi with 4 GB of memory and no hardware video decoding stayed 74 percent idle once I gave it low-resolution camera streams and pulled the full stream only when motion fired.
The rule I keep: find the slowest device in the path and plan around it. The machine you would like to blame is usually not the machine that is limiting you, and the fix is usually cheaper than the one you were about to buy.
If your network or storage feels slow and someone is quoting you an upgrade, ask them what they measured first. I have put the full list of machines and their limits on the hardware limits page.