Megabits and megabytes
Worth clearing up first, because it explains a lot of disappointed expectations. Network speeds are quoted in megabits per second, and file sizes in megabytes. There are eight bits in a byte.
So a gigabit connection, 1000 Mbps, tops out at about 125 MB/s, and delivers roughly 110 MB/s once you account for overhead. A transfer running at 110 MB/s on a gigabit link isn't slow. It's flat out.
Storage is often the real limit
Fast networks regularly outrun the drives at either end. Reading and writing have their own ceilings:
- Mechanical hard drive
- Roughly 100 to 150 MB/s, and a lot less for many small files scattered across the platter.
- SATA SSD
- Around 500 MB/s.
- NVMe SSD
- 1000 MB/s and well beyond.
Many small files versus one big one
Ten thousand small files transfer far more slowly than a single file of the same total size. Each one carries its own overhead as it's created, opened, written and closed, and that cost is per file, not per megabyte.
A transfer that crawls through a folder of small files and then races through a video is behaving normally. Zipping the folder first is the usual fix when it matters.
Wireless factors
Signal strength matters most. Wi-Fi drops to slower, sturdier encoding as the signal weakens, so a couple of walls can cost you most of your speed.
If both devices are wireless they share the same airtime, and each transfer crosses the air twice, which roughly halves what you can get. Wiring either end is the most effective fix.
The 2.4 GHz band also shares space with a lot of other equipment. Use 5 GHz or 6 GHz when the signal allows.
The wired transfer that's somehow slower
A damaged cable, or an old switch somewhere in the path, can negotiate 100 Mbps instead of gigabit. That caps the transfer at about 11 MB/s, slower than most modern Wi-Fi, and it's a common reason a wired connection loses to a wireless one.
Both operating systems show the negotiated link speed in their network settings. If it says 100 Mbps, replace the cable before looking at anything else.
Narrowing it down
Try the same transfer with one device wired. If it speeds up, the wireless link was the limit. If it doesn't, look at the drives at either end, especially if either one is mechanical.
Then try one large file instead of many small ones. A big improvement points at per-file overhead rather than the network.