[OpenIndiana-discuss] 10G/40G net perf - what are you doing?

Jason Matthews jason at broken.net
Sun Nov 8 19:13:43 UTC 2020


*So my 10G/40G network performance sucks. I have a combination of 
Chelsio and Intel 10 and 40G NICs. The 10G Intels do a little better. I 
have dug deeper into systems with Chelsio cards than Intel cards but 
what I found is that the receive buffer on the Chelsio card fills up and 
then it starts sending flow control frames. I have been unable to alter 
this behavior. I would say the average top rate for Chelsio is about 
3Gbps (independent of whether it is a 10G/40G card)and the Intel cards 
and reach but cannnot sustain 5Gbps and then regress towards 3Gbps.

The base use case is backing up data to four systems. Some of them are 
Intel/Kontron S5520UR with X5650 CPUs and Chelsio T520-LL-CR cards  and 
the others are SuperMicro H11SSL-C EPYC 7401 based systems with 
T580-SO-CR 40G cards all connected to Force10/Dell S4048-ON switches. No 
errors on any interfaces other than flow control frames coming from the 
servers. The performance is the same running back to back on 10G or 40G.

I setup two systems back to back and had Chelsio login to take a look. 
They they set some tcp buffers and locked one ore more CPUs to the NICs 
and then gave up. Here are somethings that I have tried.

*

*   ndd -set /dev/tcp tcp_fin_wait_2_flush_interval 15000
    ndd -set /dev/tcp tcp_time_wait_interval 10000

    # default 128
    ndd -set /dev/tcp tcp_conn_req_max_q   4096

    # setup for high transaction volume and drop super slow talkers
    # default 1024
    ndd -set /dev/tcp tcp_conn_req_max_q0 98304

    # default 180000
    ndd -set /dev/tcp tcp_keepalive_interval  600000

    # default 180000
    ndd -set /dev/tcp tcp_ip_abort_cinterval 30000

    # default 60000
    ndd -set /dev/tcp tcp_rexmit_interval_max 240000

    # default 32768
    /usr/sbin/ndd -set /dev/tcp tcp_smallest_anon_port 2049

    # hpn-ssh related values
    ndd -set /dev/tcp tcp_recv_hiwat 491520
    ndd -set /dev/tcp tcp_xmit_hiwat 491520
    ndd -set /dev/tcp tcp_cwnd_max 655340
*

*   # disable lso
ndd -set /dev/ip ip_lso_outbound 0# increase tcp buffersipadm set-prop 
-p max_buf=4194304 tcp ipadm set-prop -p recv_buf=1048576 tcp ipadm 
set-prop -p send_buf=1048576 tcp What are you doing differently to get 
something near wired speed performance? I will take any delta I can get. 
Thanks,*

*j. *




More information about the openindiana-discuss mailing list