When we are talking about speeds THIS high, your
single stream performance isn't going to be illustrative of your maximum performance with multiple clients. To set expectations here, this also likely translates to being unable to saturate a 100 Gigabit link from a single client in terms of file sharing, block devices, or whatever you are trying to do,
even if the backing pool can.
You should run your iperf3 client with parameters to test multiple streams. This documentation will confirm this.
https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf/multi-stream-iperf3/#:~:text=To run multiple iperf3 processes for a testing,iperf3 -c hostname -T s3 -p 5103 &;
For example, my production homelab SCALE box has a single 100 Gigabit Mellanox ConnectX4, plugged into a 40 gigabit port with a 40 gigabit DAC. I have an Epyc 7282 CPU so I'm not far off from you. My workstation has a EPYC 73F2 with a 25 Gigabit Mellanox ConnectX4 card, but I am using 10 Gigabit optics. It's also going through another switch, FWIW, so a bit of extra latency.
With only a single stream, I get:
Code:
C:\Users\nickf.FUSCO\Downloads\iperf-3.1.3-win64 (1)\iperf-3.1.3-win64>iperf3 -c prod.fusco.me
Connecting to host prod.fusco.me, port 5201
[ 4] local 10.69.10.57 port 49608 connected to 10.69.10.8 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 854 MBytes 7.17 Gbits/sec
[ 4] 1.00-2.00 sec 874 MBytes 7.33 Gbits/sec
[ 4] 2.00-3.00 sec 840 MBytes 7.04 Gbits/sec
[ 4] 3.00-4.00 sec 815 MBytes 6.83 Gbits/sec
[ 4] 4.00-5.00 sec 865 MBytes 7.26 Gbits/sec
[ 4] 5.00-6.00 sec 865 MBytes 7.25 Gbits/sec
[ 4] 6.00-7.00 sec 845 MBytes 7.09 Gbits/sec
[ 4] 7.00-8.00 sec 811 MBytes 6.80 Gbits/sec
[ 4] 8.00-9.00 sec 827 MBytes 6.94 Gbits/sec
[ 4] 9.00-10.00 sec 849 MBytes 7.12 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 8.25 GBytes 7.08 Gbits/sec sender
[ 4] 0.00-10.00 sec 8.25 GBytes 7.08 Gbits/sec receiver
iperf Done.
C:\Users\nickf.FUSCO\Downloads\iperf-3.1.3-win64 (1)\iperf-3.1.3-win64>
But if I set the streams to 10, as
@morganL suggests for 10 concurrent clients, I get closer to 10Gbit/sec
Code:
C:\Users\nickf.FUSCO\Downloads\iperf-3.1.3-win64 (1)\iperf-3.1.3-win64>iperf3 -c prod.fusco.me -P 10
Connecting to host prod.fusco.me, port 5201
[ 4] local 10.69.10.57 port 49690 connected to 10.69.10.8 port 5201
[ 6] local 10.69.10.57 port 49691 connected to 10.69.10.8 port 5201
[ 8] local 10.69.10.57 port 49692 connected to 10.69.10.8 port 5201
[ 10] local 10.69.10.57 port 49693 connected to 10.69.10.8 port 5201
[ 12] local 10.69.10.57 port 49694 connected to 10.69.10.8 port 5201
[ 14] local 10.69.10.57 port 49695 connected to 10.69.10.8 port 5201
[ 16] local 10.69.10.57 port 49696 connected to 10.69.10.8 port 5201
[ 18] local 10.69.10.57 port 49697 connected to 10.69.10.8 port 5201
[ 20] local 10.69.10.57 port 49698 connected to 10.69.10.8 port 5201
[ 22] local 10.69.10.57 port 49699 connected to 10.69.10.8 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 89.2 MBytes 749 Mbits/sec
[ 6] 0.00-1.00 sec 127 MBytes 1.07 Gbits/sec
[ 8] 0.00-1.00 sec 121 MBytes 1.01 Gbits/sec
[ 10] 0.00-1.00 sec 49.6 MBytes 416 Mbits/sec
[ 12] 0.00-1.00 sec 71.9 MBytes 603 Mbits/sec
[ 14] 0.00-1.00 sec 123 MBytes 1.03 Gbits/sec
[ 16] 0.00-1.00 sec 109 MBytes 911 Mbits/sec
[ 18] 0.00-1.00 sec 138 MBytes 1.16 Gbits/sec
[ 20] 0.00-1.00 sec 94.4 MBytes 792 Mbits/sec
[ 22] 0.00-1.00 sec 118 MBytes 993 Mbits/sec
[SUM] 0.00-1.00 sec 1.02 GBytes 8.74 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 1.00-2.00 sec 91.1 MBytes 764 Mbits/sec
[ 6] 1.00-2.00 sec 104 MBytes 877 Mbits/sec
[ 8] 1.00-2.00 sec 117 MBytes 984 Mbits/sec
[ 10] 1.00-2.00 sec 106 MBytes 886 Mbits/sec
[ 12] 1.00-2.00 sec 93.4 MBytes 783 Mbits/sec
[ 14] 1.00-2.00 sec 110 MBytes 923 Mbits/sec
[ 16] 1.00-2.00 sec 126 MBytes 1.05 Gbits/sec
[ 18] 1.00-2.00 sec 132 MBytes 1.10 Gbits/sec
[ 20] 1.00-2.00 sec 114 MBytes 957 Mbits/sec
[ 22] 1.00-2.00 sec 116 MBytes 976 Mbits/sec
[SUM] 1.00-2.00 sec 1.08 GBytes 9.31 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 2.00-3.00 sec 91.0 MBytes 763 Mbits/sec
[ 6] 2.00-3.00 sec 112 MBytes 941 Mbits/sec
[ 8] 2.00-3.00 sec 107 MBytes 900 Mbits/sec
[ 10] 2.00-3.00 sec 112 MBytes 938 Mbits/sec
[ 12] 2.00-3.00 sec 117 MBytes 984 Mbits/sec
[ 14] 2.00-3.00 sec 116 MBytes 973 Mbits/sec
[ 16] 2.00-3.00 sec 116 MBytes 974 Mbits/sec
[ 18] 2.00-3.00 sec 122 MBytes 1.03 Gbits/sec
[ 20] 2.00-3.00 sec 100 MBytes 839 Mbits/sec
[ 22] 2.00-3.00 sec 96.2 MBytes 807 Mbits/sec
[SUM] 2.00-3.00 sec 1.07 GBytes 9.15 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 3.00-4.00 sec 147 MBytes 1.23 Gbits/sec
[ 6] 3.00-4.00 sec 108 MBytes 904 Mbits/sec
[ 8] 3.00-4.00 sec 94.0 MBytes 789 Mbits/sec
[ 10] 3.00-4.00 sec 118 MBytes 988 Mbits/sec
[ 12] 3.00-4.00 sec 103 MBytes 862 Mbits/sec
[ 14] 3.00-4.00 sec 115 MBytes 962 Mbits/sec
[ 16] 3.00-4.00 sec 114 MBytes 955 Mbits/sec
[ 18] 3.00-4.00 sec 87.6 MBytes 735 Mbits/sec
[ 20] 3.00-4.00 sec 102 MBytes 860 Mbits/sec
[ 22] 3.00-4.00 sec 92.0 MBytes 772 Mbits/sec
[SUM] 3.00-4.00 sec 1.05 GBytes 9.06 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 4.00-5.00 sec 94.9 MBytes 796 Mbits/sec
[ 6] 4.00-5.00 sec 94.1 MBytes 789 Mbits/sec
[ 8] 4.00-5.00 sec 106 MBytes 888 Mbits/sec
[ 10] 4.00-5.00 sec 96.9 MBytes 813 Mbits/sec
[ 12] 4.00-5.00 sec 114 MBytes 955 Mbits/sec
[ 14] 4.00-5.00 sec 118 MBytes 990 Mbits/sec
[ 16] 4.00-5.00 sec 99.0 MBytes 830 Mbits/sec
[ 18] 4.00-5.00 sec 132 MBytes 1.10 Gbits/sec
[ 20] 4.00-5.00 sec 111 MBytes 930 Mbits/sec
[ 22] 4.00-5.00 sec 118 MBytes 988 Mbits/sec
[SUM] 4.00-5.00 sec 1.06 GBytes 9.08 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 5.00-6.00 sec 98.0 MBytes 822 Mbits/sec
[ 6] 5.00-6.00 sec 89.9 MBytes 754 Mbits/sec
[ 8] 5.00-6.00 sec 78.5 MBytes 659 Mbits/sec
[ 10] 5.00-6.00 sec 116 MBytes 972 Mbits/sec
[ 12] 5.00-6.00 sec 112 MBytes 944 Mbits/sec
[ 14] 5.00-6.00 sec 108 MBytes 903 Mbits/sec
[ 16] 5.00-6.00 sec 143 MBytes 1.20 Gbits/sec
[ 18] 5.00-6.00 sec 110 MBytes 921 Mbits/sec
[ 20] 5.00-6.00 sec 114 MBytes 957 Mbits/sec
[ 22] 5.00-6.00 sec 139 MBytes 1.17 Gbits/sec
[SUM] 5.00-6.00 sec 1.08 GBytes 9.30 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 6.00-7.00 sec 86.9 MBytes 729 Mbits/sec
[ 6] 6.00-7.00 sec 115 MBytes 967 Mbits/sec
[ 8] 6.00-7.00 sec 125 MBytes 1.05 Gbits/sec
[ 10] 6.00-7.00 sec 99.9 MBytes 838 Mbits/sec
[ 12] 6.00-7.00 sec 103 MBytes 864 Mbits/sec
[ 14] 6.00-7.00 sec 109 MBytes 911 Mbits/sec
[ 16] 6.00-7.00 sec 102 MBytes 853 Mbits/sec
[ 18] 6.00-7.00 sec 116 MBytes 976 Mbits/sec
[ 20] 6.00-7.00 sec 129 MBytes 1.08 Gbits/sec
[ 22] 6.00-7.00 sec 112 MBytes 943 Mbits/sec
[SUM] 6.00-7.00 sec 1.07 GBytes 9.22 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 7.00-8.00 sec 96.8 MBytes 811 Mbits/sec
[ 6] 7.00-8.00 sec 86.8 MBytes 727 Mbits/sec
[ 8] 7.00-8.00 sec 116 MBytes 973 Mbits/sec
[ 10] 7.00-8.00 sec 107 MBytes 899 Mbits/sec
[ 12] 7.00-8.00 sec 143 MBytes 1.20 Gbits/sec
[ 14] 7.00-8.00 sec 81.4 MBytes 682 Mbits/sec
[ 16] 7.00-8.00 sec 115 MBytes 964 Mbits/sec
[ 18] 7.00-8.00 sec 91.1 MBytes 764 Mbits/sec
[ 20] 7.00-8.00 sec 111 MBytes 933 Mbits/sec
[ 22] 7.00-8.00 sec 132 MBytes 1.11 Gbits/sec
[SUM] 7.00-8.00 sec 1.06 GBytes 9.07 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 8.00-9.00 sec 109 MBytes 911 Mbits/sec
[ 6] 8.00-9.00 sec 114 MBytes 959 Mbits/sec
[ 8] 8.00-9.00 sec 99.6 MBytes 836 Mbits/sec
[ 10] 8.00-9.00 sec 111 MBytes 928 Mbits/sec
[ 12] 8.00-9.00 sec 102 MBytes 854 Mbits/sec
[ 14] 8.00-9.00 sec 127 MBytes 1.07 Gbits/sec
[ 16] 8.00-9.00 sec 120 MBytes 1.01 Gbits/sec
[ 18] 8.00-9.00 sec 121 MBytes 1.01 Gbits/sec
[ 20] 8.00-9.00 sec 108 MBytes 902 Mbits/sec
[ 22] 8.00-9.00 sec 106 MBytes 887 Mbits/sec
[SUM] 8.00-9.00 sec 1.09 GBytes 9.36 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 9.00-10.00 sec 126 MBytes 1.06 Gbits/sec
[ 6] 9.00-10.00 sec 120 MBytes 1.00 Gbits/sec
[ 8] 9.00-10.00 sec 121 MBytes 1.02 Gbits/sec
[ 10] 9.00-10.00 sec 93.2 MBytes 782 Mbits/sec
[ 12] 9.00-10.00 sec 121 MBytes 1.01 Gbits/sec
[ 14] 9.00-10.00 sec 119 MBytes 995 Mbits/sec
[ 16] 9.00-10.00 sec 109 MBytes 913 Mbits/sec
[ 18] 9.00-10.00 sec 116 MBytes 974 Mbits/sec
[ 20] 9.00-10.00 sec 94.1 MBytes 790 Mbits/sec
[ 22] 9.00-10.00 sec 103 MBytes 861 Mbits/sec
[SUM] 9.00-10.00 sec 1.10 GBytes 9.41 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 1.01 GBytes 864 Mbits/sec sender
[ 4] 0.00-10.00 sec 1.01 GBytes 864 Mbits/sec receiver
[ 6] 0.00-10.00 sec 1.05 GBytes 899 Mbits/sec sender
[ 6] 0.00-10.00 sec 1.05 GBytes 899 Mbits/sec receiver
[ 8] 0.00-10.00 sec 1.06 GBytes 911 Mbits/sec sender
[ 8] 0.00-10.00 sec 1.06 GBytes 911 Mbits/sec receiver
[ 10] 0.00-10.00 sec 1009 MBytes 846 Mbits/sec sender
[ 10] 0.00-10.00 sec 1009 MBytes 846 Mbits/sec receiver
[ 12] 0.00-10.00 sec 1.06 GBytes 906 Mbits/sec sender
[ 12] 0.00-10.00 sec 1.06 GBytes 906 Mbits/sec receiver
[ 14] 0.00-10.00 sec 1.10 GBytes 944 Mbits/sec sender
[ 14] 0.00-10.00 sec 1.10 GBytes 944 Mbits/sec receiver
[ 16] 0.00-10.00 sec 1.13 GBytes 966 Mbits/sec sender
[ 16] 0.00-10.00 sec 1.13 GBytes 966 Mbits/sec receiver
[ 18] 0.00-10.00 sec 1.14 GBytes 977 Mbits/sec sender
[ 18] 0.00-10.00 sec 1.14 GBytes 977 Mbits/sec receiver
[ 20] 0.00-10.00 sec 1.05 GBytes 904 Mbits/sec sender
[ 20] 0.00-10.00 sec 1.05 GBytes 904 Mbits/sec receiver
[ 22] 0.00-10.00 sec 1.11 GBytes 951 Mbits/sec sender
[ 22] 0.00-10.00 sec 1.11 GBytes 951 Mbits/sec receiver
[SUM] 0.00-10.00 sec 10.7 GBytes 9.17 Gbits/sec sender
[SUM] 0.00-10.00 sec 10.7 GBytes 9.17 Gbits/sec receiver
You can parallelize the server side as well, see the link I posted above. The
scaling for 100 gigabit will indefinitely be higher than my results. But even with parallelization on both ends, I don't think you'll see 100 gigabit in this test. That statement is
regardless of the OS, TrueNAS or otherwise...
On the storage side of this conversation:
I have an Optane pool with 2 960GB mirrors (4 drives). Even that system - best case scenario in theoretical-land and not reality-ville - is probably less than 50 Gigabit's worth of pool.