TCP Socket Lookup Degradation and per-Netns Ehash - Kuniyuki Iwashima, Amazon Web Services
Channel: The Linux Foundation
Date: 2022-12-14

TCP Socket Lookup Degradation and per-Netns Ehash - Kuniyuki Iwashima, Amazon Web Services

The Linux kernel has global hash tables for TCP and UDP and links TCP/UDP sockets to the tables. The more the table is populated, the longer looking up a socket takes. On a service where a number of different workloads are running in a single host, they penalize each other and cause performance degradation. The regression might be caused by a single workload called Noisy Neighbour. For such a service, it is essential to isolate each workload and reduce the Noisy Neighbours' effect. This talk presents how a TCP socket is managed in the kernel, how a single TCP connection performance drops along the number of TCP sockets, and finally, the per-netns hash table that Kuniyuki Iwashima was proposing upstream to resolve the socket lookup degradation and was merged in v6.1.