Details
-
Improvement
-
Resolution: Done
-
Major - P3
-
None
-
None
Description
Each connection requires a thread, and each thread requires (at least) two Linux kernel page "maps" (one for the stack, and one for thread-local storage, I believe). The sysctl tunable vm.max_map_count is the maximum number of such maps that any process on the system can have. This means that the maximum number of connections is limited to at most half vm.max_map_count (less in general because of mmapped files and/or other maps that might be needed).
Thus the sysctl vm.max_map_count should be added to the list of other sysctl tunabled in the Production Checklist, along with a suggested "good starting point" of 65535. (It might also help to clarify that these are sysctl settings.)