Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
Currently, kafka has a default config receive.buffer.bytes=64k, which translates to SO_RCVBUF = 65536. As a result, the Linux kernel can't auto tune the receive window. This will cripple performance in many scenarios, especially for internet traffic.
In our environment, we have seen a timeout after a kernel patch that makes the initial receive window 25% instead of 50% of SO_RCVBUF, together with the default request.timeout.ms=30000, it causes an application-level timeout.
See also https://lore.kernel.org/all/20240409164355.1721078-1-hli@netflix.com/