Consultor Eletrônico



Kbase P107160: How to overcome the limit of file descriptors
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   12/8/2008
Status: Verified

GOAL:

How to overcome the limit of file descriptors

GOAL:

What to do if NFILES or NOFILES kernel parameter cannot be increased.

FACT(s) (Environment):

UNIX
Progress 9.x
OpenEdge 10.x

FIX:

The following solution is applicable when there are clients connecting in self service mode to the Progress database(s), i.e. there are clients running on the same machine as the database broker (DB Broker) and connecting without "-S" parameter to the database(s). Example of a self service connection to a database named sports:
mpro sports -p main.p

In order to need less file descriptors, the solution is to change from a self service (or "shared memory") connection to a remote (or "TCP") connection. The requirement is to have started a Remote Database Broker, with the "-S" parameter. Example of a Database broker started and a remote service connection to a database named sports:
proserve sports -S 7777
mpro sports -S 7777 -p main.p


With a remote connection to the database, the client processes (_progress, prowin32, _proapsv) will not access the database files and thus won't require a file descriptor for each database file but a single "Remote Server" process (_mproserv) will make this accesses for several clients. By default 5 clients maximum will share the same Remote Server; "-Ma" and ""-Mi" are the DB Broker parameters to use for changing the default setting for the Remote Servers. Example of a Database Broker started for having minimum 3 remote clients served by the same _mproserv process:
proserve sports -S 7777 -Mi 3