Windows LAN Performance Guide

How to Test Local Network Speed Between Two Windows Computers with iperf3

A practical step-by-step guide to measuring real LAN throughput between two Windows PCs using iperf3: TCP, reverse direction, UDP, Wi-Fi, Ethernet, firewall rules, and result interpretation.

đŸ–Ĩ Windows 10 đŸĒŸ Windows 11 📡 LAN Speed Test ⚡ iperf3 🔧 TCP & UDP
📋
Contents
Commands and checks for testing a local Windows network with iperf3.
  1. What iperf3 actually tests
  2. Before you start
  3. Download and prepare iperf3 on Windows
  4. Find the server computer IP address
  5. Allow iperf3 through Windows Firewall
  6. Start iperf3 server mode
  7. Run a TCP LAN speed test
  8. Test the opposite direction
  9. Run a UDP jitter and packet loss test
  10. Test Wi-Fi and Ethernet correctly
  11. How to read iperf3 results
  12. Troubleshooting iperf3 errors
  13. FAQ

What Does iperf3 Test on a Local Windows Network?

iperf3 is a command-line network performance tool. It does not copy real files between computers; instead, it creates controlled traffic between one PC running as the server and another PC running as the client. This lets you measure the maximum practical throughput of your local network without being limited by a slow SSD, hard drive, SMB configuration, antivirus scanning, or file permissions.

đŸ–Ĩī¸
Computer A
Runs iperf3.exe -s and listens for test connections.
âžĄī¸
LAN traffic
Traffic goes through your switch, router, Wi-Fi access point, cable, or network adapter.
đŸ’ģ
Computer B
Runs iperf3.exe -c and starts the measurement.
â„šī¸
Important Use iperf3 to test the network path itself. If file copying is slow but iperf3 is fast, the problem is more likely related to disk speed, SMB settings, antivirus, permissions, or the application layer rather than the physical network.

Before You Start Testing LAN Speed with iperf3

For a clean test, connect both computers to the same local network and temporarily reduce background traffic. If possible, run the first test over Ethernet, then compare it with Wi-Fi.

Good test conditions

  • Both PCs are on the same subnet, for example 192.168.1.x.
  • Ethernet cable link speed is checked in Windows.
  • Wi-Fi tests are repeated in the same room and at normal working distance.
  • Each test is run for at least 30 seconds.

Bad test conditions

  • One PC is connected through a VPN and the other is local.
  • One computer is using 2.4 GHz Wi-Fi while the other is wired.
  • Cloud sync, game downloads, or video streaming are active.
  • The Windows firewall blocks port 5201.

Download and Prepare iperf3 on Windows 10 or Windows 11

Download a Windows build of iperf3, extract it to a simple folder, and use the same version on both computers. A practical folder is C:\Tools\iperf3. Keeping the path short makes command-line work easier and avoids quoting problems.

Where to download iperf3 for Windows

The main iperf3 project is maintained by ESnet / Lawrence Berkeley National Laboratory. For Windows, there are two practical download paths: use the official ESnet project pages for source code and documentation, or use a reputable Windows binary source if you do not want to compile the program yourself.

Official project

ESnet iperf3 source and documentation

Use this as the primary reference for the current iperf3 project, releases, documentation, command syntax, and source code.

Open ESnet iperf3
Windows binaries

Precompiled iperf3 builds for Windows

If you need a ready-to-run iperf3.exe, use a well-known Windows binary source and verify that both PCs use the same version.

Open iperf.fr downloads
Package manager

Chocolatey package option

Advanced users can install iperf3 through a Windows package manager, then run it from Terminal without manually copying files.

Open Chocolatey package
â„šī¸
Recommended choice For a normal Windows home or office LAN test, the easiest method is to download a precompiled iperf3.exe archive, extract it on both computers, and confirm the version with iperf3.exe --version.
  1. Create a folder such as C:\Tools\iperf3 on both computers.
  2. Extract the downloaded archive into that folder.
  3. Open Command Prompt, PowerShell, or Windows Terminal.
  4. Switch to the iperf3 folder and check that the executable starts.
Command Prompt or PowerShellcd C:\Tools\iperf3
.\iperf3.exe --version

If Windows says the file is blocked, right-click the executable, open Properties, check Unblock if available, and apply the change.

âš ī¸
Security note Download command-line tools only from a source you trust. Do not run random builds from unknown file-sharing sites, especially if Windows SmartScreen or your antivirus warns about the archive.

Find the IP Address of the Windows PC That Will Run iperf3 Server

Choose one computer as the server. On that PC, find its local IPv4 address. You will use this address from the second computer when starting the client test.

On the server computeripconfig

Look for your active adapter, such as Ethernet adapter or Wireless LAN adapter Wi-Fi, and note the value next to IPv4 Address. It usually looks like 192.168.1.10, 192.168.0.25, or 10.0.0.15.

Value Example What it means
IPv4 Address 192.168.1.10 Address of this PC inside your local network.
Subnet Mask 255.255.255.0 Computers with similar addresses are usually on the same local subnet.
Default Gateway 192.168.1.1 Your router or gateway address.

Allow iperf3 Through Windows Defender Firewall

By default, iperf3 server mode listens on port 5201. When you start the server for the first time, Windows may show a firewall prompt. Allow access on Private networks only, not public networks.

✅
Recommended Make sure your current network profile is Private before allowing inbound test traffic. Do not expose iperf3 server mode to an untrusted public network.

If the prompt does not appear or the test fails with a connection error, create a rule manually from an elevated PowerShell window on the server computer:

Run as Administrator on the server PCNew-NetFirewallRule -DisplayName "iperf3 TCP 5201" -Direction Inbound -Program "C:\Tools\iperf3\iperf3.exe" -Action Allow -Profile Private

If you use a custom port, adjust the rule name and test command accordingly. For most home and office LAN checks, the default port 5201 is fine.

Start iperf3 Server Mode on the First Windows Computer

On the first computer, open a terminal in the iperf3 folder and start server mode. Leave this window open while you run tests from the second computer.

On Computer A — servercd C:\Tools\iperf3
.\iperf3.exe -s

You should see a message indicating that the server is listening. If the server starts correctly, move to the second computer and run the client command.

Tip: If another program is already using port 5201, start iperf3 on a different port: iperf3.exe -s -p 5002. The client must then use the same port with -p 5002.

Run a TCP Speed Test Between Two Windows PCs

On the second computer, run iperf3 in client mode. Replace 192.168.1.10 with the real IPv4 address of the server computer.

On Computer B — clientcd C:\Tools\iperf3
.\iperf3.exe -c 192.168.1.10 -t 30

This runs a 30-second TCP test from the client to the server. For fast networks, especially 1 Gbps, 2.5 Gbps, or Wi-Fi 6/6E links, you can test multiple parallel streams:

TCP test with 4 parallel streams.\iperf3.exe -c 192.168.1.10 -t 30 -P 4

Parallel streams can help reveal the maximum available throughput, but they are not the same as a single real file transfer. Record both results: one stream and several streams.

Command option Example Purpose
-c -c 192.168.1.10 Connect to the iperf3 server.
-t -t 30 Run the test for 30 seconds.
-P -P 4 Use several parallel streams.
-f -f m Show results in Mbits/sec.

Test Download Speed and the Opposite LAN Direction with iperf3

The normal client command sends traffic from the client to the server. To test the opposite direction, add -R. This is useful because Wi-Fi, drivers, cables, switches, and security software can behave differently depending on direction.

Reverse direction test.\iperf3.exe -c 192.168.1.10 -t 30 -P 4 -R

Compare the forward and reverse numbers. A big difference usually points to an asymmetric Wi-Fi link, driver problem, energy-saving network adapter setting, duplex issue, or one weak computer.

âŦ†ī¸ Forward Client sends to server
âŦ‡ī¸ Reverse Server sends to client
â†”ī¸ Compare Both directions should be reasonably close on wired LAN

Run a UDP Test to Check Jitter and Packet Loss on Your LAN

UDP testing is useful for checking packet loss and jitter, especially for gaming, VoIP, video calls, streaming, and Wi-Fi stability. Unlike TCP, UDP does not automatically slow down and retransmit in the same way, so you must choose a target bitrate.

UDP test at 100 Mbit/s.\iperf3.exe -c 192.168.1.10 -u -b 100M -t 30

Start with a conservative value such as 50M or 100M, then increase it gradually. If packet loss appears, the chosen bitrate may be too high for the current link, or the network may be unstable.

âš ī¸
Do not overload the network UDP tests can generate traffic at the rate you specify. Avoid running very high UDP rates on a shared office or public network unless you control the environment.

How to Test Wi-Fi and Ethernet Correctly with iperf3

To understand where the bottleneck is, test in stages. Do not start with two Wi-Fi computers, because that mixes two wireless links and makes the result harder to interpret.

Test 01

Wired baseline

Connect both computers by Ethernet through the same switch or router. This gives you the cleanest baseline for the local network.

Best baseline
Test 02

One wired, one Wi-Fi

Keep the server wired and test from a Wi-Fi client. This measures the wireless client link more clearly.

Best Wi-Fi check
Test 03

Both computers on Wi-Fi

Use this only after the first two tests. The result includes airtime contention and performance of both wireless adapters.

Real-world test

For Wi-Fi, repeat the test at least three times: near the router, in the normal working location, and behind walls or furniture if that is where the PC is usually used.

How to Interpret iperf3 LAN Speed Test Results

The most important number is bits/sec, usually displayed as Mbits/sec or Gbits/sec. Do not confuse bits with bytes: file managers often show MB/s, while iperf3 usually shows Mbits/sec.

Conversion: 800 Mbits/sec is approximately 100 MB/s before protocol overhead and real-world file-copy limitations.
Observed result Possible meaning What to check next
900–950 Mbits/sec on 1 Gbps Ethernet Normal result for a good wired gigabit link. No network problem is likely.
Around 90–95 Mbits/sec One link may be negotiating at 100 Mbps. Cable category, switch port, adapter speed, damaged connector.
Good TCP, poor file copy Network path is probably fine. Disk speed, SMB, antivirus, folder permissions, CPU usage.
High UDP packet loss Bitrate is too high or link quality is poor. Wi-Fi signal, interference, router load, driver updates.
Forward fast, reverse slow Asymmetric problem between adapters or Wi-Fi directions. Drivers, power saving, signal quality, router firmware.

For a saved machine-readable result, use JSON output:

Save iperf3 result as JSON.\iperf3.exe -c 192.168.1.10 -t 30 -P 4 -J > lan-test-result.json

Troubleshooting Common iperf3 Errors on Windows

Connection refused

This usually means the server is not running, the wrong IP address was used, or iperf3 is listening on a different port.

Check the server again.\iperf3.exe -s

Connection timed out

The most common causes are Windows Defender Firewall, third-party firewall software, wrong network profile, VPN routing, or computers being on different subnets.

Basic connectivity check from the clientping 192.168.1.10

Very low speed on Ethernet

Check the negotiated link speed in Windows. Open Settings → Network & Internet → your adapter → hardware properties, or use PowerShell:

Check adapter link speedGet-NetAdapter | Select-Object Name, Status, LinkSpeed

Wi-Fi result changes every run

This is normal to a degree. Wi-Fi performance changes with signal quality, channel congestion, distance, roaming behavior, power saving, Bluetooth interference, and other clients sharing the same access point.

iperf3 works only when firewall is disabled

Do not leave the firewall disabled. Create a targeted inbound rule for iperf3.exe on the Private profile, then turn the firewall back on.

FAQ: Testing a Local Windows Network with iperf3

Q Is iperf3 better than copying a large file over the network? ⌄
It tests a different layer. iperf3 is better for isolating raw network throughput. File copying is better for testing the whole real-world path, including SMB, disks, antivirus, permissions, CPU load, and Explorer behavior.
Q Which computer should be the iperf3 server? ⌄
Either computer can be the server. For Wi-Fi diagnostics, it is usually better to make the wired computer the server and the Wi-Fi computer the client, then repeat the test with -R.
Q What port does iperf3 use by default? ⌄
The default iperf3 server port is 5201. If you change the port on the server with -p, you must use the same port on the client.
Q Should I use TCP or UDP for LAN testing? ⌄
Use TCP first to estimate practical throughput. Use UDP when you specifically need to check jitter and packet loss for real-time traffic such as calls, games, or streaming.
Q Why is my 1 Gbps network not showing exactly 1000 Mbits/sec? ⌄
Protocol overhead, CPU load, drivers, adapter features, switches, and Windows networking stack behavior reduce the practical result. A stable result around 900–950 Mbits/sec is usually normal for a healthy gigabit Ethernet connection.

Bottom line

To test a local network between two Windows computers with iperf3, run iperf3.exe -s on one PC, run iperf3.exe -c SERVER_IP -t 30 on the other PC, then repeat with -R, -P 4, and a controlled UDP test if needed. Compare wired and wireless results separately so you can identify whether the bottleneck is the cable, switch, router, Wi-Fi, firewall, driver, or file-sharing layer.