Date: Thu, 16 Jun 2022 22:00:25 +0100 From: "Alexander V. Chernikov" <melifaro@ipfw.ru> To: mike.jakubik@swiftsmsgateway.com Cc: freebsd-net <freebsd-net@FreeBSD.org> Subject: Re: Poor performance with stable/13 and Mellanox ConnectX-6 (mlx5) Message-ID: <C54B2F28-D02F-4589-82D7-1C84705C2C23@ipfw.ru> In-Reply-To: <1816e469bdf.126cdb81b2139485.369352368493375815@swiftsmsgateway.com> References: <1815e506878.cf301a5a1195924.6506017618978817828@swiftsmsgateway.com> <63396d47-3d0b-fd83-7b2e-ae5c02eeae2e@selasky.org> <18162979a8f.e81f383a1466900.9104319828015733292@swiftsmsgateway.com> <18162a4a3f6.10a1a03d11472072.3783895140221599214@swiftsmsgateway.com> <1816e469bdf.126cdb81b2139485.369352368493375815@swiftsmsgateway.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 16 Jun 2022, at 21:48, Mike Jakubik = <mike.jakubik@swiftsmsgateway.com> wrote: >=20 > After multiple tests and tweaks i believe the issue is not with the HW = or Numa related (Infinity fabric should do around 32GB) but rather with = FreeBSD TCP/IP stack. It's like it cant figure itself out properly for = the speed that the HW can do, i keep getting widely varying results when = testing. Below is an example of two tests, with about a 15 second break = in between the two. Does pinning iperf to a specific CPU core (or range) address the variety = part? e.g. cpuset -l 1 perf =E2=80=A6 The output you shared above shows CPU#83 as the core iperf is running = on. Just wondering whether the scheduler migrates iperf too often, = thrashing the caches. >=20 > [root@db-02 ~]# iperf3 -i 1 -t 30 -c db-01=20 > Connecting to host db-01, port 5201 > [ 5] local 192.168.10.31 port 49155 connected to 192.168.10.30 port = 5201 > [ ID] Interval Transfer Bitrate Retr Cwnd > [ 5] 0.00-1.00 sec 991 MBytes 8.32 Gbits/sec 268 579 = KBytes > [ 5] 1.00-2.00 sec 945 MBytes 7.93 Gbits/sec 369 777 = KBytes > [ 5] 2.00-3.00 sec 793 MBytes 6.65 Gbits/sec 60 1.03 = MBytes > [ 5] 3.00-4.00 sec 666 MBytes 5.59 Gbits/sec 203 976 = KBytes > [ 5] 4.00-5.01 sec 575 MBytes 4.78 Gbits/sec 202 1.13 = MBytes > [ 5] 5.01-6.00 sec 169 MBytes 1.43 Gbits/sec 134 699 = KBytes > [ 5] 6.00-7.00 sec 1.21 GBytes 10.4 Gbits/sec 383 1.08 = MBytes > [ 5] 7.00-8.00 sec 1.21 GBytes 10.4 Gbits/sec 0 1.16 = MBytes > [ 5] 8.00-9.00 sec 1.32 GBytes 11.3 Gbits/sec 124 780 = KBytes > [ 5] 9.00-10.00 sec 690 MBytes 5.79 Gbits/sec 316 605 = KBytes > [ 5] 10.00-11.00 sec 685 MBytes 5.75 Gbits/sec 97 854 = KBytes > [ 5] 11.00-12.00 sec 1.08 GBytes 9.30 Gbits/sec 383 538 = KBytes > [ 5] 12.00-13.00 sec 682 MBytes 5.72 Gbits/sec 88 870 = KBytes > [ 5] 13.00-14.00 sec 678 MBytes 5.69 Gbits/sec 123 964 = KBytes > [ 5] 14.00-15.00 sec 670 MBytes 5.62 Gbits/sec 290 763 = KBytes > [ 5] 15.00-16.00 sec 1.01 GBytes 8.71 Gbits/sec 228 1.08 = MBytes > [ 5] 16.00-17.00 sec 886 MBytes 7.44 Gbits/sec 118 615 = KBytes > [ 5] 17.00-18.00 sec 734 MBytes 6.16 Gbits/sec 291 902 = KBytes > [ 5] 18.00-19.00 sec 1.04 GBytes 8.96 Gbits/sec 212 323 = KBytes > [ 5] 19.00-20.00 sec 710 MBytes 5.96 Gbits/sec 193 547 = KBytes > [ 5] 20.00-21.00 sec 693 MBytes 5.82 Gbits/sec 370 942 = KBytes > [ 5] 21.00-22.00 sec 704 MBytes 5.91 Gbits/sec 80 1022 = KBytes > [ 5] 22.00-23.00 sec 1.26 GBytes 10.8 Gbits/sec 262 965 = KBytes > [ 5] 23.00-24.00 sec 828 MBytes 6.94 Gbits/sec 202 763 = KBytes > [ 5] 24.00-25.00 sec 774 MBytes 6.49 Gbits/sec 227 581 = KBytes > [ 5] 25.00-26.00 sec 734 MBytes 6.15 Gbits/sec 256 664 = KBytes > [ 5] 26.00-27.00 sec 753 MBytes 6.32 Gbits/sec 331 540 = KBytes > [ 5] 27.00-28.00 sec 764 MBytes 6.41 Gbits/sec 298 823 = KBytes > [ 5] 28.00-29.00 sec 757 MBytes 6.35 Gbits/sec 123 850 = KBytes > [ 5] 29.00-30.00 sec 754 MBytes 6.32 Gbits/sec 74 970 = KBytes > - - - - - - - - - - - - - - - - - - - - - - - - - > [ ID] Interval Transfer Bitrate Retr > [ 5] 0.00-30.00 sec 24.4 GBytes 6.98 Gbits/sec 6305 = sender > [ 5] 0.00-30.00 sec 24.4 GBytes 6.98 Gbits/sec = receiver >=20 > iperf Done. >=20 > [root@db-02 ~]# iperf3 -i 1 -t 30 -c db-01 > Connecting to host db-01, port 5201 > [ 5] local 192.168.10.31 port 25061 connected to 192.168.10.30 port = 5201 > [ ID] Interval Transfer Bitrate Retr Cwnd > [ 5] 0.00-1.00 sec 1.81 GBytes 15.5 Gbits/sec 0 1.11 = MBytes > [ 5] 1.00-2.00 sec 1.83 GBytes 15.7 Gbits/sec 0 1.11 = MBytes > [ 5] 2.00-3.00 sec 1.98 GBytes 17.0 Gbits/sec 0 1.11 = MBytes > [ 5] 3.00-4.00 sec 2.11 GBytes 18.1 Gbits/sec 0 1.11 = MBytes > [ 5] 4.00-5.00 sec 2.12 GBytes 18.2 Gbits/sec 0 1.11 = MBytes > [ 5] 5.00-6.00 sec 2.16 GBytes 18.5 Gbits/sec 0 1.11 = MBytes > [ 5] 6.00-7.00 sec 1.90 GBytes 16.3 Gbits/sec 0 1.12 = MBytes > [ 5] 7.00-8.02 sec 1.28 GBytes 10.8 Gbits/sec 0 1.12 = MBytes > [ 5] 8.02-9.00 sec 1.83 GBytes 16.0 Gbits/sec 0 1.17 = MBytes > [ 5] 9.00-10.00 sec 1.91 GBytes 16.4 Gbits/sec 0 1.20 = MBytes > [ 5] 10.00-11.00 sec 1.79 GBytes 15.3 Gbits/sec 0 1.60 = MBytes > [ 5] 11.00-12.00 sec 1.77 GBytes 15.2 Gbits/sec 0 1.60 = MBytes > [ 5] 12.00-13.00 sec 1.69 GBytes 14.5 Gbits/sec 0 1.61 = MBytes > [ 5] 13.00-14.00 sec 1.57 GBytes 13.5 Gbits/sec 0 1.61 = MBytes > [ 5] 14.00-15.00 sec 1.60 GBytes 13.8 Gbits/sec 0 1.61 = MBytes > [ 5] 15.00-16.00 sec 1.89 GBytes 16.2 Gbits/sec 0 1.61 = MBytes > [ 5] 16.00-17.00 sec 1.76 GBytes 15.1 Gbits/sec 0 1.61 = MBytes > [ 5] 17.00-18.00 sec 1.93 GBytes 16.6 Gbits/sec 0 1.61 = MBytes > [ 5] 18.00-19.00 sec 1.77 GBytes 15.2 Gbits/sec 0 1.61 = MBytes > [ 5] 19.00-20.00 sec 1.68 GBytes 14.5 Gbits/sec 0 1.61 = MBytes > [ 5] 20.00-21.00 sec 1.66 GBytes 14.3 Gbits/sec 0 1.61 = MBytes > [ 5] 21.00-22.00 sec 1.75 GBytes 15.1 Gbits/sec 0 1.61 = MBytes > [ 5] 22.00-23.00 sec 1.76 GBytes 15.1 Gbits/sec 0 1.61 = MBytes > [ 5] 23.00-24.00 sec 2.05 GBytes 17.7 Gbits/sec 0 1.61 = MBytes > [ 5] 24.00-25.00 sec 1.79 GBytes 15.4 Gbits/sec 0 1.61 = MBytes > [ 5] 25.00-26.00 sec 1.71 GBytes 14.7 Gbits/sec 0 1.61 = MBytes > [ 5] 26.00-27.00 sec 2.08 GBytes 17.9 Gbits/sec 0 1.61 = MBytes > [ 5] 27.00-28.00 sec 2.09 GBytes 18.0 Gbits/sec 0 1.61 = MBytes > [ 5] 28.00-29.00 sec 2.05 GBytes 17.6 Gbits/sec 0 1.61 = MBytes > [ 5] 29.00-30.00 sec 1.81 GBytes 15.6 Gbits/sec 0 1.61 = MBytes > - - - - - - - - - - - - - - - - - - - - - - - - - > [ ID] Interval Transfer Bitrate Retr > [ 5] 0.00-30.00 sec 55.2 GBytes 15.8 Gbits/sec 0 = sender > [ 5] 0.00-30.00 sec 55.2 GBytes 15.8 Gbits/sec = receiver >=20 > iperf Done. >=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C54B2F28-D02F-4589-82D7-1C84705C2C23>