Storage servers rlimit on number of open files is smaller than necessary
Created by: exarkun
The rlimit on number of open files controls how many connections a particular storage server can accept (factoring in the number of non-connection files the server needs open - eg for logging, reading and writing shares, etc).
Once the maximum number of open files, as controlled by rlimit is reached, service suffers dramatically. New connections cannot be accepted. Shares cannot be read or written.
The current limit on open files is 8192 (2^13). This could easily be raised. If it is raised to 2^16 then the rlimit is approximately equal to the limit imposed by TCP (which only has around 2^16 ports available per IP address). If we want each connection to also be able to read or write a share file, a limit of 2^15 would allow this. Then, we should scale the limit linearly with the number of IP addresses available. If the service can be reached on 2 IP addresses, allow twice as many files (2^15 * 2 = 2^16). If it can be reached on 3 IP addresses, (2^16 * 3). etc.
There is only one IPv4 address assigned to each host right now. So it makes sense to have the limit be 2^15 right now.