ar51an / iperf3-win-builds Goto Github PK
View Code? Open in Web Editor NEWiperf3 binaries for Windows. Benchmark your network limits.
License: Apache License 2.0
iperf3 binaries for Windows. Benchmark your network limits.
License: Apache License 2.0
Thank you for providing these prebuilt iPerf3 binaries for Windows x86.
Is it possible for you to also provide binaries for Windows ARM?
With a 25Gb Mellanox ConnectX-6 NIC on both sides, I can transfer at ~3.13+ GB/s which is the same as 25Gb using SMB. Using iperf3
, I seem to be pretty restricted and am not sure why.
This 3.16
release is better than the 3.13
release though.
IPs: 10.1.0.6
and 10.1.0.12
on Linux and 10.1.0.49
and 10.1.0.55
on Windows. There are two IPs because there are two SFP28 adapters plugged in.
3.1.3
from iperf.frConnecting to host 10.1.0.6, port 5201
[ 4] local 10.1.0.55 port 54721 connected to 10.1.0.6 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 808 MBytes 6.78 Gbits/sec
[ 4] 1.00-2.00 sec 1.10 GBytes 9.39 Gbits/sec
[ 4] 2.00-3.00 sec 1015 MBytes 8.53 Gbits/sec
[ 4] 3.00-4.00 sec 1016 MBytes 8.53 Gbits/sec
[ 4] 4.00-5.00 sec 1.15 GBytes 9.90 Gbits/sec
[ 4] 5.00-6.00 sec 910 MBytes 7.64 Gbits/sec
[ 4] 6.00-7.00 sec 1011 MBytes 8.48 Gbits/sec
[ 4] 7.00-8.00 sec 964 MBytes 8.09 Gbits/sec
[ 4] 8.00-9.01 sec 701 MBytes 5.82 Gbits/sec
[ 4] 9.01-10.00 sec 644 MBytes 5.45 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 9.15 GBytes 7.86 Gbits/sec sender
[ 4] 0.00-10.00 sec 9.15 GBytes 7.86 Gbits/sec receiver
3.16
from this libraryConnecting to host 10.1.0.6, port 5201
[ 5] local 10.1.0.55 port 54577 connected to 10.1.0.6 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 1.90 GBytes 16.3 Gbits/sec
[ 5] 1.00-2.00 sec 2.16 GBytes 18.6 Gbits/sec
[ 5] 2.00-3.01 sec 2.73 GBytes 23.1 Gbits/sec
[ 5] 3.01-4.01 sec 2.27 GBytes 19.5 Gbits/sec
[ 5] 4.01-5.01 sec 2.30 GBytes 19.9 Gbits/sec
[ 5] 5.01-6.01 sec 2.62 GBytes 22.5 Gbits/sec
[ 5] 6.01-7.00 sec 2.01 GBytes 17.5 Gbits/sec
[ 5] 7.00-8.01 sec 2.25 GBytes 19.1 Gbits/sec
[ 5] 8.01-9.01 sec 2.46 GBytes 21.1 Gbits/sec
[ 5] 9.01-10.01 sec 2.20 GBytes 18.9 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.01 sec 22.9 GBytes 19.6 Gbits/sec sender
[ 5] 0.00-10.02 sec 22.9 GBytes 19.6 Gbits/sec receiver
Connecting to host 10.1.0.6, port 5201
[ 5] local 10.1.0.55 port 56395 connected to 10.1.0.6 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.01 sec 2.56 GBytes 21.8 Gbits/sec
[ 5] 1.01-2.01 sec 2.55 GBytes 22.0 Gbits/sec
[ 5] 2.01-3.01 sec 2.84 GBytes 24.4 Gbits/sec
[ 5] 3.01-4.01 sec 2.81 GBytes 24.1 Gbits/sec
[ 5] 4.01-5.01 sec 2.68 GBytes 23.1 Gbits/sec
[ 5] 5.01-6.01 sec 2.73 GBytes 23.6 Gbits/sec
[ 5] 6.01-7.00 sec 2.77 GBytes 23.9 Gbits/sec
[ 5] 7.00-8.00 sec 2.79 GBytes 23.9 Gbits/sec
[ 5] 8.00-9.00 sec 2.75 GBytes 23.7 Gbits/sec
[ 5] 9.00-10.01 sec 2.52 GBytes 21.5 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.01 sec 27.0 GBytes 23.2 Gbits/sec sender
[ 5] 0.00-10.01 sec 27.0 GBytes 23.2 Gbits/sec receiver
For whatever reason, the reverse mode is a lot slower in the newer release. I tripled-checked just to make sure I was seeing the versions correctly. I also re-ran the tests multiple times:
3.1.3
Connecting to host 10.1.0.6, port 5201
Reverse mode, remote host 10.1.0.6 is sending
[ 4] local 10.1.0.55 port 55203 connected to 10.1.0.6 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 1.26 GBytes 10.8 Gbits/sec
[ 4] 1.00-2.00 sec 1.35 GBytes 11.6 Gbits/sec
[ 4] 2.00-3.00 sec 1.46 GBytes 12.5 Gbits/sec
[ 4] 3.00-4.00 sec 1.37 GBytes 11.7 Gbits/sec
[ 4] 4.00-5.00 sec 1.29 GBytes 11.1 Gbits/sec
[ 4] 5.00-6.00 sec 1.27 GBytes 10.9 Gbits/sec
[ 4] 6.00-7.00 sec 1.31 GBytes 11.2 Gbits/sec
[ 4] 7.00-8.00 sec 1.28 GBytes 11.0 Gbits/sec
[ 4] 8.00-9.00 sec 1.23 GBytes 10.5 Gbits/sec
[ 4] 9.00-10.00 sec 1.42 GBytes 12.2 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 13.2 GBytes 11.4 Gbits/sec 1 sender
[ 4] 0.00-10.00 sec 13.2 GBytes 11.4 Gbits/sec receiver
3.16
Connecting to host 10.1.0.6, port 5201
Reverse mode, remote host 10.1.0.6 is sending
[ 5] local 10.1.0.55 port 55187 connected to 10.1.0.6 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 1013 MBytes 8.47 Gbits/sec
[ 5] 1.00-2.01 sec 1.25 GBytes 10.6 Gbits/sec
[ 5] 2.01-3.01 sec 1.13 GBytes 9.79 Gbits/sec
[ 5] 3.01-4.01 sec 1.17 GBytes 9.94 Gbits/sec
[ 5] 4.01-5.02 sec 1.37 GBytes 11.8 Gbits/sec
[ 5] 5.02-6.01 sec 1.14 GBytes 9.92 Gbits/sec
[ 5] 6.01-7.00 sec 1.13 GBytes 9.81 Gbits/sec
[ 5] 7.00-8.01 sec 1.29 GBytes 11.0 Gbits/sec
[ 5] 8.01-9.01 sec 1.19 GBytes 10.2 Gbits/sec
[ 5] 9.01-10.01 sec 1.16 GBytes 9.94 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.02 sec 11.8 GBytes 10.2 Gbits/sec 0 sender
[ 5] 0.00-10.01 sec 11.8 GBytes 10.2 Gbits/sec receiver
Connecting to host 10.1.0.6, port 5201
Reverse mode, remote host 10.1.0.6 is sending
[ 5] local 10.1.0.55 port 56464 connected to 10.1.0.6 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 1.26 GBytes 10.8 Gbits/sec
[ 5] 1.00-2.01 sec 1.28 GBytes 10.9 Gbits/sec
[ 5] 2.01-3.01 sec 1.31 GBytes 11.3 Gbits/sec
[ 5] 3.01-4.00 sec 1.27 GBytes 10.9 Gbits/sec
[ 5] 4.00-5.01 sec 1.27 GBytes 10.8 Gbits/sec
[ 5] 5.01-6.02 sec 1.34 GBytes 11.5 Gbits/sec
[ 5] 6.02-7.01 sec 1.32 GBytes 11.4 Gbits/sec
[ 5] 7.01-8.00 sec 1.27 GBytes 10.9 Gbits/sec
[ 5] 8.00-9.00 sec 1.33 GBytes 11.4 Gbits/sec
[ 5] 9.00-10.00 sec 1.31 GBytes 11.3 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 13.0 GBytes 11.1 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 12.9 GBytes 11.1 Gbits/sec receiver
Accepted connection from 10.1.0.12, port 44440
[ 5] local 10.1.0.49 port 5201 connected to 10.1.0.12 port 44450
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.01 sec 2.22 GBytes 18.9 Gbits/sec
[ 5] 1.01-2.01 sec 2.28 GBytes 19.5 Gbits/sec
[ 5] 2.01-3.01 sec 2.43 GBytes 20.9 Gbits/sec
[ 5] 3.01-4.00 sec 2.24 GBytes 19.4 Gbits/sec
[ 5] 4.00-5.01 sec 2.30 GBytes 19.6 Gbits/sec
[ 5] 5.01-6.00 sec 2.48 GBytes 21.6 Gbits/sec
[ 5] 6.00-7.01 sec 2.28 GBytes 19.6 Gbits/sec
[ 5] 7.01-8.01 sec 2.34 GBytes 20.0 Gbits/sec
[ 5] 8.01-9.01 sec 2.45 GBytes 21.1 Gbits/sec
[ 5] 9.01-10.00 sec 2.18 GBytes 18.9 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 23.2 GBytes 19.9 Gbits/sec receiver
Do you know why the reverse mode isn't as fast? Seems like transfers to my Windows box as an iperf3
server are much faster than reverse mode.
Version of iperf3:
iperf 3.16 (cJSON 1.7.15) (windows ver)
Hardware:
CPU: Intel Xeon Silver 4410Y2
Memory: 128GB(DDR5 4000Mhz 16GB32)
HBA: Intel E810 100G
Operating system (and distribution, if any):
Windows Server 2022
PS:I know there's a note that there won't be Windows support, but since I had the problem I thought I'd raise it here and it's okay if it doesn't work out.
Other relevant information (for example, non-default compilers,
libraries, cross-compiling, etc.):
https://github.com/ar51an/iperf3-win-builds
Please fill out one of the "Bug Report" or "Enhancement Request"
sections, as appropriate. Note that submissions of bug fixes, new
features, etc. should be done as a pull request at
https://github.com/esnet/iperf/pulls
Bug Report
Expected Behavior
Server CPU usage same as Client CPU usage.
Actual Behavior
Server CPU usage 100%
Client CPU usage 12%
The difference between the two sides is too great, resulting in low performance on the server side.
Steps to Reproduce
Server cmd> iperf.exe -s
Client cmd> iperf.exe -c IP -P 128 --bidir
Possible Solution
Optimize the workflow of iperf -s
Enhancement Request
Current behavior
Desired behavior
Maximize the performance of bidirectional testing
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.