When ROMA start up in their servers, it is required to pay attention to the FD(file descriptor) size which the roma processes can keep.
Why is Important the FD size?
A ROMA process sets up a number of connections to each client process and each other ROMA processes(The number of FD is increased).
When the ROMA process uses the connections to reach the FD upper limit value, the ROMA process can not set up the more connection by OS.
In this case, the client process could not access data of ROMA, and ROMA could not share the information between all ROMA processes.
And it is cause of an incorrect detection of problems.
How to Estimate the FD size for ROMA process?
The necessary FD size for ROMA processes depends on the number of ROMA processes and ROMA client instances.
We explain about how to calculate FD size by way of example Java Client
[ The number of ROMA client instances ] * [ The number of connections from the ROMA clients ] + ( [ The number of ROMA instances ] - 1 ) * [The number of connections between ROMA processes ] * 2
The last doubling means that there are 2 directions ( input and output ).
ROMA Java client has 30 connections per ROMA instance by default.
And, each ROMA instance has 12 connections per other ROMA instance by default.
If there are 10 ROMA client instances and 20 ROMA instances, then the estimated FD size is below.
10 * 30 + (20 - 1) * 12 * 2 = 756
ROMA Client process
[ The number of ROMA instances ] * [ The number of the client connections to a ROMA instance ]
ROMA Java client has 30 connections per ROMA instance by default. If there are 20 ROMA instances, then the estimated FD size is below.
20 * 30 = 600
How to confirm and change FD limit?
- Confirming the current FD size
- Configure the new FD size
Login the target server, and enter the following command of bash:
$ ulimit -n
Enter the following command:
$ ulimit -n <the new value> or # vi /etc/security/limits.conf ###add below line <username> soft nofile <the new value> <username> hard nofile <the new value>