Thread (4 messages) flat view 4 messages, 2 authors, 2021-02-25

Re: High (200+) XFRM interface count performance problem (throughput)

From: Eyal Birger <hidden>
Date: 2021-02-24 08:17:01

Hi Vinš,

On Tue, Feb 23, 2021 at 9:52 PM Vinš Karel [off-list ref] wrote:
Hello,

I would like to ask you for help or advise.

I'm testing setup with higher number of XFRM interfaces and I'm facing throughput degradation with a growing number of created XFRM interfaces - not concurrent tunnels established but only XFRM interfaces created - even in DOWN state.
Issue is only unidirectional - from "client" to "vpn hub". Throughput for traffic from hub to client is not affected.

XFRM interface created with:
for i in {1..500}; do link add ipsec$i type xfrm dev ens224 if_id $i  ; done

I'm testing with iperf3 with 1 client connected - from client to hub:
2 interfaces - 1.36 Gbps
100 interfaces - 1.35 Gbps
200 interfaces - 1.19 Gbps
300 interfaces - 0.98 Gbps
500 interfaces - 0.71 Gbps

Throughput from hub to client is around 1.4 Gbps in all cases.

1 CPU core is 100%

Linux v-hub 5.4.0-65-generic #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Can you please try with a higher kernel version (>= 5.9)?
We've done some work to improve xfrm interface scaling
specifically e98e44562ba2
("xfrm interface: store xfrmi contexts in a hash by if_id").

Thanks,
Eyal.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help