Giter VIP home page Giter VIP logo

iperf3-win-builds's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iperf3-win-builds's Issues

Fixes speed issues with iperf3 3.1.3

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.

Forward Send

Official 3.1.3 from iperf.fr

Connecting 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

Unofficial 3.16 from this library

Connecting 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

Reverse Send

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

Listening as server

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

Questions

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.

-P 128 --bidir iperf server-side CPU usage is too high, resulting in low performance

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

Implementation notes
Server

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.