How to test network speed between two computers
Your ISP has nothing to do with a slow file copy between two machines in the same building. Here is how to measure the path that is actually involved.
Copying a file between two machines on the same network should be fast. When it is not, the usual reaction is to run an internet speed test, which is entirely the wrong instrument: the traffic never leaves your house, so your ISP has nothing to do with it.
What you need is a measurement of the network between those two machines, with nothing else involved. That is what iperf3 does. It runs on both ends, sends data as fast as the path allows, and reports what the path can actually carry. No disks, no file sharing protocol, no cloud. Just the network.
Bits, bytes and the number everyone gets wrong
Networks are measured in bits per second. File transfers are shown in bytes per second. There are eight bits in a byte, so the two numbers differ by a factor of eight, and this single mismatch causes more confusion than any other topic in home networking.
A gigabit connection is 1000 megabits per second. Divide by eight and you get 125 megabytes per second as the theoretical maximum. Subtract protocol overhead (Ethernet framing, IP, TCP headers) and roughly 940 megabits, or about 112 megabytes per second, is the realistic ceiling.
So a file copy running at 110 MB/s is not slow. It is a gigabit link performing essentially perfectly. If you were expecting 1000 MB/s because the box said gigabit, the network is fine and the expectation was off by a factor of eight.
| Link | Theoretical | Realistic TCP | As megabytes/sec |
|---|---|---|---|
| 100 Mbps Ethernet | 100 Mbps | 94 Mbps | about 11 MB/s |
| Gigabit Ethernet | 1000 Mbps | 940 Mbps | about 112 MB/s |
| 2.5 Gigabit | 2500 Mbps | 2350 Mbps | about 280 MB/s |
| 10 Gigabit | 10000 Mbps | 9400 Mbps | about 1120 MB/s |
| Wi-Fi 5, good conditions | 866 Mbps link rate | 350 to 450 Mbps | about 50 MB/s |
| Wi-Fi 6, good conditions | 1200 Mbps link rate | 600 to 800 Mbps | about 85 MB/s |
Note the gap on the Wi-Fi rows. The link rate your device reports is a negotiated maximum under ideal conditions, and real throughput is typically 40 to 60 percent of it because the medium is shared, half duplex and subject to retransmission. A Wi-Fi connection showing 866 Mbps that delivers 400 is behaving normally, not badly.
What each link should actually give you
Before testing, work out what the answer should be. The slowest component in the path sets the ceiling, and it is often not the one you are thinking about.
A gigabit laptop connected to a gigabit NAS through a 100 megabit switch gets 94 Mbps. An old powerline adapter in the path caps everything at whatever it manages, which is usually far below its advertised rating. A cheap unmanaged switch with one failing port can drop a single device to 100 megabits while everything else runs at full speed.
Write down the expected number first. Then measure. The interesting information is in the gap between them.
Setting up the test
iperf3 works as a client and a server. One machine listens, the other connects, and data flows between them.
-
Run the server on one machine
Install iperf3 from your package manager (it is available for Windows, macOS, Linux and most NAS platforms, and many NAS models include it already) and start it in server mode. It listens on port
5201by default. -
Find its IP address
If you are not sure, run a LAN Scan across your subnet. The server will be one of the devices that answers, and the scan gives you the address to point at.
-
Connect from the other machine
Point the iperf3 client at that address and port. From a phone or tablet this is the fastest way to measure what the wireless side of your network is really delivering.
-
Run for at least 20 seconds
TCP takes a moment to reach full speed. A five second test spends much of its time ramping up and reports a number lower than the truth. Twenty to thirty seconds gives a stable figure.
-
Test both directions
Upload and download can differ, particularly over Wi-Fi where the two ends have different antennas and transmit power. A device that receives at 400 Mbps and sends at 90 is telling you something specific.
# Download direction, 20 seconds, default port
https://netdebug.app/open/iperf3?target=192.168.1.50&port=5201&duration=20&direction=download
# Same test the other way round
https://netdebug.app/open/iperf3?target=192.168.1.50&port=5201&duration=20&direction=upload
Measure your LAN from the device in your hand
The iperf3 client in NetDebug Toolkit runs TCP throughput tests against any iperf3 server, in either direction, with a configurable duration. It is the quickest way to find out what a phone, tablet or Apple TV is really getting from your Wi-Fi, room by room.
Reading the result
The headline number is throughput, and you compare it against the expected value you wrote down earlier. Three other things are worth noticing.
Consistency across intervals. A result that holds steady is a healthy path. One that swings between 300 and 700 Mbps every second points at interference, contention or a device that cannot keep up.
Retransmits. If the output reports retransmitted segments, packets are being lost and resent. A handful over a long test is unremarkable. Thousands means something is genuinely dropping traffic, and it is worth following up with a proper loss test.
The ramp. Watch the first few seconds. A path that takes a long time to reach full speed often has high latency or a small window somewhere, which affects real transfers even when the peak number looks fine.
For Wi-Fi testing specifically, run the same test from several places. One measurement at the desk tells you about the desk. Testing in each room builds a map, and it usually reveals that the problem is one particular spot rather than the network as a whole.
The 94 Mbps clue
If your test comes back at almost exactly 94 megabits per second, or roughly 11 megabytes per second, stop looking at everything else. That number is the practical maximum of a 100 megabit link, and something in the path has negotiated 100 megabits instead of gigabit.
The usual suspects, in order:
- A damaged or low grade cable. Gigabit Ethernet needs all four pairs. If one pair is broken, the link silently falls back to 100 megabits, which only needs two. The cable still works, the light still comes on, and nothing reports an error. Swapping the cable is a thirty second test that solves this surprisingly often.
- An old switch or a 100 megabit port. Some switches mix port speeds, and plenty of older hardware is fast Ethernet throughout.
- Something in between. A powerline adapter, a wall socket wired years ago, or a patch panel with two pairs punched down.
- A forced duplex or speed setting. Rare now, but a manually configured interface will refuse to negotiate upward.
Most operating systems will tell you the negotiated link speed in the network adapter details. If it says 100 Mbps on hardware you believe is gigabit, you have found the problem and it is physical.
Why a fast network still copies slowly
Suppose iperf3 reports a healthy 940 Mbps and your file copy still runs at 30 MB/s. The network is not the bottleneck, and that is genuinely useful to know. The remaining candidates:
Disk speed. A mechanical hard drive writes at 80 to 160 MB/s sequentially and far less with small files. A USB 2.0 enclosure caps around 35 MB/s. A NAS with older drives in a parity array can be slower still on writes.
Lots of small files. Copying 50,000 small files is a different operation from copying one large one. Per file overhead dominates and throughput collapses, on any protocol. Archiving first and transferring one file is often dramatically faster.
Protocol overhead. SMB, AFP and their various versions differ significantly, and an old protocol version negotiated for compatibility can halve your speed. Encryption and signing, which are on by default in many configurations, cost CPU on both ends.
CPU on a small device. A low power NAS or single board computer can be the limit, especially with encryption enabled. If the device's processor is at 100 percent during a transfer, that is your answer.
Antivirus scanning. Real time scanning inspects every file as it is written, which can cut transfer speed by more than half. Worth testing with it paused, if policy allows.
The value of the iperf3 test is exactly this: it separates the network from everything else. Once you know the path can carry 940 megabits, you stop replacing cables and start looking at disks and protocols.
The short version
Use iperf3, not an internet speed test, because the traffic never leaves your network. Remember the factor of eight: gigabit means about 112 megabytes per second, not 1000. Run for at least 20 seconds and test both directions. A result near 94 Mbps means something negotiated 100 megabit, and a damaged cable pair is the most common cause. And if the network measures fine while file copies do not, the bottleneck is disks, small files or protocol overhead rather than the network at all.
Frequently asked questions
How do I test the speed between two computers on my network?
Run iperf3 in server mode on one machine and connect to it from the other with an iperf3 client. It measures raw TCP throughput over the path with no disks or file sharing protocol involved, which isolates the network itself.
Why is my gigabit network only giving 112 MB/s?
That is a gigabit link working correctly. Networks are measured in bits and file transfers in bytes, so 1000 megabits per second is 125 megabytes per second before overhead, and about 112 after it. The two numbers differ by a factor of eight.
What does a 94 Mbps result mean?
Something in the path negotiated 100 megabit instead of gigabit. The most common cause is a damaged or low grade cable, because gigabit needs all four pairs and silently falls back to 100 megabit if one pair is broken. Swapping the cable is the fastest test.
How long should an iperf3 test run?
At least 20 seconds. TCP takes a few seconds to reach full speed, so a short test spends much of its time ramping up and reports a figure lower than the path can actually deliver.
Why is my Wi-Fi throughput so much lower than the link rate?
The link rate is a negotiated maximum under ideal conditions. Real throughput is typically 40 to 60 percent of it, because the medium is shared, half duplex and subject to retransmission. A Wi-Fi 5 connection showing 866 Mbps delivering 400 is normal.
My network tests fast but file copies are slow. Why?
The bottleneck is not the network. Likely causes are disk speed, copying many small files instead of one large one, an old file sharing protocol version, encryption overhead, a low power CPU on a NAS, or real time antivirus scanning every file as it is written.
Can I run an iperf3 test from a phone?
Yes. An iperf3 client on a phone or tablet is the most practical way to measure what your Wi-Fi actually delivers in each room, because you can carry it to the place where the problem happens.
NetDebug Toolkit