One important point before going any further: iPerf and iPerf3 are different tools. They are related, but iPerf3 is a newer implementation with different features, command syntax, and compatibility considerations. In this particular test, I used iPerf3 to generate traffic across the Wave Pro link. Running an upload test allowed me to see how much throughput the wireless connection could sustain, while a reverse test provided another perspective on the link's performance. UDP testing can also be useful when looking at packet loss, jitter, and other characteristics that aren't always obvious from a simple throughput test.
The real benefit of using iPerf3 during a wireless alignment is that you can turn an adjustment into something measurable. As the Wave Pro radios were being realigned, I could repeatedly run the tests and watch the results change. The graph above is a good example of why collecting this type of information can be useful. Instead of simply saying "the link looks better," I had actual test results showing the performance before, during, and after the alignment work. There are some pretty dramatic changes in the graph, which makes it much easier to identify when the link moved from a marginal state to a much better-performing state.
I also wanted the testing to be repeatable, so I used a Windows batch file together with Windows Task Scheduler. The scheduled task ran the iPerf3 tests every five minutes and saved the results to timestamped text files. This meant I didn't have to sit in front of the computer running tests all day while someone worked on the radios. The batch file performed upload, download, and UDP tests and recorded the output so it could be reviewed later. This is a simple technique, but it is surprisingly useful for wireless troubleshooting because it creates a historical record instead of relying on a single test taken at one particular moment.
The biggest lesson here is that testing provides evidence. Wireless signal strength, modulation information, channel utilization, and other radio statistics are all useful, but ultimately I want to know what the network can actually do. Using iPerf3 gives me a relatively simple way to generate controlled traffic and measure the resulting performance. Combining that with scheduled testing makes it possible to see trends and correlate performance with physical changes to the link. And, as usual with network troubleshooting, a graph is often much more convincing than saying, "Trust me, it got better."
Here is the chart I ended up creating from the csv file that the batch file created. You can clearly see where they made the alignment adjustment.
Example Windows batch file used for the testing:
@echo off
cls
setlocal
REM Get current date/time
for /f %%A in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd-HH-mm"') do set DATETIME=%%A
REM Output filename
set OUTFILE=%DATETIME%.txt
REM Run 10-second upload test
echo Running 10 second upload test... %time% %date%
echo %time% >> "%OUTFILE%"
iperf3 -c 10.10.0.200 >> "%OUTFILE%"
REM Run 10-second download test
echo Running 10 second download test... %time%
iperf3 -c 10.10.0.200 -R >> "%OUTFILE%"
REM Run UDP jitter and packet-loss test
echo Running UDP jitter and loss test... %time%
iperf3 -c 10.10.0.200 -u >> "%OUTFILE%"
echo Results saved to %OUTFILE%
type "%OUTFILE%"
endlocalRelated articles